如何从git log中检出git中的特定版本?
问题描述:
我的git的日志显示的东西如:如何从git log中检出git中的特定版本?
enter code here
[git_trial]$ git log
commit 4c5bc66ae50780cf8dcaf032da98422aea6e2cf7
Author: king <[email protected]>
Date: Thu Jun 30 15:09:55 2011 +0530
This is third commit
commit 8072be67ddd310bc200cab0dccb8bcb2ec4f922c
Author: king <[email protected]>
Date: Thu Jun 30 14:17:27 2011 +0530
This is the second commit
commit 3ba6ce43d500b12f64368b2c27f35211cf189b68
Author: king <[email protected]>
Date: Thu Jun 30 14:00:01 2011 +0530
This is the first git commit for file1
问题1)现在怎么只检出我的第一个版本? 问题2)另外当我这样做,git仅登录File1,为什么它只显示第一次提交?
[git_trial]$ git checkout 3ba6ce43d500b12f64368b2c27f35211cf189b68
Note: moving to "3ba6ce43d500b12f64368b2c27f35211cf189b68" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b <new_branch_name>
[git_trial]$ git log File1
commit 3ba6ce43d500b12f64368b2c27f35211cf189b68
Author: king <[email protected]>
Date: Thu Jun 30 14:00:01 2011 +0530
This is the first git commit for file1
答
您可以使用您已有的git checkout sha-of-commit
签出提交。
但是你不能提交任何东西(因为你不在分支中,你在静态提交中)。
如果您需要在该提交之上提交任何内容,则需要使用git checkout sha-of-commit -b testing-a-commit
将其签出到分支中。
git log <file>
只显示影响该文件的提交。
对不起,迟到的响应..网络太慢了。所以你的意思是,如果我创建一个分支,然后做我的第一次和连续的提交,那么我可以签出任何特定的版本? – kingsmasher1
什么是提交sha? – kingsmasher1
@ kingshasher1,sha = SHA1散列,如'3ba6ce43d500b12f64368b2c27f35211cf189b68'。 – Dogbert