Git只提供消息

时间:2013-04-11 12:09:54

标签: git github bitbucket merge-conflict-resolution

我经常遇到这种情况,我不知道该怎么做。

  1. 我在一个分支中改变了一些东西。 Commited&推压。
  2. 我还在同一个分支上工作,有人提交了&推压。
  3. 我做了改变,并做了 git commit -m“Blabla”并推了推。
  4. Git拒绝推送,因为存储库已经提前,我可能会失去一些更改
  5. 我的想法是:

    • 前往 git commit -m“blabla”(< - 这就是我被困住的地方)
    • 藏匿更改
    • 从repo中提取最新更改
    • 将存储与工作目录合并
    • 再次提交

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

git reset HEAD~

这会将当前分支回滚到指向最近一次之前的提交,但保留索引和工作树不会超出其当前状态。