簡體   English   中英

從提交ID到HEAD從分支到主節點自動對Git歷史記錄進行重設和壓扁

[英]Automatically Rebase and Squash Git History From a Commit ID to HEAD from Branch to Master

是否可以使用git rebase從特定提交到HEAD修訂中刪除所有歷史記錄?

使用git -i rebase ,您必須計算git log中的所有提交,並手動獲取除一次提交之前所有提交的壓榨,然后再推送更改。

是否可以單線執行以下操作:

  1. git rebase -i HEAD~4提交4次
  2. 在文本編輯器中,壓縮所有內容並保留一個選擇(我認為您必須至少選擇一個提交)
  3. git fetch origin更新參考
  4. git rebase origin/master將分支重新建立到master
  5. git checkout master切換到master分支
  6. git merge branch_name將分支合並到主git merge branch_name

是否可以用更少的步驟或其他標志來做到這一點?

除了git rebase -i您還可以運行git rebase --soft <commit-id>HEAD移到<commit-id>而不更改索引或工作樹,然后git commit創建一個新的提交,其中包含自<commit-id>

我相信您所追求的是git commit --fixup Thoughtbot關於自動執行此操作的文章可能會讓您感興趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM