繁体   English   中英

如何通过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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM