XCode:使用命令行工具,如何从文件夹创建一个git并将其导入到项目中

时间:2013-10-20 13:37:24

标签: iphone ios xcode git xcode5

我在〜/ 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'.

1 个答案:

答案 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)
  1. 将您的目录转换为本地git存储库。
  2. 将目录中的所有文件暂存到git staging。
  3. 提交您的暂存文件。
  4. 将远程源添加到本地存储库。
  5. 将您的本地存储库推送到远程引用。
  6. 您现在拥有一个包含所有文件的远程存储库。要在任何启用git的项目中将其用作子模块:

    cd yourprojectdirectory
    git submodule add <adress-of-your-remote-git-repository> (1)
    git submodule update --init --recursive (2)
    
    1. 将远程存储库添加为新的git子模块。
    2. 初始化子模块,使其中包含实际内容。
    3. 现在剩下的就是在finder中打开添加的子模块的文件夹,然后将该文件夹拖到Xcode项目中。

      要使用本地项目中的某些更改来更新文件,您可以在项目中进行更改,然后执行以下操作:

      cd yourprojectdirectory/yoursubmoduledirectory
      git add changedfile.m
      git commit -m "your commit message"
      git push
      

      当然,您必须将这些更改同步到其他项目中:

      cd yourotherprojectdirectory/yoursubmoduledirectory
      git pull