我克隆了某个项目的git存储库。我可以将文件转到初始状态吗?当我查看文件时,可以转到修订版2、3、4。。。最近?我想了解一下项目的发展情况。
当前回答
一种方法是创建所有对补丁的提交。检查初始提交,然后在阅读后按顺序应用补丁。
使用git格式补丁<初始修订版>,然后使用git签出<初始修订版本>。你应该在你的导演中得到一堆文件,以四位数字开始,这是补丁。
当您阅读完修订后,只需执行gitapply<filename>,它应该如下所示git应用0001-*和count。
但我真的很奇怪,为什么你不只是想阅读补丁本身?请在你的评论中发表这一点,因为我很好奇。
git手册还告诉我:
gitshow next~10:文档/README显示文件Documentation/README的内容,因为它们在下一个分支的第10次最后提交中是最新的。
您还可以查看git责备文件名,它为您提供了一个列表,其中每一行都与提交哈希+作者相关联。
其他回答
在执行此命令之前,请记住它将使您处于分离状态
使用gitcheckout<sha1>签出特定的提交。
其中<sha1>是可以通过gitlog获得的提交唯一编号
以下是处于分离头部状态后的一些选项:
复制文件或对git文件夹外的文件夹进行所需的更改,在需要时签出分支git checkout<existingBranch>并替换文件创建一个新的本地分支git checkout-b<new_branch_name><sha1>
要获得特定的提交代码,您需要该提交的哈希代码。您可以通过两种方式获取哈希代码:
从您的github/gitlab/bitbucket帐户获取。(它位于提交url上,即:github.com/user/my_project/commit/commit_hash_code),或者您可以git日志并检查您最近在该分支上的提交。它将显示提交的哈希代码和提交代码时留下的消息。只需复制并执行git checkout commit_hash_code
移动到该代码后,如果您想处理它并进行更改,则应使用git checkout-b<new branch name>进行另一个分支,否则,更改将不会被保留。
您可以使用gitk等工具获得项目历史的图形视图。只需运行:
gitk --all
如果要签出特定分支:
git checkout <branch name>
对于特定的提交,使用SHA1哈希而不是分支名称。(请参阅Git社区书中的Treeshes,这是一本好书,以查看导航树的其他选项。)
gitlog也有一整套选项来显示详细或摘要历史。
我不知道在承诺历史上有什么简单的方法可以前进。具有线性历史的项目可能并不那么常见。像SVN或CVS那样的“修订”想法在Git中并不适用。
一种方法是创建所有对补丁的提交。检查初始提交,然后在阅读后按顺序应用补丁。
使用git格式补丁<初始修订版>,然后使用git签出<初始修订版本>。你应该在你的导演中得到一堆文件,以四位数字开始,这是补丁。
当您阅读完修订后,只需执行gitapply<filename>,它应该如下所示git应用0001-*和count。
但我真的很奇怪,为什么你不只是想阅读补丁本身?请在你的评论中发表这一点,因为我很好奇。
git手册还告诉我:
gitshow next~10:文档/README显示文件Documentation/README的内容,因为它们在下一个分支的第10次最后提交中是最新的。
您还可以查看git责备文件名,它为您提供了一个列表,其中每一行都与提交哈希+作者相关联。
要转到特定版本/提交,请运行以下命令。可以从git-log中获得的HASH-CODE--oneline-n10
git reset --hard HASH-CODE
注意-在重置为特定版本/提交后,如果您想恢复所有放弃的提交,可以运行git pull--rebase。
推荐文章
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异
- 将Git存储库内容移动到另一个存储库,保存历史记录
- 如何在GitHub上创建自己的存储库?