git difftool对比差异,避免推送不相关内容

问题

在利用git进行版本管理的时候,经常会由于对其他不相关的代码,做了一些小改动,例如删除了一个空行,多了一个缩进等。

为避免将这些不相关的改动也提交到远程,对PR造成不必要的影响,可以利用git diff命令查看两个版本之间的差异,从而删除那些自己"不经意做的改动"。

做法

  1. 下载文件对比工具Beyond Compare

  2. 使Beyond Compare在MAC OS下永久使用

shell 复制代码
# 切换到Applications路径
cd /Applications/Beyond Compare.app/Contents/MacOS

# 重命名启动文件BCompare为BCompare.real
mv BCompare BCompare.real

# 重新生成一个BCompare文件,使用shell,执行删除注册信息文件再运行启动文件动作
vim BCompare

# 插入以下内容后保存退出
!/bin/bash
rm "/Users/$(whoami)/Library/Application Support/Beyond Compare/registry.dat"
"`dirname "$0"`"/BCompare.real $@

# 给BCompare文件添加执行权限
chmod a+x BCompare
  1. 在git中配置diftools工具
shell 复制代码
git config --global diff.tool bc
  1. 打开Beyond Compared后,在该软件设置中安装命令行工具

  2. 在git中比较不同版本的差异

shell 复制代码
// 比较两个commitid之间的区别
git difftool <commitId1>  <commitId2> 

//比较工作区与指定commitid的区别
git difftool <commitId>

//比较缓存区与指定commitid的区别
git --cached <commitId>
相关推荐
Geek-Chow5 小时前
Git 标签与发布流程:轻量标签、附注标签与签名标签
git·tags
wear工程师6 小时前
Git 冲突怎么解决:别只删标记,先看懂暂存区的 1、2、3 阶段
git
村雨遥6 小时前
覆盖提交不等于删除,这才是彻底清除 Git 历史的正确姿势
git·github
淮北4946 小时前
ubuntu22 默认输入法调整频率
运维·服务器·git·ubuntu·elasticsearch
dunge20268 小时前
2026 ChatGPT Plus / Pro + Codex 实战:从 0 搭一套 AI 编程项目模板,AGENTS.md + Git + 测试一次配好
人工智能·git·chatgpt
福如意如我心意1 天前
git清除仓库敏感文件并同步至远端的操作
git
Brilliantwxx1 天前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
.Hypocritical.2 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼2 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化