2017-04-17 74 views
0

我已經創建了文件和符號鏈接到我的git存儲庫中的文件。
symfile1 - >文件1
當我改變文件1,我可以通過 git的日誌文件1看到變化的歷史,
但我沒有看到相同的歷史,當我做 git的日誌symfile1
有什麼辦法查看真實文件的歷史變化,使用git log登錄它的符號鏈接?Git不使用符號鏈接顯示歷史記錄

問題只關聯歷史我可以使用symbolik1來查看file1的歷史更改嗎?

+0

可能重複[如何git處理符號鏈接?](http://stackoverflow.com/questions/954560/how-does-git-handle-symbolic-links) – DevDonkey

+0

可能重複[我怎麼能得到git遵循符號鏈接?](http://stackoverflow.com/questions/86402/how-can-i-get-git-to-follow-symlinks) – sschuberth

+0

你只需要檢查'symfile1',看它*是*一個符號鏈接,查看鏈接的目標是否在存儲庫中,然後查看鏈接目標的歷史記錄(假設目標位於存儲庫中;如果沒有,則目標文件的歷史記錄不在存儲庫)。 – torek

回答

1

否。符號鏈接根本沒有改變,它仍然指向相同的目的地。也不能告訴你,不應該。如果我看到git會在符號鏈接上標記更改,那麼只有當鏈接現在指向不同的文件名時。符號鏈接通常只涉及文件名,而不涉及文件內容。

這就是說,你可以創建一個簡短的bash腳本來做到這一點。然後你可以爲它創建一個git別名-scm.com/book/tr/v2/G。該腳本可以使用標準bash功能來查找鏈接目標,然後調用所需的適當git命令。

+0

難道沒有辦法說git(任何選項),我不想看到sym鏈接指向的文件的歷史記錄嗎? – Suren

+0

不可以。你可以編寫一個shell腳本來爲你做,但git本身不會。 – AnoE

+0

感謝您的回覆,是否可以掛鉤git日誌? – Suren

1

我想補充..

GIT把符號鏈接一樣它的任何文件,但它存儲它涉及到鏈接的內容。它沒有做的,就是按照鏈接,然後考慮目標。事實上,除了它所包含的鏈接的價值之外,它不知道目標。當你簽出時,GIT會重新創建那個帶有原始文件路徑的符號鏈接,但它根本不會考慮目標文件(除非它也在版本控制中,但會獨立於符號鏈接進行跟蹤)。

把它看作桌面上的一個快捷方式,它是一個文件。把它放到版本控制中,它會跟蹤快捷方式,而不是它指向的東西。

相關問題