gpt4 book ai didi

git - 推送功能分支时无法推送某些引用

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

如何避免在第二次推送功能分支时收到以下消息:

To https://github.com/xxx/git_test.git
! [rejected] feature_branch -> feature_branch (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxx/git_test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我的做法是:

git pull origin sprint_branch1
git checkout -b feature_branch

date > a.txt
git add a.txt
git commit -m 'added date'

git push origin feature_branch

有人对我的功能进行代码审查,同时有人对 sprint_branch 进行更改:

git checkout sprint_branch1
date > a.txt
git add a.txt
git commit -m 'added another date'
git push origin sprint_branch1

我需要改进我的功能,所以我这样做

git checkout feature_branch
git fetch origin
git rebase origin/sprint_branch1

我遇到 merge 冲突并执行:

nano a.txt # removing inserted merge tags
git add a.txt
git rebase --continue

然后我改进我的功能

date >> a.txt 
git add a.txt
git commit -m 'add another date again'

我喜欢推送我的 feature_branch 进行二次审核

git push origin feature_branch

但是我收到了顶部提到的错误消息。 Git 推荐我使用 git pull,但其他人推荐我使用 rebase 工作流程。那么我应该怎么做才能 push feature_branch?我应该创建一个名为 feature_branch_v2 的新分支并推送它吗?在这种情况下,我是否需要手动记住要 git 添加哪些文件,还是应该添加所有内容(造成困惑的提交)?有没有更好的推送方式而不会收到此错误消息?

最佳答案

这是你出错的地方:

git rebase origin/sprint_branch1

你不应该 rebase 已发布的分支。这个命令应该是一个

git merge origin/sprint_branch1

一般来说,你应该小心使用 git rebase——它似乎有某种宗教信仰,尽管它是一个非常危险的工具。

如何继续?

  • 如果您绝对确定没有其他人会再次接触功能分支并且自上次 pull 后没有人对其进行任何更改,您可以这样做

    git push -f

    这将用您的 HEAD 覆盖服务器上的 HEAD。

  • 如果您确定自上次 pull 后没有发生任何变化,但其他人使用您的分支,您可以执行上述操作并告诉每个拥有您分支副本的人他们需要运行

    git fetch origin
    git checkout feature_branch
    git reset --hard origin/feature_branch

    不过,这将清除自上次推送以来所有的本地更改。

  • 最安全的方法是将本地 feature_branch 重命名为其他名称,找到您添加的提交、当前 origin/feature_branch 的分支,以及cherry-pick 所有更改。

运行 gitk feature_branch origin/feature_branch 以了解正在发生的事情。

关于git - 推送功能分支时无法推送某些引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906704/

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