[英]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.