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. 重新安排Git提交
- 6. 如何編輯交互式重新分配未提交的提交?
- 7. git:推送單個提交,重新排序,重複提交
- 8. 將本地Git提交到git-svn的一個提交中
- 9. 我如何在git中提交一個未提交的提交日期?
- 10. Git - 在提交時顯示提交者
- 11. git重新提交已還原的提交
- 12. GIT如何在不提交
- 13. 如何在本地提交Git文件?
- 14. Git:交互式重定義一系列提交
- 15. 是否可以在git中一次一個地提交提交,而不是同時提交所有提交?
- 16. 如何在一次提交中提交SVN和GIT?
- 17. 如何在git中一次提交一系列提交?
- 18. 本地提交後Git拉
- 19. Git恢復本地提交
- 20. Git - 幻影本地提交
- 21. git恢復已提交的提交
- 22. git是否提交整個提交行?
- 23. GIT - 每小時(提交和未提交)
- 24. 每週期提交Git提交
- 25. git看提交id的提交日誌
- 26. git rebase,提交重複
- 27. Git刪除重複提交
- 28. 提交代碼在Git中,分支在源頭提交一次提交
- 29. 如何恢復本地提交git
- 30. Git + Intellij - 如何恢復本地提交?
git rebase -i一定會讓你做到這一點;但不知道如何以非交互方式實現同一事物 – 2011-02-12 23:00:55
所有`git rebase`都使用`git format-patch`,然後`git am`來重新應用它們(可能以不同的順序)。不過,這是一個基本上互動的過程,因爲不按順序重新應用修補程序可能會失敗並需要用戶進行干預。 – 2011-02-13 02:24:43