我在〜/ Documents / Share上有一个文件夹,其中包含我经常使用并且可以一起工作的类。我想在git子模块中转换该文件夹,然后在Xcode 5上导入它。我的想法是在很多项目中使用该git。
过去3个小时我一直在努力。我在网上尝试了十几条“简单”的说明,但都没有。
我该怎么做?我想要的只是创建一个本地子模块来处理本地项目。
请不要给出开放的外质解释...解释我就像我五岁(因为我之前从未使用过git)。
是的,我熟悉终端。
当我按照建议尝试执行git push时,我看到了这个错误:
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 292 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
答案 0 :(得分:3)
我不确定它是否以及如何与本地子模块一起使用,但我们会使用我们的bitbucket帐户执行类似操作。
要将文件夹转换为git存储库,请提交所有文件并将其推送到服务器上:
cd yourdirectory
git init (1)
git add . (2)
git commit -m "this is my commit message" (3)
git remote add origin <adress-of-your-remote-git-repository> (4)
git push (5)
您现在拥有一个包含所有文件的远程存储库。要在任何启用git的项目中将其用作子模块:
cd yourprojectdirectory
git submodule add <adress-of-your-remote-git-repository> (1)
git submodule update --init --recursive (2)
现在剩下的就是在finder中打开添加的子模块的文件夹,然后将该文件夹拖到Xcode项目中。
要使用本地项目中的某些更改来更新文件,您可以在项目中进行更改,然后执行以下操作:
cd yourprojectdirectory/yoursubmoduledirectory
git add changedfile.m
git commit -m "your commit message"
git push
当然,您必须将这些更改同步到其他项目中:
cd yourotherprojectdirectory/yoursubmoduledirectory
git pull