繁体   English   中英

如何强制git始终使用master分支?

[英]How do I force git to always use the master branch?

我有一些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分支?

这需要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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM