gpt4 book ai didi

git - 查找错误来源 : git push rejected: error: failed to push some refs

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

在其中一个团队中,当使用 git 时,我们一次又一次地遇到“git push rejected: error: failed to push some refs”

To git@git.far-mteria.org:ledy/thakres.git ! [rejected]
b_stable -> b_stable (non-fast-forward) error: failed to push some refs to 'git@git.far-mteria.org:ledy/thakres.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

当然,我们可以继续使用“-f”,因为它只是一种快速的解决方案——不是真正的解决方案。

但是,我们想知道这是从哪里来的,或者拒绝的原因是什么。

git 不能详细说明它拒绝的原因,也许是导致冲突的文件?

我们怀疑 .gitignore 在另一个项目上引起了类似的问题。

最佳答案

Git 不会一次推送一个单独的文件,它推送完整的提交树,例如,“这是整个项目如何看待一个提交,然后在另一个提交时看起来像这样,现在终于看起来像这样”。

绘制为提交图,例如,这是非常线性的:

...--D--E--F--G    <-- master

被“拒绝”的是您提供的“最终”不是 Remote 之前的“最终”的“进步”,也就是说,您错过了一些某人的“进步” else 放入。你有:

...--D             <-- master

然后您添加了提交 EFG。但是当你这样做的时候,其他人选择了以 D 结尾的一系列提交并添加了他或她自己的提交 H:

...--D--H          <-- master

您打算丢弃 H 并使提交序列看起来像您的序列:D 后跟 E -through-G 一切都结束了。

Git 会告诉您分支名称,其中有您打算丢弃的进度,在本例中为mastergit fetch 进度然后保留它取决于你,也许通过 git merge 创建 merge 提交 M:

       H------
/ \
...--D M <-- master
\ /
E--F--G

或者也许通过在 H 之上“ rebase ”您的一系列提交:

...--D--H-E'-F'-G' <-- master

(其中 E'F'G' 是“E 中更改的内容”的版本、FG"进行了足够的更改,使它们应用在 H 之上——通常这只是提交父子关系,偶尔会有涉及更多的工作)。

关于git - 查找错误来源 : git push rejected: error: failed to push some refs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19868366/

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