0

我正在android上开发一个谷歌地图项目,我需要将地图更新到新的v2版本,因此我创建了一个分支

git add -u
git commit -m 'xxxyyyzzz'
git checkout -b MapsV2

然后我意识到我需要在主分支上快速修复一些东西所以我跑了

git checkout master

只是在结帐后发现我在 MapsV2 分支中的所有更改在主分支上都完好无损。

为了提供更多上下文,master 是我们的主要分支,而 MapsV2 是新地图 API 的研究分支。

我做错了什么?

4

2 回答 2

3

默认情况下git checkout不会重置您的工作目录的状态,为此您需要git reset --hard在结帐后使用。请注意,这将重置您的索引和工作目录,这样做您可能会丢失所有未提交的更改!

于 2013-01-03T15:12:12.530 回答
0

(我假设你在master开始你给出的命令序列之前就在分支上。)

您在创建新分支之前进行了提交。因此,对master. 然后,您从 中创建了新MapsV2分支master,因此该分支也具有更改。

于 2013-01-03T15:23:00.587 回答