2017-10-09 23 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

相关问题