我正在處理 branch feature-a,我需要對feature-b源代碼的不相關部分進行更改。我忘記(或太懶了)制作輔助作業樹,并編輯了一些應該在feature-b分支中更改的檔案。
我現在可以制作一個作業樹和rsync我對作業樹的未提交更改。或者我可以在當前分支上進行更改,然后git-cherry-pick/ 將git-rebase它們放到正確的位置。
但實際上我只是希望能夠做出feature-b反映我的編輯的提交,而無需實際更改分支、切換主作業樹的內容等。
這可以通過 Git CLI 實作嗎?
uj5u.com熱心網友回復:
是的,這是可能的。但是您將不得不使用 git 低級命令(又名git pumping)。基本任務是:
- 為更改的檔案創建新物件 (
git hash-object -w) - 為包含已更改檔案的目錄創建新樹 (
git write-tree) - 創建一個新的提交物件,參考根目錄的樹和適當的父提交 (
git commit-tree) - 將分支移動到該新提交
- 推動分支
請注意,對于最后兩個步驟,您可以使用高級 git 命令,前三個是棘手的。
第 10.2 章中的示例幾乎可以滿足您的要求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/403591.html
標籤:
