我在当地工作。 我检查了一个分支“b1”并做了一些工作。 我想保持分支“b1”的方式,但是回到主人那里,就像我检查出“b1”之前一样。但是当我用“git checkout master”检查master时,我在分支中所做的所有更改都已经在master中,没有任何提交或合并。我做错了什么?
答案 0 :(得分:1)
在再次签出b1
之前,您是否已将更改提交至master
?
如果您在切换分支之前未提交或存储更改,则更改将保留在本地文件中,因此将显示您已签出的分支。
答案 1 :(得分: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会保持工作树的原样。
您需要做的是结帐b1
在那里提交您所做的所有更改,并希望将其本地化为b1
,然后结帐master
。现在,更改不应位于master
分支中。