2017-10-09 51 views
0

我將項目從svn遷移到git。我可以使用gitlab查看任何文件或目錄的歷史記錄,但是當我嘗試在本地查看任何特定文件的歷史記錄時(例如,git log README.txt),它只顯示直到今天早上我所做的日誌。 (我想當時我錯誤地合併了一些東西)。我的問題是,我怎樣才能在本地存儲庫中查看文件的歷史記錄,因爲我可以遠程查看這些文件的歷史記錄?因爲所有的歷史都是遠程存在的,所以我認爲本地存儲庫應該存在問題。順便說一句,我是Git新手。可以遠程查看文件的歷史記錄,但不能在本地查看

回答

0
git log --follow README.txt 

是解決方案。

0

因爲git的核心是一個分佈式SCM,所以你需要確保你已經將所有的遠程更改「提取」到本地存儲庫中,然後才能看到你在遠程端看到的提交。

根據您的存儲庫配置方式(遠程名稱,分支名稱,您的本地分支是否「跟蹤」遠程分支),可能會能夠做到像以下:git pull。這將爲配置的remote tracking branch獲取併合並提交,假設已配置(您可以通過git branch -vv查看哪些本地分支正在跟蹤遠程分支)。

如果您的本地分支是而不是跟蹤遠程分支,則需要使用更具體的版本git pull將遠程提交合併到當前(本地)分支。如果您的遠程分支是master並且遠程的名稱是默認的origin,則這只是git pull origin master

如果您只想看到提交的日誌而根本不修改您的本地分支,則應該使用git fetch。同樣,如果遠程的名稱是默認的origin,並且遠程分支的名稱是master,則可以通過git fetch origin(檢索提交)然後git log origin/master(查看提交)來執行此操作。

+0

git log origin/master從頭開始顯示根文件夾的所有日誌,但是如果我鍵入git log folder1/README.txt,即使我可以遠程查看,仍然無法查看README.txt的歷史記錄。 – sanchop22

+0

'git log origin/master folder1/README.txt'? –

+0

相同,直到今天早上只有兩個日誌...另一方面,在gitlab上,我可以從2009年開始完全查看歷史記錄。 – sanchop22