检查 git 当前文件版本以及如何处理已删除的文件
Check git current file version and how to handle removed files
我有一个 git 存储库,其日志历史记录如下所示。
../mypapers/Doc_thesis$ git log
commit 5bbb3681e1630a423f143a2e97350f463669c214
Author: ShijieXu <shijiexu@yahoo.com>
Date: Wed Nov 16 14:10:16 2016 -0400
Revist GraphJIT
commit e8ccd771208c5d328936422d60dcae2d3850e3a1
Author: ShijieXu <shijiexu@yahoo.com>
Date: Tue Nov 8 15:04:22 2016 -0400
version
commit c8f2313c324cd0a07e67eb07f060d319bb4faa69
Author: ShijieXu <shijiexu@yahoo.com>
Date: Wed Apr 13 11:03:53 2016 -0300
another chapter
我的问题是:
- 如何查看文件的当前版本?比如我一般都是用
git checkout c8f2313c324cd0a07e67eb07f060d319bb4faa69
来切换文件版本,那么在多次修改后,有什么办法可以查看当前文件是哪个版本?
更改提交号时如何处理一些删除的文件。例如,提交 e8ccd771208c5d328936422d60dcae2d3850e3a1
包含删除多个文件。在签出此提交然后返回 5bbb3681e1630a423f143a2e97350f463669c214
后,git status
将显示一些新文件,这些文件已全部删除。
git status
On branch final_thesis
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: #introduction.tex#
new file: UNBThesis2-1101.tex
new file: UNBThesis2_0430.pdf
new file: UNBThesis2_bak.tex
谢谢
这取决于您如何检出旧版本的文件:
git checkout SHA1
:您的索引处于分离的 HEAD 模式(您不再处于分支中)。
git diff yourBranch
应该向您展示分离的 HEAD 和分支之间的区别。
git checkout SHA1 -- afile
: 你只改变了一个文件的内容
git diff
在那种情况下就足够了。
如果您没有任何正在进行的工作,您可以(硬)重置为原始 SHA1:
git reset --hard original_SHA1
如果reset leaves untracked files behind,加一个git clean -fdx
。
我有一个 git 存储库,其日志历史记录如下所示。
../mypapers/Doc_thesis$ git log
commit 5bbb3681e1630a423f143a2e97350f463669c214
Author: ShijieXu <shijiexu@yahoo.com>
Date: Wed Nov 16 14:10:16 2016 -0400
Revist GraphJIT
commit e8ccd771208c5d328936422d60dcae2d3850e3a1
Author: ShijieXu <shijiexu@yahoo.com>
Date: Tue Nov 8 15:04:22 2016 -0400
version
commit c8f2313c324cd0a07e67eb07f060d319bb4faa69
Author: ShijieXu <shijiexu@yahoo.com>
Date: Wed Apr 13 11:03:53 2016 -0300
another chapter
我的问题是:
- 如何查看文件的当前版本?比如我一般都是用
git checkout c8f2313c324cd0a07e67eb07f060d319bb4faa69
来切换文件版本,那么在多次修改后,有什么办法可以查看当前文件是哪个版本? 更改提交号时如何处理一些删除的文件。例如,提交
e8ccd771208c5d328936422d60dcae2d3850e3a1
包含删除多个文件。在签出此提交然后返回5bbb3681e1630a423f143a2e97350f463669c214
后,git status
将显示一些新文件,这些文件已全部删除。git status On branch final_thesis Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: #introduction.tex# new file: UNBThesis2-1101.tex new file: UNBThesis2_0430.pdf new file: UNBThesis2_bak.tex
谢谢
这取决于您如何检出旧版本的文件:
git checkout SHA1
:您的索引处于分离的 HEAD 模式(您不再处于分支中)。git diff yourBranch
应该向您展示分离的 HEAD 和分支之间的区别。git checkout SHA1 -- afile
: 你只改变了一个文件的内容
git diff
在那种情况下就足够了。
如果您没有任何正在进行的工作,您可以(硬)重置为原始 SHA1:
git reset --hard original_SHA1
如果reset leaves untracked files behind,加一个git clean -fdx
。