首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >两个补丁之间的差异

两个补丁之间的差异
EN

Stack Overflow用户
提问于 2016-03-16 10:11:52
回答 1查看 2.4K关注 0票数 2

假设我有一个开发分支,并且我在某个特性分支中工作,在其中我有一个或多个提交,我不断地修改提交,以及使用其他分支对它们进行重基(以便为将来保持提交历史干净)。在每个阶段,我做的地方不同的发展。所以我有一组不同之处,我想看看它们之间的区别。我怎么能轻易做到呢?我可以使用什么样的git命令序列?

更新

解决办法是有两个与发展有关的差异。在开发中拥有存储库的副本,首先应用diff。有另一个副本,并应用另一个补丁。使用一些comarison工具并比较两个存储库。这将是我所期望的结果。这种方法的问题是,我需要至少有两个存储库的副本,并使用一些工具来区分目录。另一种可能更好的方法是使用两个分支,应用补丁和提交更改,然后比较分支。问题是:在git命令中有什么更简单的东西可以这样做吗?就像拿走这个分支,和两个不同的文件,还我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-16 21:10:07

你的第二个工作流程就是答案。这里有一个可能的别名:

代码语言:javascript
运行
复制
diffdiff = !git stash save -u -q &&
    git apply $1 && git add -A && git commit -q -m"1" &&
    git reset --hard HEAD@{1} -q &&
    git apply $2 && git add -A && git commit -q -m"2" &&
    git reset --hard HEAD@{1} -q && git stash pop -q &&
    git diff HEAD@{3} HEAD@{1} && :

在分支上调用它,在分支中使用位于存储库之外的diff文件应用差异。

代码语言:javascript
运行
复制
git diffdiff <diff_file_1> <diff_file_2>

不是用zsh和bash shell在osx上测试的多平台解决方案。如果您可以手动完成它,这是相当简单,这里的许多复杂是提供了一种万无一失的解决方案。另外,输出的第一行是噪音,似乎git存储的pop不服从-静音参数。

(编辑:不需要临时分支,所以我简化了别名。)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36032557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档