当我执行git log时,我在git上有很多提交。现在我想暂时回到特定的旧提交然后再回来。我尝试git checkout -b myname shaid
但是在我的Xilinx IDE上,它不会恢复到较旧的提交
因为无论如何我在不同的分支上,我决定做git reset --hard <commit_d>
。
这反映了所有的变化 如何在不执行git reset的情况下返回提交?
答案 0 :(得分:1)
如果我理解正确,您只想执行git checkout <commit_id>
,然后再git checkout <branch_name>
注意:此不会更改历史记录,只会更改工作树。
答案 1 :(得分:0)
您键入的内容是确切的方法:
git checkout -b <new_name> <SHA-1>
如果由于某种原因仍然无效,请尝试将其拆分为2个命令:
git checkout <SAH1-1>
git checkout -b <new_name>
它会让你进入一个名为分离头的状态。你需要创建一个新的分支(从代码snippest上面的第二行)来继续你的工作。
git checkout -b <new_name>
由于你签出的提交不是最新的,你不能马上修改它,这就是你需要签出新分支的原因。
如果您只想查看某些文件,则无需创建新的分支。