首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >恢复由于"git提取& git签出“而丢失的提交

恢复由于"git提取& git签出“而丢失的提交
EN

Stack Overflow用户
提问于 2015-07-12 17:24:56
回答 3查看 321关注 0票数 0

我使用git (bitbucket)进行版本控制。我想把这个项目推到服务器上。我确实喜欢这样:

代码语言:javascript
复制
git add.
git commit -m "view almost finished"
git push

我发现了一个致命的错误。我猜想可能是因为我的存储库中没有分支。所以我创造了一个分支。然后,我执行了如下命令。

代码语言:javascript
复制
git fetch && git checkout  create-view
git push

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

如何恢复由于"git提取& git签出“而提交的最后一次提交?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-12 18:46:26

您已切换到create-view分支。这就是你无法看到你的变化的原因。要切换回master刚刚运行,

代码语言:javascript
复制
git checkout master

希望你所有的改变都能回来。如果你的分支有别的名字。只要检查一下git branch,它就会列出您的所有本地分支。然后你就可以用,

代码语言:javascript
复制
git checkout <branch>
票数 0
EN

Stack Overflow用户

发布于 2015-07-12 18:09:00

看起来您在本地提交到另一个分支(可能是主分支),而不是创建视图分支。这就是为什么你看不到你的承诺。

你有两个选择:

1)回到您所在的前一个分支,看看提交是否在那里。如果是,您可以将git cherry-pick提交到创建视图分支,然后再进行推送。

2)您可以使用git reflog show查找本地提交的提交id和提交到其中的git cherry-pick,以创建视图分支,然后进行推送。

票数 0
EN

Stack Overflow用户

发布于 2018-01-29 12:44:25

在您的终端中执行以下操作:

代码语言:javascript
复制
**git reflog**

这向您展示了所有分支的历史,以及它们的提交号等等:

代码语言:javascript
复制
**git checkout yourbranchname**

紧接着是

代码语言:javascript
复制
**git reset --hard yourmaincommitcode**//eg 532b7662

这里有一个关于这个issue.It的教程,它帮助我在我的安卓工作室终端中执行“git提取& git签出”时帮助了我,而不知道它意味着什么,我的所有文件都消失在android和我的项目文件夹中。用git重发和重置恢复丢失的提交

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31370528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档