0

我经常在这种情况下,我不知道该怎么办。

  1. 我在一个分支中被改变了一些东西。承诺并推动。
  2. 我仍在同一个分支上工作,有人提交并推动。
  3. 我完成了更改并做了git commit -m "Blabla"并推送了。
  4. Git 拒绝推送,因为存储库在前面,我可能会丢失一些更改

我的想法是:

  • Go pre git commit -m "blabla" (<- 这是我卡住的地方)
  • 存储更改
  • 从 repo 中提取最新更改
  • 将存储与工作目录合并
  • 再次提交

您如何解决此类“冲突”,或者在这种情况下最好的做法是什么?

4

2 回答 2

3

无需删除/存储您的提交。要解决冲突,请使用git pull --rebase第 3 步中的提交,并且您的第 3 步中的提交将自动重新设置(堆叠在)同事在第 2 步中的提交。重新设置后,您将能够在没有冲突的情况下推送。

于 2013-04-11T12:12:22.513 回答
0

一个答案提供了实现最终目标的更好方法,但您提出的问题的答案是:

git reset HEAD~

这将倒回您当前的分支以指向最近一个提交之前的提交,但保持索引和工作树与其当前状态保持不变。

于 2013-04-11T14:03:27.823 回答