1

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

4

2 回答 2

1

b1您是否在再次签出之前提交了更改master

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

于 2012-08-27T15:24:38.570 回答
0

如果您对分支所做的更改b1将被签出覆盖,mastergit 不会让您在不存储更改或将更改提交到索引的情况下进行签出。您会收到以下类型的错误

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 只会保持工作树原样。

您需要做的是 checkoutb1提交您所做的所有更改并希望本地化到b1然后 checkout master。更改现在不应该在master分支中。

于 2012-08-27T15:27:33.187 回答