簡體   English   中英

git mess - 如何解讀櫻桃采摘的樹枝

[英]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.

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