使用git

时间:2018-08-23 01:07:04

标签: git git-merge git-stash

我在parallel branch中对本地文件进行了一些更改。我使用git stash来保存更改并将其他更改保存到master中,而不必在线进行。因此,我不得不解决一些有关文件冗余文件的合并冲突。逐步,这是我在git bash上的代码:

git stash
git pull origin master
git stash pop
git mergetool

我使用myFile.py作为合并工具解决了关于一个文件meld的冲突。我的问题是在合并步骤期间,我忘记了remote文件(myFile_remote_7572.py)中的大部分代码。目前,我无法在笔记本电脑上的任何位置找到该文件。我想还原它以找到我的最后一个代码,而无需重新启动合并步骤。谢谢...

1 个答案:

答案 0 :(得分:0)

  

在这种情况下,不重新启动合并步骤就无法还原代码

但是,如果重新开始合并步骤,则可以通过以下步骤进入所需状态:

如果myFile_remote_7572.py在隐藏的更改中

  1. 要返回主菜单:git checkout master
  2. 要获取最新更改:git fetch upstream; git merge upstream/master
  3. 更正我的新分支:git checkout new-branch; git rebase master
  4. 要应用正确的隐藏更改:git stash apply

Git足够聪明,即使它不能完全应用也不会丢下它。


如果myFile_remote_7572.py在遥控器上

  1. 提取最新更改:git fetch
  2. 从远程检出文件:git checkout origin/master -- path/to/file/myFile_remote_7572.py

fetch将下载所有最近的更改,但不会将其放入您当前签出的代码(工作区)中。

checkout将使用下载的更改(origin/master中的特定文件更新工作树。