【问题标题】:Git - How to generate a commit from git diffGit - 如何从 git diff 生成提交
【发布时间】:2019-02-14 14:45:29
【问题描述】:

我在main 分支,maindev 有一些不匹配。我可以使用,查看特定文件夹中的差异,

git diff main..dev Code/Folder/*

现在我想将 Code/Folder/* 中显示的差异的所有更改移动到当前分支 main 中的新提交中。

我该怎么做?

【问题讨论】:

  • 尝试git diff main.dev Code/Folder/* | git apply 然后git add <files> && git commit
  • 如果您想将 main 和 dev 之间的区别 应用到 main,那么这不会产生与抓取副本完全相同的文件吗?开发者的相关文件?

标签: git version-control git-diff


【解决方案1】:

您可以使用git checkout <branch> <path> 形式,例如:

git checkout main
git checkout dev Code/Folder
# ... you may fix unwanted changes here ...
git commit -m "import Code/Folder from dev branch"

它将用<branch> 的内容覆盖<path>,而不切换当前分支。

【讨论】:

    【解决方案2】:

    下面的代码可以正常工作(将更改从 dev 添加到 main),

    git checkout main
    git diff main..dev Code/Folder/* | git apply
    git add *
    git commit -s -m "Adding diffs to main from dev for Code/Folder/*"
    

    【讨论】:

    • 感谢您在这里分享您的解决方案,如果可能,您可以接受您的解决方案作为答案,这样它也可以帮助其他社区成员。祝你有美好的一天:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 2020-02-15
    • 1970-01-01
    • 2017-04-14
    • 2011-10-06
    • 2017-02-09
    • 2011-10-03
    相关资源
    最近更新 更多