[英]git mess -- how to unscramble cherry picked branches
我繼承了一個帶有五六個分支的 repo,這些分支沒有合並到 master 中,我必須弄清楚其中有什么。 我一直在使用 SourceTree 來獲得分支關系的圖形視圖。
不幸的是,看起來很多提交已經從分支 A 到分支 B 和 C 中被挑選出來,而來自分支 C 的其他提交被挑選到 A 中,但不是 B。然后,當然,其中很多都被挑選出來了入主。 所以......沒有明確的歷史或出處,至少對於我所知道的任何工具或日志選項,我真的沒有好的方法來確定是什么進入了主分支。
好消息是,如果消息與提交匹配的內容匹配,則cherry-pick 會保留提交消息以及我抽查過的消息。 我當前的攻擊計划包括依次檢查每個分支,將格式為--format="ts=%ci;sha=%h;lbl=%d;c=%s"的 git 日志放入名為分支名稱。 然后編寫一個 perl 腳本來檢查每條提交消息,從所有以分支命名的文件中對其進行 grep,以生成提交出現的分支列表。
除非有一些可視化工具可以在不同分支中精心挑選的提交之間划線? 那現在真的很有幫助。 可能是一個日志格式代碼,表明該提交是從該提交中挑選出來的,可能顯示原始提交的 sha。 哎呀,只是一個標記,這是一個精心挑選的提交而不是手動提交,這將幫助我確定我需要查看哪些!
在進行如此多的櫻桃采摘時,是否有人對如何協調提交歷史有任何其他建議?
試試git cherry foo bar
。
該命令列出了可以從bar
訪問的所有提交。 如果已將提交應用於foo
-
則有一個前導符號。 如果沒有,則有一個前導+
號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.