如何在 PHPStorm 中正确切换分支?

How to correctly switch between branches in PHPStorm?

所以问题是,我创建了一个新分支:myname/mysuperbranch

同时我有 origin/master 分支。在我对我的分支进行更改后,我签回 origin/master,它仍然包含我在 myname/mysuperbranch 分支中所做的所有更改。

如何正确切换分支?例如:

  1. 我对我的 myname/myspuerbranch

  2. 进行了一些更改
  3. 在本地保存此更改。

  4. 切换到origin/master分支,应该是干净的,没有任何变化。

我做错了什么?

当您进行更改并简单地切换分支时,您将在另一个分支中看到相同的更改。实际上,您必须先提交它们,以便更改在暂存区。

VCS > Git > Commit File...

甚至推送到远程分支。在您的更改进入暂存区后,当您切换回来时,该分支将与您的主分支不同。当然,必须先将文件添加到您的工作目录中。通常 PHPStorm 会自动添加新创建的文件。否则只需右键单击它们。

Git > + Add

Horst Jahns 给出了 Git 方式回应。

在 PhpStorm 中,您可以在版本控制中搁置您的本地更改,通过右键单击状态的“本地更改”选项卡,然后 "shelve changes",接受一个小评论。

Version Control > Local Changes > Right click on your changes > Shelve changes

这会将本地修改存储到 PhpStorm 中,并将它们从当前分支中删除。您现在可以在没有冲突的情况下切换分支并在另一个分支上工作。

VCS > Branches > YourBranch > Checkout

完成另一个分支后,您可以git提交或执行相同的搁置过程。

更改分支后,通过右键单击 "Shelf" 选项卡中的架子取消搁置更改。

Version Control > Shelf > Right click on the shelf you want > Unshelve (you can set it as active)