如何使用 Eclipse 上的功能将文件从一个分支复制到另一个分支

How to copy a file from one branch to another branch using functionality on Eclipse

通常,我会在当前分支中复制该文件的全部内容,然后切换到 Eclipse 上的另一个分支并将其粘贴到新分支中,但我只是想问一下是否有办法在什么时候执行此操作从 Eclipse 签出?

所以,我有一个名为 Mock 的分支,它有一个名为 a.java 的文件,我已经修改了该文件。现在,我切换到另一个也有 a.java 但与 Mock 分支不同的分支,因为我对 Mock 分支中的 a.java 进行了更改。

现在,我如何在另一个分支上推送提交以显示其中 a.javaMock 分支之间的差异并将 Mock 分支中的更改应用到我目前所在的分行?
这在 Eclipse 中可行吗?

如果您想替换该文件的全部内容,请尝试右键单击它,and select:

Replace with -> Commit...

然后选择另一个分支的提交。
如果你想用另一个分支的最新版本替换它,你可以选择

Replace with -> Branch, Tag or Reference

(这里我selectmaster因为我当前的分支不是master,我想用master.)

首先我们会考虑你已经推送了另一个分支的变化(所以他们是HEAD)并且你已经切换到Mock分支(当然,我不考虑分支之间的合并,因为你没有说话关于它 )。从这点出发,让我描述两种可能的选择:

  • 你可以摘樱桃。 Cherry pick 是一个过程,在这个过程中,您从另一个分支(甚至是同一分支)获取提交并将其应用到您签出的分支中。例如,如果您修改分支 A 的文件并提交它,您可以切换到分支 B 并进行樱桃采摘,将此提交从 A 应用到 B.Of 当然,请记住,樱桃采摘应用所有添加的更改一个提交,所以如果你修改 a.java 和 b.java,两个修改的文件都将作为 cherry pick 的结果应用。您可以从这里获取示例:https://wiki.eclipse.org/EGit/User_Guide#Cherry_Picking
  • 我最喜欢也最简单的。右键单击 a.java 和 select Compare with / Branch, tag or reference 以获得将其他分支的 a.java 版本与您的版本进行比较的视图当前 Mock 分支并使用 Eclipse 编辑器应用更改(如果您要应用的更改不在其他分支的 HEAD 中,您也可以使用 Compare with / Commit)。您可以使用箭头将更改从右侧(远程分支)传递到左侧(当前分支),甚至可以手动复制粘贴