我有一个github回购在几个月内没有被推到(我知道,坏主意),在此期间已经完成了相当多的开发。我去了回购,我收到了这个错误:
error: failed to push some refs to
https://github.com/SteelcaseEbiz/PDE_UI_engine.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
这不重复。我问了一个非常具体的问题,见下文,没有人回答。
如果我按照它的建议进行拉动,我是否会将旧版本拉下来,从而覆盖我所做的所有更改?
答案 0 :(得分:1)
Git给出的消息很重要,但了解什么不仅仅是在屏幕上显示文本,更重要。
基本上是这种情况:在该远程存储库中,您尝试将其推送到本地没有的分支上的提交。
您是最初避免获取它们还是在您上次从存储库中获取它们之后将其添加到该存储库中并不重要,重要的一点是它们在那里,而您没有它们。
因此,要回答您的问题,如果您将这些提交拉入/合并到本地存储库中,我们将无法真正回答您的问题。
以下情况都是可能的,并且可能还有更多可能的情况:
简而言之,我们不可能告诉您结果如何。
但是不要担心,我喜欢Git的其中一件大事就是可以尝试。
请执行以下操作:
最坏的情况:您破坏了该副本/克隆。如果您认为自己只是搞砸了,请销毁该克隆,然后重试。如果您认为两个存储库无法通过合并进行对帐,那么现在您将对将会发生的事情有一个答案。
请注意,您实际上不必对克隆进行操作,可以在实际的本地存储库中清理合并后的合并,但是无论如何我还是建议您这样做,以确保您不会意外破坏任何重要的内容。