我正在研究Android上的谷歌地图项目,我需要将地图更新为新的v2版本,因此我已经创建了一个分支
git add -u
git commit -m 'xxxyyyzzz'
git checkout -b MapsV2
然后我意识到我需要在主分支上快速修复一些东西,所以我跑了
git checkout master
只是在结账后发现我在MapsV2分支中的所有更改在主分支上都是完整的。
为了提供更多上下文,master是我们的主要分支,而MapsV2是新地图API的研究分支。
我做错了什么?
答案 0 :(得分:3)
默认情况下,git checkout
不会重置工作目录的状态,因此您需要在结帐后使用git reset --hard
。请注意,这将重置您的索引和工作目录,这样做可能会丢失所有未提交的更改!
答案 1 :(得分:0)
(我假设您在开始执行命令序列之前就在master
分支上。)
您在创建新分支之前进行了提交。所以这些更改是master
。然后,您从MapsV2
创建了新的master
分支,以便该分支也有更改。