【发布时间】:2018-11-27 15:26:22
【问题描述】:
我想复制的不是更改,而是整个文件,它们不存在,从另一个分支到一个分支。
这可以通过 Git 或 IntelliJ 实现吗?
目前我正在打开 diff 并复制粘贴文件。但这样我很容易拼错文件名和/或文件位置。我可以在这里添加一些自动化吗?
【问题讨论】:
标签: git intellij-idea version-control branch
我想复制的不是更改,而是整个文件,它们不存在,从另一个分支到一个分支。
这可以通过 Git 或 IntelliJ 实现吗?
目前我正在打开 diff 并复制粘贴文件。但这样我很容易拼错文件名和/或文件位置。我可以在这里添加一些自动化吗?
【问题讨论】:
标签: git intellij-idea version-control branch
是的,有一种更简单的方法可以通过 git 将所有文件从一个分支复制到另一个分支。
假设将branchA的所有文件复制到branchB,则可以执行以下命令(也可以在IntelliJ idea终端窗口中执行):
git checkout branchB
git checkout branchA -- .
git commit -m 'copy files from branchA to branchB'
【讨论】:
*.txt从branchA复制到branchB,可以用git checkout branchA -- *.txt代替。
checkout 命令是否有额外的复制功能? git checkout branchA -- filename 将文件名从 branchA 复制到当前分支而不切换到 branchA?
UPD。从 IntelliJ 2018.3 开始,“与工作树比较”对话框中提供了“获取”操作。
旧回复: 命令行 git 可以做到这一点,但 IntelliJ 中的比较分支无法做到这一点。有一个添加上述功能的请求 - 请投票给https://youtrack.jetbrains.com/issue/IDEA-95494
作为一种解决方法,您可以使用从文件 Git 历史记录中获取操作。
还有一个插件可以实现这个https://plugins.jetbrains.com/plugin/10795-git-checkout-files-from-branch
【讨论】: