IntelliJ的局部更改,但针对整个功能分支

时间:2018-07-04 09:28:29

标签: git intellij-idea version-control

IntelliJ在版本控制栏下提供了“本地更改”的基本视图。查看所有代码已更改的地方非常方便。当我有一个功能分支并向其推送例行提交时,我的本地更改丢失了。

有没有办法使更改视图不是基于更改是本地的事实,而是基于master和我的功能分支之间的差异+本地更改?

2 个答案:

答案 0 :(得分:0)

要查看您提交的更改(更改的文件显示在“本地更改”窗口中),只需在“日志”窗口中选择最新的提交,然后它将在右侧列出更改的文件(与在“本地更改”窗口中看到的内容相同。

enter image description here


要比较两个分支之间的差异,您可以执行以下步骤(例如,将feature分支与master分支进行比较)

feature分支中-> VCS-> Git->与分支比较->选择master分支。

enter image description here

然后它将列出feature分支和master分支之间的差异。而且,您可以双击进行差异更改以查看详细信息更改。

  

但这只是列表,编辑器中没有标记。

由于您已经提交了更改,因此列表文件将不会显示在“本地更改”窗口中。如果要将diff文件作为本地更改列出在feature分支上,则可以参考以下选项。

要将master分支的差异显示为feature分支的更改,您可以在master分支上签出feature修订版。详细信息如下:

在终端窗口中:

git checkout feature             #Switch to feature branch
git checkout master -- .

答案 1 :(得分:0)

当您提交您的本地更改时,它们并没有丢失,它们只是被提升/标记为提交(以下详细定义,以防您需要它们) 。

通常,您需要比较两种情况下的文件内容更改:

提交前查看本地更改。这就是您所做的。您可以从Version Control -> Local Changes视图继续这样做。

查看分支或提交之间的差异Project视图或Editor中,右键单击-> Git->与分支比较->选择一个 分支进行比较。

这应该显示所有已更改的文件。如果要查看已更改内容的差异,请双击树中的文件(快捷方式:CTRL + D)。 然后,您可以浏览更改,在某些情况下还可以编辑文件。

这可以在项目根目录,子目录,文件,git日志等中使用,因此可以试一下。

希望这可以帮助您解决问题。否则,请

定义

  1. 本地更改:这些是您当前正在执行但尚未提交的更改。因此,如果您执行git reset --hard或更改您的机器/项目,它们将会丢失。在Intellij Version Control >> Local View中,您可以看到所有已更改的文件。
  2. 已提交的更改:当您对本地更改感到满意时,可以将更改捆绑在一起并将其提交到分支。因此,您的本地更改不会“丢失”,而只是“提升”为提交。
  3. 分支:为了简化git中的分支,只是一堆相互遵循的提交(树结构),通常会限制main个分支(例如master或dev),许多功能分支。功能分支大部分需要合并到您的主分支中。