Eclipse 阻止git将对master的更改带入我的分支?

Eclipse 阻止git将对master的更改带入我的分支?,eclipse,git,Eclipse,Git,首先,我要说我对git比较陌生,我对EclipseGitGUI的依赖可能比我应该的要多。不管怎么说,事情是这样的: 我从origin/master创建了一个远程分支,并签出了该分支 另一个开发人员签入了对master的更改。由于复杂的原因,我的系统无法编译此更改 今天早上我在我的分支上签出时做了一次git pull,对master的更改被带到了我的工作区 因此,现在某些文件的非工作版本在我的工作区中,即使在签入这些更改之前我进行了分支。这有点令人惊讶 有人能帮我理解为什么git在我分支时导入这些

首先,我要说我对git比较陌生,我对EclipseGitGUI的依赖可能比我应该的要多。不管怎么说,事情是这样的:

  • 我从origin/master创建了一个远程分支,并签出了该分支
  • 另一个开发人员签入了对master的更改。由于复杂的原因,我的系统无法编译此更改
  • 今天早上我在我的分支上签出时做了一次git pull,对master的更改被带到了我的工作区
  • 因此,现在某些文件的非工作版本在我的工作区中,即使在签入这些更改之前我进行了分支。这有点令人惊讶

    有人能帮我理解为什么git在我分支时导入这些更改,以及如何控制这种行为吗?至少,我希望将未编译的文件还原为早期版本,并防止git将master中的其他更改合并到我的分支中,直到我准备好合并回master为止。理想情况下,我希望引入其他开发人员所做的一些更改,因为项目中的一些文件很难合并

    这是我的存储库副本的git配置。我在我的分行:

    [core]
        symlinks = false
        repositoryformatversion = 0
        filemode = false
        logallrefupdates = true
    [remote "origin"]
        url = ssh://git@1.2.3.4:7999/foo/bar.git
        fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
        remote = origin
        merge = refs/heads/master
    [branch "SOMEOTHERBRANCH"]
        remote = origin
        merge = refs/heads/master
    [branch "MYBRANCH"]
        remote = origin
        merge = refs/heads/master
    

    所以这里的问题是
    MYBRANCH
    被设置为跟踪
    origin/master
    ,这意味着当您执行
    git pull
    时,
    origin/master
    将被合并到其中。您可以通过执行git config--unset branch.MYBRANCH.merge来取消跟踪它。假设有一个
    origin/MYBRANCH
    ,您可以通过执行
    git branch-u origin/MYBRANCH
    (在MYBRANCH上)来跟踪它。如果
    origin/MYBRANCH
    尚不存在,您可以使用
    git push-u origin-MYBRANCH
    创建/跟踪它

    这里的问题是
    MYBRANCH
    被设置为跟踪
    origin/master
    ,这意味着当您执行
    git pull
    时,
    origin/master
    将被合并到其中。您可以通过执行git config--unset branch.MYBRANCH.merge来取消跟踪它。假设有一个
    origin/MYBRANCH
    ,您可以通过执行
    git branch-u origin/MYBRANCH
    (在MYBRANCH上)来跟踪它。如果
    origin/MYBRANCH
    尚不存在,您可以使用
    git push-u origin-MYBRANCH
    创建/跟踪它

    另外,要从分支恢复更改,您应该看到命令
    git reset

    另外,要从分支恢复更改,您应该看到命令
    git reset