[英]Is it possible to squash two pushed commits from the same branch into a single commit with git?
[英]How can I make a single commit of specific branch from other pushed commits in Git?
我是Git的新手。
我有一个主要的分支“开发”,其中所有分支都将合并,并且我正在分支“ TESST123
”上工作
我已经完成了三个提交(使用: git commit -am "comment"
),并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
命令回答。
您可以使用git merge-base
在本地仓库中进行操作:
git checkout TESST123
git reset --soft `git merge-base TESST123 dev`
git commit -m 'All of TESST123'
但是,由于其历史已更改,您将需要强行推动分支。 仅当其他人克隆了您的远程仓库并从同一分支工作时,这才可能成为问题。
git push --force origin TESST123
您还可以在本地将一项提交合并到dev
:
git checkout dev
git merge TESST123
找到了另一种方法git rebase -i HEAD〜3
选择dfasdsad
挑选34sdsad3
选07834343
应用壁球将34sdsad3,0783434合并为dfasdsad
选择dfasdsad
壁球34sdsad3
壁球07834343
将最后两个提交合并为单个提交
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.