我需要在特定提交/日期保存我的存储库状态。我不想回复,因为我不想放弃我的改变。
如何在特定提交时获取存储库?
我做了一项研究,或许以下方法可行:
git log
git clone /path/to/repository
git checkout dec5f4de67ff32fd ...
克隆和原始存储库之间是否会产生一些副作用?我的克隆存储库中是否有所有提交?如何删除克隆的存储库?只需删除文件夹?我不想要新的分支 - 我只需要在特定提交时使用该项目。
修改
现在我尝试了git checkout xxx
。有效。然后我想回到git checkout master
的最新更改。我收到以下错误
错误:将覆盖以下未跟踪的工作树文件 通过结帐:
项目/资源/ image.png
请移动或移除它们 在你可以切换分支之前。中止
原因是我检查了错误的分支(不是主人)。现在我删除了所有文件,并使用备份中的文件。如果我现在输入git log
,他只会向我显示初始提交...所以我带着控制台移出文件夹并重新进入,现在他向我展示了最新的提交。
请注意你结账的内容。
答案 0 :(得分:2)
您想要提交之前的存储库副本吗? 克隆将包含原始提交的所有提交。如果您想要删除克隆中必须使用的最新提交:
git clone /path/to/repository
git reset --hard dec5f4de67ff32fd ...
如果您只是检查提交,那么较新的提交仍然存储在存储库中,只有工作空间将更改为先前的提交。