如何在 PHPStorm 中正确切换分支?
How to correctly switch between branches in PHPStorm?
所以问题是,我创建了一个新分支:myname/mysuperbranch
同时我有 origin/master 分支。在我对我的分支进行更改后,我签回 origin/master,它仍然包含我在 myname/mysuperbranch 分支中所做的所有更改。
如何正确切换分支?例如:
我对我的 myname/myspuerbranch
进行了一些更改
在本地保存此更改。
切换到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)
所以问题是,我创建了一个新分支:myname/mysuperbranch
同时我有 origin/master 分支。在我对我的分支进行更改后,我签回 origin/master,它仍然包含我在 myname/mysuperbranch 分支中所做的所有更改。
如何正确切换分支?例如:
我对我的 myname/myspuerbranch
进行了一些更改
在本地保存此更改。
切换到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)