因此,由于我的代码存在根本问题,我最终不得不更改项目的整个目录树 - 或者我认为.所以我在重大改变之前做了一个提交,然后在做出我不需要的更改后意识到.所以我表演了
git checkout ##SHA##
Run Code Online (Sandbox Code Playgroud)
我能够让整个项目按照应有的方式运行,但现在我遇到了另一个问题.我不再在我工作的分支机构中签出.如何保留我现在拥有的代码并回到分支机构工作?
git branch -a
Run Code Online (Sandbox Code Playgroud)
说我在
* (no branch)
Run Code Online (Sandbox Code Playgroud)
任何人都知道我可以做什么,而不只是建立一个新的分支并删除旧的分支?
永远不会git checkout <hash>.它旨在临时检查提交(因此您看到的是无分支).您想要做的是,在分支中,git reset --hard <hash>(如果您在工作目录中需要更改,则删除--hard.)
恢复:
git checkout the_branch
git reset --hard <hash>
Run Code Online (Sandbox Code Playgroud)
请注意,<hash>上述内容与您git checkout在尝试"还原"更改时使用的内容相同.
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |