在不丢失本地更改的情况下检出第二个 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
我已经从我的主人那里检查了一个特定的分支。我在本地 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