【问题标题】:How to move/copy entire file from one branch to another with Git / IntelliJ? [duplicate]如何使用 Git / IntelliJ 将整个文件从一个分支移动/复制到另一个分支? [复制]
【发布时间】:2018-11-27 15:26:22
【问题描述】:

我想复制的不是更改,而是整个文件,它们不存在,从另一个分支到一个分支。

这可以通过 Git 或 IntelliJ 实现吗?

目前我正在打开 diff 并复制粘贴文件。但这样我很容易拼错文件名和/或文件位置。我可以在这里添加一些自动化吗?

【问题讨论】:

    标签: git intellij-idea version-control branch


    【解决方案1】:

    是的,有一种更简单的方法可以通过 git 将所有文件从一个分支复制到另一个分支。

    假设将branchA的所有文件复制到branchB,则可以执行以下命令(也可以在IntelliJ idea终端窗口中执行):

    git checkout branchB
    git checkout branchA -- .
    git commit -m 'copy files from branchA to branchB'
    

    【讨论】:

    • 如何只选择某些文件?
    • 您可以使用某些文件名或通配符。比如将*.txtbranchA复制到branchB,可以用git checkout branchA -- *.txt代替。
    • 我不明白,checkout 命令是否有额外的复制功能? git checkout branchA -- filename 将文件名从 branchA 复制到当前分支而不切换到 branchA?
    • 是的,确实如此。见git-scm.com/docs/git-checkout
    • @Dims 是的,git checkout 命令除了切换到另一个分支之外,还有很多功能。
    【解决方案2】:

    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

    【讨论】:

    • 命令行Git怎么办?
    • 查看玛丽娜的回复
    • 然后返回 Eclipse! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 2021-01-04
    • 2015-12-10
    • 2016-06-23
    • 2020-06-03
    • 2010-09-23
    相关资源
    最近更新 更多