放弃Git提交&合并功能分支回到Master

时间:2015-12-28 09:42:22

标签: git git-branch git-merge atlassian-sourcetree

enter image description here

  • 首先,我在Master分支上做了3次提交: Wijzing 1,2,3
  • 然后我提交了结帐 Wijziging 1
  • 然后我创建了一个新分支 new-feature 并开始进行更改。
  • 现在我要抛弃2个提交: Wijzing 2 Wijziging 3
  • 我想将新功能与Master合并。

更新

完成这些步骤后,我会执行以下操作:

git push -f

然后我点击SourceTree中的推送 enter image description here

更新 解决方案是强制推送:

if (position % 2 == 0){
    convertView.setBackgroundResource(R.color.colorNav);
    ((TextView) view.txtViewTitle).setTextColor(Color.WHITE);
} else {
    convertView.setBackgroundResource(R.color.colorWhite);
    ((TextView) view.txtViewTitle).setTextColor(Color.BLACK);

}

强行推后再次起作用。

enter image description here

2 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

git checkout master
git reset --hard HEAD^^
git merge new-feature

基本上,您需要将master分支指针移回两次提交,然后将new-feature分支合并到它。请注意git reset --hard是一个潜在危险的命令,因为它会丢弃对工作副本中跟踪文件的任何更改。

如果丢弃的提交已经被推送到遥控器,您可能需要进行强制推送:

git push -f 

答案 1 :(得分:1)

在您的特定情况下,一个简单的

git checkout new-feature
git branch -f master
git checkout master

后跟

git push -f

应该做的伎俩。 git branch -f命令只会将master分支指向当前HEAD,从而丢弃master的旧历史记录。