恢复由于 "git fetch && git checkout" 而丢失的提交
restore commit lost due to "git fetch && git checkout"
我使用 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" 而导致的最后一次提交?
看起来您在本地提交到另一个分支(可能是 master)而不是创建视图分支。这就是为什么你看不到你的提交。
您有 2 个选择:
1) 回到你所在的上一个分支,看看是否有提交。如果是,您可以 git cherry-pick
提交到 create-view 分支然后推送。
2) 您可以使用 git reflog show
查找本地提交的提交 ID 和 git cherry-pick
提交到创建视图分支然后推送。
您已切换到 create-view
分支。这就是您无法看到更改的原因。要切换回 master
只需 运行、
git checkout master
希望您的所有更改都能恢复。如果您的分支使用其他名称。只需检查 git branch
,这将列出您所有的本地分支机构。然后你应该可以切换使用,
git checkout <branch>
在您的终端中执行以下操作:
**git reflog**
这会向您显示所有分支的历史记录及其提交编号等
然后:
**git checkout yourbranchname**
接着是
**git reset --hard yourmaincommitcode**//eg 532b7662
这是一个关于此的教程 issue.It 在我执行 “git fetch && git checkout” 的新手时代帮助了我 在我的 android 工作室终端中,但不理解它的含义,我的所有文件在 android 工作室以及我的项目文件夹中都消失了。
Recovering Lost Commits with git reflog and reset
我使用 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" 而导致的最后一次提交?
看起来您在本地提交到另一个分支(可能是 master)而不是创建视图分支。这就是为什么你看不到你的提交。
您有 2 个选择:
1) 回到你所在的上一个分支,看看是否有提交。如果是,您可以 git cherry-pick
提交到 create-view 分支然后推送。
2) 您可以使用 git reflog show
查找本地提交的提交 ID 和 git cherry-pick
提交到创建视图分支然后推送。
您已切换到 create-view
分支。这就是您无法看到更改的原因。要切换回 master
只需 运行、
git checkout master
希望您的所有更改都能恢复。如果您的分支使用其他名称。只需检查 git branch
,这将列出您所有的本地分支机构。然后你应该可以切换使用,
git checkout <branch>
在您的终端中执行以下操作:
**git reflog**
这会向您显示所有分支的历史记录及其提交编号等 然后:
**git checkout yourbranchname**
接着是
**git reset --hard yourmaincommitcode**//eg 532b7662
这是一个关于此的教程 issue.It 在我执行 “git fetch && git checkout” 的新手时代帮助了我 在我的 android 工作室终端中,但不理解它的含义,我的所有文件在 android 工作室以及我的项目文件夹中都消失了。 Recovering Lost Commits with git reflog and reset