我已经找到了至少3种不同的方法来解决这个git问题,所以这不是这个问题。首先,问题是:
我有一个从我们的gitlab服务器克隆到我的笔记本电脑的repo。我在我的主分支中进行了更改,运行了“git checkout -b newBranchName”,并使用git gui,commit和push。但是“git pull”抱怨说“目前的分支机构没有跟踪信息......”这是真的。问题是.git / config确实没有我的newBranchName的条目。但我认为它应该。
虽然git非常适合与N遥控器一起使用,但它也做了一些假设。配置文件显示了几个带有默认(假设)值的变量,我喜欢它们。但我希望它也假设如果我的配置文件中只有一个遥控器,对于主机,那么对于我用“checkout -b”制作的任何新分支,它都是相同的遥控器。如果这是一个不正确的假设,我可以解决它。我只是不想每次都修复新的分支。
所以,我有两个问题。一,为什么git对我的新分支没有做出偏远的假设?二,我在创建新分支时做错了什么?
答案 0 :(得分:0)
就我而言,你并没有做任何错事。
您可以使用
为所有分支设置默认远程$ git config remote.pushdefault <remote name>
可以使用branch.<branch name>.pushremote
设置覆盖特定分支。
这只会让您在推送时提供遥控器的名称。你仍然需要告诉git设置跟踪分支,如果这是你想要的。您可以使用--set-upstream
或-u
来完成此操作。这实际上将branch.<branch name>.merge
选项设置为正确的值,但更方便。这仅用于推送,仅用于初始推送。第一次获取新分支时,git会自动设置跟踪信息(除非您更改branch.autosetupmerge
)。