结帐第二个Git分支而不会丢失本地更改

时间:2016-02-11 19:33:36

标签: git branch git-branch workspace git-checkout

我已经从我的主人那里检查了一个特定的分支。我在我的本地Eclipse中创建了新的类文件等,并进行了测试。我没有将这些类/文件添加/提交到我的本地git仓库。因此,在成功进行原型测试之后,如果我想切换到另一个分支,我怎么能在不丢失本地更改的情况下进行。

一旦我查看了第二个分支,我的本地更改将被覆盖?我不确定在结束第二个分支之前是否必须丢弃我的更改。

2 个答案:

答案 0 :(得分:1)

使用git stash

  

git-stash - 将更改存储在脏工作目录中

请参阅git docs

中的详情

如果您有未跟踪的新文件,请务必使用-u标记,因为git尚未跟踪的包含文件。

准备好恢复隐藏的更改后,请使用git stash pop

$ git stash -u
$ git checkout <branch>
$ # do work
$ git checkout <oldbranch>
$ git stash pop

答案 1 :(得分:0)

嗯,不确定你会失去更改(事实上,如果你这样做,git checkout会警告你),但最好是用git stash隐藏你的更改或者只是去在签出其他分支之前提前并提交您的更改。