gpt4 book ai didi

git - `git pull` 不是 't merge, but ` git pull origin ` 是,为什么?

转载 作者:行者123 更新时间:2023-12-05 06:05:55 24 4
gpt4 key购买 nike

所有分支都是这样。看起来像 git pull出于某种原因停止将我当前的分支与最新的远程 merge 。一定是配置问题?当我做 git pull origin <branch-name>然后一切都按预期工作。

请注意,当我做 git st我得到以下信息:

$ git st
On branch <name>
Your branch is behind 'origin/<name>' by 139 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)

所以看起来分支被正确跟踪了。但是然后 git pull没有更新分支。

最佳答案

git pull结合了 git fetchgit merge .

默认有三级配置pull行为:

  • pull.rebase相当于git pull --rebase (将一系列提交 merge 为一个新的基本提交):

true ( git config branch.master.rebase true ) 在获取的分支之上重新设置分支,而不是 merge 默认分支

  • branch.autosetuprebase ( git config --global branch.autosetuprebase always ):

当使用 git branch 创建新分支时或 git checkout跟踪另一个分支,这个变量告诉 Git 将 pull 设置为 rebase 而不是 merge 当 never 时,rebase 永远不会自动设置为 true。在本地时,对于其他本地分支的跟踪分支,rebase 设置为 true。远程时,对于远程跟踪分支的跟踪分支,rebase 设置为 true。始终时,rebase 将对所有跟踪分支设置为 true。有关如何设置分支以跟踪另一个分支的详细信息,请参见“branch.autoSetupMerge”。此选项默认为从不。

  • branch.<branchname>.rebase :

当为 true 时,在获取的分支之上重新设置分支,而不是在运行“git pull”时从默认远程 merge 默认分支。

作为一方git config --help是你的 friend 。

关于git - `git pull` 不是 't merge, but ` git pull origin <branch-name>` 是,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65917338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com