我不知道如何,但我有以下日志:
* 527795c - (HEAD, origin/master, master)
* b829011 - Merge branch 'master'
|\
| * 423e3aa - Some files added
| * b4c60f2 - Initial commit
* a838a27 - Initial commit
提交a838a27
和b4c60f2
是相同的(所有修改完全相同)。
如何删除提交a838a27
由于
答案 0 :(得分:3)
如果这些提交相同,那么b829011 - Merge branch 'master'
根本不是很有用。
您的历史记录可能只有b4c60f2
,423e3aa
和527795c
。
一个简单的解决方案是:
master
master old
分支
master
423e3aa
分支
527795c
master-old
master
推送到原点(注意:它会更改原点的历史记录,因此请务必警告已克隆上游仓库的任何用户进行更改)那是:
git branch -m master master_old
git checkout -b master 423e3aa
git cherry-pick 527795c
git branch -d master_old
git push --force -u origin master
在强制推送之前确保历史记录正确。
答案 1 :(得分:0)
如果您在此合并与527795c
(或其他任何人)之间有更多提交而不仅仅是HEAD
,那么要补充VonC的答案(会发表评论,不允许......)会找到的
git rebase
节省你每一个人的樱桃。
出现这种情况的一种方法是:git checkout --orphan new_branch