返回主分支并还原文件

时间:2019-02-09 14:10:54

标签: git gitlab

除了分支master之外,我还创建了另一个分支develop

现在,我对develop进行了一些提交,并在测试服务器上做了pull origin develop而不是pull origin master

是否可以返回测试服务器上的master分支并还原我在pull origin develop中获取的所有文件?

我已经尝试过git checkout master,然后尝试过git pull origin master,但是它说:

 * branch            master     -> FETCH_HEAD
Already up-to-date.

并且没有还原来自develop的文件。

$ git branch -av
  develop                        3e22f0c some-commit
* master                         3e22f0c [ahead 6] some-commit
  remotes/origin/HEAD            -> origin/master
  remotes/origin/develop         3e22f0c some-commit
  remotes/origin/master          86198f0 some-commit

1 个答案:

答案 0 :(得分:1)

当您在与您当前签出的分支不同的分支上执行git pull origin <branch_name>时,git将执行两项操作:它将执行1.)从remote获取最新版本,以及2.)将其合并到分支中您已签出。

从本质上讲,这只会导致您想要撤消的额外提交。有两种方法可以做到这一点:

1。)对上一次提交进行硬重置:git reset --hard HEAD~¹ 2.)硬重置为远程跟踪分支git reset origin/master的HEAD 3.)可以使用git checkout -B master origin/master进行相同的硬重置 4.)使用git revert -m 1 HEAD还原合并提交(这不是一个好选择,因为它会在您的日志中导致两个额外的提交)