情况:我在 PHPStorm 工作,在 git master 分支。我在 git 中创建了一个 test1 分支。我在里面工作,我写了一些代码。一项紧急任务来自不同的主题,但在同一个站点内。不要提交 test1 分支,切换到 master。在 master 分支中,我看到了我在 test1 分支中所做的所有更改。这是为什么?我怎样才能使它在一个分支(test1)中工作,然后切换到主分支,它将只有创建时的代码分支测试1?然后他从 master 分支创建了另一个分支,比如说 test2,并且已经在 test2 分支中工作了。然后第三个紧急任务来了,我切换到master,创建一个test3分支,在里面工作。但是,在这些分支 test1、test2、test3 中,其他分支没有代码更改。同时,我不创建提交。同时,这样您就可以切换到这些分支中的任何一个并继续工作。怎么做?
您需要在紧急切换到另一个分支
git stash
之前使用。git stash这只会在没有提交的情况下存储您的更改,然后您可以返回并从它们存储的位置获取它们并继续工作从这里引用
此外,当需要再次处理 test1 中的任务时,您将需要去那里做
git stash apply
从这里引用
实际上,如果您想切换到另一个任务和分支,这就是您需要知道的全部内容,但是在当前分支中您出于任何原因不想提交并且您需要暂时隐藏您处理的数据
对于 PHPStorm
一切都变得更加容易。它甚至还有一个用于使用 Stash 的 UI。菜单项可能因版本而异,我将以 2018 年为例:
隐藏:
您甚至可以输入识别标记:
然后得到零钱
并选择你想要的
选项 c
git stash
已经描述。如果你必须对多个分支执行此操作,那么我个人更方便的是进行临时提交,因为stash
保存的哪些属于哪个分支并不明显。然后,返回分支后,有两种选择:
git reset HEAD~1
。此命令从存储库中删除最新提交并将所做的更改推送到本地副本。git commit --amend
。为此,我们在本地副本中进行更多更改,然后git commit --amend
将这些更改添加到当前分支的最后一次提交中。