簡體   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