我有一些Xcode项目我试图使用git从GitHub克隆,它也有外部子模块。每当我尝试克隆时,它会继续将这些外部子模块以及项目中的每个文件夹放在“(无分支)”而不是主文件上。这就是我在终端做的事情:
git clone git@github.com:******.git
cd ******
git submodule update --init
cd External/******
git submodule update --init
cd External/******
git submodule update --init
如果我进入任何文件夹并执行git分支,我会得到这个:
git branch
* (no branch)
master
有没有办法可以强制git clone在任何地方使用master分支?
答案 0 :(得分:9)
这需要 git 1.8.2 或更高版本(2013年3月)
这取决于.gitmodules
:
请参阅" git submodule tracking latest"
这将允许您关注主分支。
使用以下内容更新您当前的.gitmodules
git config -f .gitmodules submodule.<path>.branch master
git submodule update --remote --recursive
请注意,子模块仍然不会出现在任何分支上。只需他们的SHA1就是origin/master
中的一个
对于每个人,你仍然需要checkout master
。
git submodule foreach --recursive git checkout master