在不丢失本地更改的情况下检出第二个 Git 分支

Checkout second Git branch without losing local changes

我已经从我的主人那里检查了一个特定的分支。我在本地 Eclipse 中创建了新的 类 属性 文件等并进行了测试。我没有 added/committed 那些 classes/files 到我的本地 git 仓库。那么在这个成功的原型测试之后,如果我想切换到另一个分支,我该如何在不丢失本地更改的情况下进行。

一旦我签出第二个分支,我的本地更改将被覆盖?我不确定是否必须在第二个分支结帐之前放弃我的更改。

嗯,不确定您是否会丢失更改(事实上,如果您丢失了,git checkout 会警告您),但最好使用 git stash 或在签出另一个分支之前,请继续并提交您的更改。

使用git stash.

git-stash - Stash the changes in a dirty working directory away

git docs 中查看更多信息。

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

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

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