由于“git fetch&& git checkout”导致恢复提交丢失

时间:2015-07-12 17:24:56

标签: git svn bitbucket

我使用git(bitbucket)进行版本控制。我想将项目推送到服务器。我喜欢这个:

git add.
git commit -m "view almost finished"
git push

我发现了一个致命的错误。我假设可能是因为我的存储库中没有分支。所以我创建了一个分支。然后我做了如下命令。

git fetch && git checkout  create-view
git push

然后,所有新文件都消失了。我尝试从git日志中搜索,但我找不到最后一次提交。

如何恢复我上次提交的“git fetch&& git checkout”?

3 个答案:

答案 0 :(得分:0)

看起来您已在本地提交到另一个分支(可能是master)而不是create-view分支。这就是为什么你看不到你的提交。

您有两个选择:

1)返回上一个分支,查看是否存在提交。如果是,您可以git cherry-pick提交到create-view分支然后推送。

2)您可以使用git reflog show查找本地提交的提交ID和提交到create-view分支然后推送的git cherry-pick

答案 1 :(得分:0)

您已切换到<select id="id1" name="optionshere"> <option relone="op1">opt one</option> <option relone="op2">opt two</option> </select> <select id="id2" name="resulthere"> <option relone="op1">ans 1 op1</option> <option relone="op1">ans 2 op1</option> <option relone="op2">ans 1 op2</option> </select>分支。这就是您无法看到更改的原因。要切换回create-view刚刚运行,

master

希望您的所有更改都应该回来。如果你的分支是一些其他名称。只需检查git checkout master ,这将列出您所有的本地分支机构。然后,您应该可以使用

进行切换
git branch

答案 2 :(得分:0)

在终端中执行以下操作:

**git reflog**

这会向您显示所有分支的历史记录及其提交编号等 然后:

**git checkout yourbranchname**

接着是

**git reset --hard yourmaincommitcode**//eg 532b7662

以下是关于这个问题的教程。当我执行 “git fetch&amp;&amp; amp; git checkout“ 在我的android工作室终端,但没有理解它的意思,我的所有文件都在android studio以及我的项目文件夹中消失了。 Recovering Lost Commits with git reflog and reset