使用upsreamMode的git中的checkoutCommand有什么不同
TRACK,
NOTRACK,
SET_UPSTREAM;
创建或签出分支时它有不同的含义吗?
答案 0 :(得分:3)
当从远程跟踪分支启动本地分支时,Git设置分支(特别是branch..remote和branch..merge配置条目),以便git pull将从远程跟踪分支适当地合并。
考虑以下场景,在Git存储库中存在一个名为feature
的分支,并且您想从中创建一个本地分支:
git checkout origin/feature
git checkout -b feature
现在,本地分支feature
将跟踪对存储库中对应方所做的更改。这意味着当您的本地分支git pull
何时可以与远程同步。但是假设您不希望您的本地feature
分支跟踪任何内容。 Git文档说明:
可以使用--track和--no-track选项覆盖该设置,稍后使用git branch --set-upstream-to进行更改。
在我们的示例中,您可以通过以下方式实现此目的:
git checkout origin/feature
git checkout -b --no-track feature
现在,git pull
您的本地feature
分支将不会更新。
但是假设您稍后决定您确实希望您的本地feature
分支跟踪遥控器上的对应分支。然后你可以使用以下内容:
git checkout feature
git --set-upstream origin/feature