Git:使用checkout命令和commit将特定文件恢复到旧版本



我想恢复到特定文件的早期版本
我正在使用以下命令。

git checkcout <commit hash> <file-name>

现在我想提交这个文件
我在做

git commit -a.

它给我以下信息

"无需提交,工作目录已清理"

编辑:所有这些提交都已推送到远程转发。

下面的命令将HEAD指针移动到旧提交。

 git checkout <commit hash> <file-name>

您可能打算执行以下命令,该命令将"恢复到特定文件的早期版本",而不移动当前HEAD。

 git checkout <commit hash> -- <file-name>

在执行上述命令后,git status将显示正在修改的文件。然后,您可以执行git commit -a来提交当前提交顶部的文件。

更新:如果您以前移动过HEAD指针,那么在运行上面的命令并提交之前,您很可能希望将其移回工作分支。因此,完整的命令序列应该是:

 git checkout master
 git checkout <commit hash> -- <file-name>
 git commit -a 

最新更新