【问题标题】:confused about git branches and master interaction对 git 分支和主交互感到困惑
【发布时间】:2012-08-22 02:38:32
【问题描述】:

我在本地工作。 我检查了一个分支“b1”并做了一些工作。 我想保持分支“b1”的原样,但回到主分支,让它就像我签出“b1”之前一样。但是当我用“git checkout master”签出master时,我在分支中所做的所有更改都已经在master中,没有任何提交或合并。我做错了什么?

【问题讨论】:

    标签: git git-branch


    【解决方案1】:

    在再次签出master 之前,您是否已将更改提交给b1

    如果您在切换分支之前没有提交或存储您的更改,您的更改将保留在您的本地文件中,因此无论您签出哪个分支都会出现。

    【讨论】:

      【解决方案2】:

      如果您对分支b1 所做的更改将被签出master 覆盖,那么除非您存储更改或将更改提交到索引,否则git 不会让您执行签出。你会得到以下类型的错误

      error: Your local changes to the following files would be overwritten by checkout:
          /src/path/to/conflicting/file.java
      Please, commit your changes or stash them before you can switch branches.
      

      如果结帐顺利进行(您没有提交任何内容),那么两个分支之间就没有冲突,git 只会保持工作树原样。

      您需要做的是签出b1 提交您所做的所有更改并希望本地化到b1,然后签出master。更改现在不应位于 master 分支中。

      【讨论】:

        猜你喜欢
        • 2022-06-13
        • 2012-09-18
        • 2015-10-28
        • 1970-01-01
        • 1970-01-01
        • 2017-08-27
        • 1970-01-01
        • 2020-05-23
        • 2021-11-28
        相关资源
        最近更新 更多