我克隆了某个项目的git存储库。我可以将文件转到初始状态吗?当我查看文件时,可以转到修订版2、3、4。。。最近?我想了解一下项目的发展情况。


当前回答

使用提交的SHA1密钥,可以执行以下操作:

首先,找到要提交的特定文件:git-log-n<#commits><文件名>这将根据您的<#commits>生成特定文件的提交列表。提示:如果您不确定要查找的提交内容,一个很好的方法是使用以下命令:gitdiff<commit-SHA1>。。HEAD<文件名>。此命令将显示特定文件的当前提交版本与先前提交版本之间的差异。注意:提交的SHA1密钥在gitlog-n的列表中的格式为:

提交<SHA1 id>

第二,签出所需版本:如果找到了所需的提交/版本,只需使用命令:gitcheckout<desired-SHA1><file name>这将在临时区域中放置您指定的文件版本。要将其移出暂存区,只需使用命令:resetHEAD<filename>

要恢复到远程存储库所指向的位置,只需使用命令:gitcheckout HEAD<file name>

其他回答

在执行此命令之前,请记住它将使您处于分离状态

使用gitcheckout<sha1>签出特定的提交。

其中<sha1>是可以通过gitlog获得的提交唯一编号

以下是处于分离头部状态后的一些选项:

复制文件或对git文件夹外的文件夹进行所需的更改,在需要时签出分支git checkout<existingBranch>并替换文件创建一个新的本地分支git checkout-b<new_branch_name><sha1>

您可以使用gitk等工具获得项目历史的图形视图。只需运行:

gitk --all

如果要签出特定分支:

git checkout <branch name>

对于特定的提交,使用SHA1哈希而不是分支名称。(请参阅Git社区书中的Treeshes,这是一本好书,以查看导航树的其他选项。)

gitlog也有一整套选项来显示详细或摘要历史。

我不知道在承诺历史上有什么简单的方法可以前进。具有线性历史的项目可能并不那么常见。像SVN或CVS那样的“修订”想法在Git中并不适用。

要转到特定版本/提交,请运行以下命令。可以从git-log中获得的HASH-CODE--oneline-n10

git reset --hard HASH-CODE

注意-在重置为特定版本/提交后,如果您想恢复所有放弃的提交,可以运行git pull--rebase。

使用提交的SHA1密钥,可以执行以下操作:

首先,找到要提交的特定文件:git-log-n<#commits><文件名>这将根据您的<#commits>生成特定文件的提交列表。提示:如果您不确定要查找的提交内容,一个很好的方法是使用以下命令:gitdiff<commit-SHA1>。。HEAD<文件名>。此命令将显示特定文件的当前提交版本与先前提交版本之间的差异。注意:提交的SHA1密钥在gitlog-n的列表中的格式为:

提交<SHA1 id>

第二,签出所需版本:如果找到了所需的提交/版本,只需使用命令:gitcheckout<desired-SHA1><file name>这将在临时区域中放置您指定的文件版本。要将其移出暂存区,只需使用命令:resetHEAD<filename>

要恢复到远程存储库所指向的位置,只需使用命令:gitcheckout HEAD<file name>

要获得特定的提交代码,您需要该提交的哈希代码。您可以通过两种方式获取哈希代码:

从您的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>进行另一个分支,否则,更改将不会被保留。