0

首先,如果我的问题措辞完全错误,我深表歉意,但希望这个扩展可以解决任何问题。

我每天都使用 Git,现在已经使用了大约 18 个月。我对分支、合并、变基等事情越来越有信心了,但其中一个看似更基本的方面已经让我忽略了……</p>

如何确保我处理的任何分支仅在其自身的远程版本和本地版本之间进行推送和拉取?

我以为我已经把它钉在了我的.gitconfig.

这似乎很好地尊重了推送......我确实尝试创建相应的 [pull] 设置,但运行以下工作流程给了我旧的“你让我拉而不告诉我你想与哪个分支合并......”错误。我提到的工作流程是:

  1. 查看我最新的本地主分支。
  2. try/responsive创建一个名为( git checkout -b try/responsive)的分支
  3. 做一些工作,git push(这里没有问题)。
  4. 其他人推送到远程try/responsive分支。
  5. 我运行一个简单的git pull,我得到了那个错误。

现在,我知道我可以运行git pull origin try/responsive,但我的问题是:

  • Git 默认是如何工作的?什么跟踪什么以及为什么?还有哪些其他选择?
  • 如何设置我的全局配置,以便推送和拉取仅在同一分支的本地和远程版本之间工作?

如果我错过了任何信息,并且如果我做的时间超过了我需要的时间,我深表歉意。我真的很感激对此的任何建议:)

谢谢,
哈利

4

1 回答 1

0

只需发出带有参数 -u (git push -u) 的 git push 命令。当你这样做时,你的本地分支将被设置为跟踪相应的远程分支。

默认情况下, git pull 仅在您的本地分支设置为跟踪某个远程分支时才有效。例如,如果您发出上述命令,或者如果您基于远程跟踪分支创建本地分支,就会发生这种情况。如果您基于本地分支创建分支,则不会配置跟踪。您还可以跟踪远程上与本地分支名称不同的分支,我不知道有任何限制这一点的可能性。

于 2012-11-29T21:24:11.517 回答