我如何从Git中的其他推送提交中对特定分支进行单个提交?



我是Git的新手。

我有一个主要分支"开发",其中所有分支将被合并我正在处理分支"TESST123"

我已经做了三个提交(使用:git commit -am "comment")和推(使用:git push origin TESST123)一个接一个,例如

Commit 07834343kfjsd948343243....
Author myname
date thu aug 14 17:20:37 2014
Commit 34sdsad32432432dfdsf....
Author myname
date thu aug 14 15:12:52 2014
Commit dfasdsadkfjsd948343243....
Author myname
date thu aug 14 00:08:06 2014 

我如何将所有这些提交合并到分支TESST123的单个提交中,然后再次推送,因此结果分支将包含一个包含所有应用更改的提交..

我搜索过壁球,但不太明白它的意思。

如果可能,试着用git命令回答

您可以在本地repo中使用git merge-base:

git checkout TESST123
git reset --soft `git merge-base TESST123 dev`
git commit -m 'All of TESST123'

你需要强制推你的分支,因为它的历史已经改变了。只有当其他人克隆了你的远程repo并从同一个分支工作时,这才会成为一个问题。

git push --force origin TESST123

你也可以在本地合并一个提交到dev:

git checkout dev
git merge TESST123

找到了另一种方法来获得rebase -i HEAD~3

选择dfasdsad

选择34 sdsad3

选07834343

使用squash将34sdsad3,0783434合并为dfasdsad

选择dfasdsad

南瓜34 sdsad3

南瓜07834343

将合并最后两个提交为一个提交

相关内容

  • 没有找到相关文章

最新更新