31
A
回答
22
試試這個:
git reset --hard A
git cherry-pick C
git cherry-pick B
git cherry-pick D
可能有git rebase
一種方式,但我並沒有真正瞭解它。
38
在你的情況,你可以變基互動:git rebase -i HEAD~4
然後,你可以重新排列你挑選
例如讓三個文件添加到我們的分支:
git add A
git commit -m "A"
git add B
git commit -m "B"
git add C
git commit -m "C"
你shortlog將是:
$ git shortlog
(3):
A
B
C
如果要重新排序B帶C:
$ git rebase -i HEAD~2
pick 1f9133d B
pick 33f41be C
你只需重新排列它們是:
pick 33f41be C
pick 1f9133d B
你寫完後,看到shortlog:
$ git shortlog
(3):
A
C
B
你可以做同樣的事情再由所有提交-ordering。這就像你看到的是你得到的,這是非常酷:)
5
請參閱How do I run git rebase --interactive in non-interactive manner?以非交互方式使用git rebase --interactive。
然後,如果您有重新排序提交的正式標準,則可以編寫腳本,例如,請參閱Really flatten a git merge以按原始提交日期對提交進行重新排序。
相關問題
- 1. git非交互式地刪除提交
- 2. Git交互式底座重寫提交
- 3. 如何在git中提交提交?
- 4. git合併重新提交提交到另一個提交?
- 5. 如何編輯交互式重新分配未提交的提交?
- 6. 將本地Git提交到git-svn的一個提交中
- 7. git重新提交已還原的提交
- 8. 如何在本地提交Git文件?
- 9. Git:交互式重定義一系列提交
- 10. 是否可以在git中一次一個地提交提交,而不是同時提交所有提交?
- 11. 如何在git中一次提交一系列提交?
- 12. 如何在一次提交中提交SVN和GIT?
- 13. Git恢復本地提交
- 14. 本地提交後Git拉
- 15. Git - 幻影本地提交
- 16. git是否提交整個提交行?
- 17. git rebase,提交重複
- 18. Git + Intellij - 如何恢復本地提交?
- 19. git:如何「鞏固」本地提交
- 20. 如何恢復本地提交git
- 21. 如何搜索本地提交GIT
- 22. 如何防止在重新提交表單時重新提交表單?
- 23. worflow git:重新整理提交信息
- 24. 如何檢測表單提交超時並重新提交?
- 25. 如何運行git rebase交互模式以刪除重複的提交
- 26. 如何在向Gerrit提交上次提交後提交額外的提交?
- 27. 插入提交前根在Git中提交+不改變提交哈希
- 28. 我的提交在交互式重新分配期間如何丟失?
- 29. 我如何交互地重新綁定一個git主題分支而不計算提交?
- 30. git:編輯本地提交而不更改其提交ID
git rebase -i一定會讓你做到這一點;但不知道如何以非交互方式實現同一事物 – 2011-02-12 23:00:55
所有`git rebase`都使用`git format-patch`,然後`git am`來重新應用它們(可能以不同的順序)。不過,這是一個基本上互動的過程,因爲不按順序重新應用修補程序可能會失敗並需要用戶進行干預。 – 2011-02-13 02:24:43