我在当地工作。我检查了一个分支“b1”并做了一些工作。我想保持分支“b1”的原样,但回到主分支,让它就像我签出“b1”之前一样。但是当我用“git checkout master”签出master时,我在分支中所做的所有更改都已经在master中,没有任何提交或合并。我究竟做错了什么?
问问题
66 次
2 回答
1
b1
您是否在再次签出之前提交了更改master
?
如果您在切换分支之前没有提交或存储您的更改,您的更改将保留在您的本地文件中,因此无论您签出哪个分支都会出现。
于 2012-08-27T15:24:38.570 回答
0
如果您对分支所做的更改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 只会保持工作树原样。
您需要做的是 checkoutb1
提交您所做的所有更改并希望本地化到b1
然后 checkout master
。更改现在不应该在master
分支中。
于 2012-08-27T15:27:33.187 回答