我以前從未使用git subtree過,但我正在嘗試將 git 存盤庫遷移到我的代碼存盤庫中,如下所示:
C:\code>git subtree add -P database/scripts c:\git\other-repo HEAD -m="Migrate from other-repo"
我沒有收到任何錯誤,我可以看到所有提交合并到我的歷史記錄中,我可以看到合并歷史提交的差異,但是當我嘗試查看合并到(在 TortoiseGit 中)的單個檔案的日志時,它只顯示一次提交,而不是幾十個other-repo. 即使我可以看到存盤庫歷史記錄中存在提交和差異,也未顯示檔案的提交歷史記錄
我無法對提交進行截圖,但由于我沒有使用,--squash我想知道這是否是預期的。我誤解了子樹的作業原理嗎?
uj5u.com熱心網友回復:
在該合并提交期間,檔案也會“重命名”:位于that/file.sql原始存盤庫中的檔案現在位于database/scripts/that/file.sql.
嘗試運行:
git log --graph -- database/scripts/that/file.sql that/file.sql
您應該會看到對這兩個位置都有影響的提交。
git log還有一種默認情況下不處理合并提交的方法;以下選項組合似乎適用于我的機器:
# '--cc' is one of the options that tell git log to inspect the content of merge commits
git log --cc --follow --graph -- database/scripts/that/file.sql
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/380584.html
