簡體   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