Git 查看文件的历史

简介:

用惯了tfs,刚一接触git感觉很不顺手,特别是一些很基本的操作,用起来都怪怪的(可能是不习惯命令行的原因吧)。
下面把查看文件历史的用例小结一下。


查看某个文件的修改历史

在git中查看历史的命令主要是git log,要查看某个文件的修改历史可以这样:

$ git log -- begin.txt

可以添加不同的选项让输出的内容或格式有所不同。

$ git log -p -- begin.txt

-p 选项可以输出每次提交中的diff, 但个人感觉会把输出搞得很长、很乱,不容易找到重点。
个人比较喜欢的方式是:

$ git log --pretty=oneline -- filename

在log 命令中加入 --pretty=oneline 选项会让结果看起来清爽一些,但是只能看到comments,看不到提交的用户和日期。
这也能够让我们集中注意力快速找到关注的提交记录。
然后使用 git show命令查看完整的提交内容。

当然,除了命令行工具您也可以使用GUI程序查看文件的历史记录:
gitk filename


查看历史中的文件内容

当我们使用 git log 命令找到了某次提交,并且想看看这次提交时文件的完整内容。
这时,我们需要使用 git show 命令:

$ git show xxxxx:filename

也许此时你并不是看看就算了,你想要使用这个版本的文件更新工作区中的文件。
直接从 git show 命令的输出中拷贝内容是个不错的选择。
但也可以通过组合使用不同的命令来实现:

$ git checkout <commit> --filename
$ git reset filename

此时只有工作区被更新了(你也可以把他当做是一次回滚操作)。

比较历史中不同的文件版本

我们经常使用版本控制工具来对比提交历史中的两个文件,下面看看用 git 怎么做:

$ git diff xxxx1 xxxx2 -- filename
,如需转载请自行联系原作者

相关文章
|
11月前
|
缓存 Shell 开发工具
git 基本 使用和.gitignore文件不生效
git 基本 使用和.gitignore文件不生效
174 0
|
2月前
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
82 28
|
3月前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
95 0
|
6月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
314 1
git学习三:git使用:删除仓库,删除仓库内文件
|
6月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
182 4
|
11月前
|
开发工具 git
如何使git提交的时候忽略一些特殊文件?
如何使git提交的时候忽略一些特殊文件?
|
6月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
85 1
|
8月前
|
缓存 开发工具 git
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
本文介绍了如何为Git仓库添加`.gitignore`文件来排除不需要跟踪的临时文件,并展示了如何删除已经被提交的临时文件缓存,以清理Git仓库中的不必要文件。
715 0
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
|
8月前
|
开发工具 git iOS开发
服务器配置Huggingface并git clone模型和文件
该博客提供了在服务器上配置Huggingface、安装必要的工具(如git-lfs和huggingface_hub库)、登录Huggingface以及使用git clone命令克隆模型和文件的详细步骤。
782 1
|
9月前
|
开发工具 git
git如何不上传指定的文件或文件夹
【7月更文挑战第9天】平时写代码的时候有很多测试文件或者静态文件,没必要上传到git上,不仅占资源更新还麻烦,以下介绍如何忽略不需要上传的文件或文件夹。
662 8

相关实验场景

更多