我刚刚在我的全局.gitconfig文件中敲了一下,我发现我已经设法最终得到了这个:
[branch]
  autosetupmerge = always
  autosetuprebase = always
这似乎有点违反直觉,但在做了一些阅读之后,我仍然不知道我是否需要两者,或者它是否足以删除autosetupmerge并保留autosetuprebase.我工作的大多数项目都有直接的下游 - >上游流程,因此在处理分支时通常首选变基.
las*_*lok 97
这里违反直觉的是这些偏好的命名.它们确实看起来像是指相同的功能,但事实上它们并没有:
autosetupmerge控制是否git branch和git checkout -b暗示--track选项,即您的设置always,
git checkout branchname,如果branchname存在于远程但不在本地,将创建branchname跟踪其远程对应物git checkout -b newbranchnewbranch在发出此命令之前,将创建一个新的分支跟踪您检出的分支autosetuprebase控制是否应将新分支设置为重新git pull设置,即您的设置always将导致分支设置为git pull始终执行rebase,而不是合并.(请注意,更改此选项时,现有分支会保留其配置.)因此,它可以完美的同时拥有autosetupmerge = always和autosetuprebase = always; 事实上,这也是我所拥有的.
gue*_*tli 32
因为这是第一次点击,如果你用谷歌搜索"autosetuprebase",这里有一个建议:
git config --global branch.autosetuprebase always
来源http://mislav.uniqpath.com/2010/07/git-tips/
小智 25
值得一提的是,autosetupmerge = always(在您的配置中)和autosetupmerge = true(默认值)之间存在差异.
true将仅为远程分支设置合并.总是会包括当地的分支机构.
你可能想要真实.
Via*_*iuk 22
当我在寻找"autosetuprebase"的其他可能选项时,花了一些时间才找到它们,这里它们是:
branch.autosetuprebase
当使用git branch或git checkout跟踪另一个分支创建新分支时,此变量告诉Git设置pull to rebase而不是merge(请参阅"branch..rebase").
never,rebase永远不会自动设置为true.local,对于其他本地分支的跟踪分支,将rebase设置为true.remote,变基被设置为true的远程跟踪分支跟踪分支.always,对于所有跟踪分支,rebase将设置为true.资料来源:http://git-scm.com/docs/git-config.html
| 归档时间: | 
 | 
| 查看次数: | 35229 次 | 
| 最近记录: |