gpt4 book ai didi

git - 如何设置具有不同 pull/推上游的分支

转载 作者:太空狗 更新时间:2023-10-29 13:58:29 25 4
gpt4 key购买 nike

我有一个带有两个远程仓库的本地 git 仓库:upstream,原始的主要仓库,和 origin,我的 GitHub 分支。

我想创建基于 upstream/master 的新分支,将它们推送到 origin 以获取 PR,并定期从 upstream/master pull 新的更改

有没有办法设置我的分支,以便默认情况下发生这种情况?即:

$ git checkout -b my-new-branch --some-other-flags
$ git maybe some other command
# branch 'my-new-branch' points to 'upstream/master' and is checked out
# make changes, git commit
$ git push # pushes to origin/my-new-branch
$ git pull # pulls from upstream/master

最佳答案

以下似乎有效:

git config push.default 当前 && git config remote.pushdefault origin

然后,使用 git checkout -b new-branch upstream/master 创建分支。

git push 推送到 origin/my-branchgit pullupstream/master pull 。


对于基于其他本地分支而不是 upstream/master 的分支,事情似乎有点棘手。我可以 git config branch.autoSetupMerge always,但是分支会从它们开始的本地分支中提取,而不是 upstream/master。或者我可以在创建分支时使用 -u 显式地将上游设置为 upstream/master。不过,我不确定哪个更合适。

另一个烦恼是,当我 check out 一个有变化的分支时,git 有时会告诉我:

Your branch is ahead of 'upstream/master' by 7 commits. (use "git push" to publish your local commits)

但是 A) 我领先于我的上游很好,我正在等待将这些更改 merge 到 PR 中,并且 B) 更重要的是,git push 将推送到 new-branchorigin,而不是 master 在上游。

虽然这并不总是发生,所以我认为我在这里遗漏了一些其他变量。

关于git - 如何设置具有不同 pull/推上游的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45638858/

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