Git中完成多次cherry-pick并解决冲突后,如何推送前预览变更?
查看Cherry-Pick后的本地变更差异
1. 对比本地分支与远程分支的未推送变更
如果你的本地分支已经关联了远程分支,直接运行以下命令就能看到所有还没推送的变更(包括这次cherry-pick的内容):
git diff origin/你的分支名
把你的分支名换成你当前工作的分支,比如main或者dev。
2. 精准对比Cherry-Pick前后的分支状态
要是你想只看这次cherry-pick(含冲突解决)带来的所有变更,先找到cherry-pick开始前的提交哈希,然后执行:
git diff <cherry-pick前的提交哈希> HEAD
要是记不清之前的提交,也可以用相对引用——比如你cherry-pick了2个提交,且之后没做其他操作,就用:
git diff HEAD~2 HEAD
3. 查看单个文件的具体变更
如果只关心某个文件的改动,在命令末尾加上文件路径就行:
git diff origin/你的分支名 路径/到/你的文件
4. 用图形化工具直观查看差异
嫌命令行不够直观的话,Git自带的图形化工具能帮你可视化对比:
git difftool
它会调用你配置好的图形工具(比如VS Code、Beyond Compare)展示变更细节。
另外补充:如果cherry-pick还没完全完成(比如还有后续提交待处理),你可以用git diff查看工作区和暂存区的差异,或者git diff --cached查看暂存区和当前HEAD的差异,确认冲突解决后的内容是否正确。
内容的提问来源于stack exchange,提问作者Junaid Rahman
相关产品推荐
相关产品推荐

