请问,我的项目有一个大问题:这就是场景.我在GIT下有一个xcode项目.今天我意识到最后一次提交破坏了一些测试,所以我检查了之前的提交.我使用了SourceTree,这是警告
这样做会使您的工作副本成为"分离的HEAD",这意味着您将不再在分支机构上.如果您想在此之后提交,则可能需要再次签出分支,或者创建新分支.这个可以吗?
我工作了一整天,最后我做了一切.所以我需要将我的工作合并到开发分支上,这样我就可以查看开发分支......我的工作立即消失了:(
我知道分离我的HEAD是错误的,Sourcetree警告我......但是有一种方法可以恢复我的工作吗?
非常感谢.
Bri*_*ell 224
如果您键入git reflog,它将显示所HEAD指向的修订的历史记录.你的独立头应该在那里.一旦找到它,做git checkout -b my-new-branch abc123或git branch my-new-branch abc123(abc123分离的HEAD的SHA-1 在哪里)创建一个指向分离头的新分支.现在,您可以在闲暇时合并该分支.
一般来说,如果你在分离头上工作后检查一个分支,Git应该告诉你你曾经使用的分离头的提交,所以如果你需要你可以恢复它.我从来没有使用过SourceTree,所以我不知道它是否传递了这条消息.但如果它确实显示了该消息,那么您应该能够使用它来查找提交,并再次使用git checkout -b或git branch从该提交创建分支.
bla*_*ond 11
在Sourcetree中,您可以使用GUI执行此操作.
首先通过在命令历史记录中查找消息来查找"丢失"提交(视图:显示命令输出).在您丢失的提交之后,它可能会在命令"Switching Branch"中.在该消息中,希望您将看到带有1234567提交ID的提交注释.
将该提交ID转到下一步.
点击顶部工具栏中的"分支"按钮,您应该会出现一个"新建分支"对话框,您可以在其中指定某个提交.把那个提交ID放在那里,指定一个新的分支名称,点击Create Branch,你应该得到一个新的分支与丢失的提交!
小智 11
git reflog查看历史记录。git checkout -b temp e35d2b3这里使用 e35dd23 是您提交的哈希值。如果它解决了您的问题,请接受它作为答案。否则请分享您的评论。
如果您不想保留已分离的HEAD的更改,并且想要直接转到最新的分支提交,请直接使用以下命令。
git checkout -
Run Code Online (Sandbox Code Playgroud)
注意:我将删除分离的HEAD中的所有更改。
| 归档时间: |
|
| 查看次数: |
22143 次 |
| 最近记录: |