一、对比两个commit之间的差异:git diff commit-id-1 commit-id-2

1、"-"号开头的表示 commit-id-2 相对 commit-id-1 减少了的内容。
2、"+"号开头的表示 commit-id-2 相对 commit-id-1 增加了的内容。

二、对比两个commit之间某个文件的差异:git diff commit-id-1 commit-id-2  filename

解决中文字符问题 《Pro Git 》和 Tortoise Git 的帮助文档是两篇很不错的参考文档. 如果时间比 较紧, 可以看看Tortoise Git 的帮助文档, 对 Git 的用法, 文件存储等都会有 比较 好 对比常用的 CVS, Git 至少有以下几个优点: 不需要连接服务器就能实现 版本 管理; 一个库不管有多少层目录, 只有一个管理目录 在 commit 时, 可以将整个项目 commit , 这样可以实现不需要添加 Tag就 保存整个 版本 信息. 在做 Tag 时可以添加说明 相当清楚的是,如果一个回购中的 两个 git 提交不更改同一文件,或者它们不更改同一文件的重叠部分,则可以在某种意义上认为彼此“独立” 。 相反,当提交更改一行时,它不仅依赖于最后更改该行的提交,而且还依赖于负责提供周围上下文行的所有提交,因为没有这些行的先前 版本 和在它的上下文中,提交的 差异 可能无法完全适用(当然,取决于它的应用方式)。 因此,可以通过在提交更改的行上运行 git -blame来以编程方式推断出提交的所有依赖关系,此外,对于这种特定依赖关系分析的用例,还有很多上下文行是有意义的。 因此,依赖性计算受到“模糊”因子参数(cf )的影响,即参数的行数,这些行数被认为是完全落实提交的diff所必需的。 与许多依赖关系一样,这些依赖关系在节点对应于提交的DAG(有向无环图)中形成边。 请注意,节点只能依赖于其祖先的子集。 重要的是要意识到,由 git -deps推断出的任何依赖图可能在语义上都是不完整的。 例如 视觉上提交更改,挑选已修改的文件。 应用或保存来自选定提交的补丁系列,在 两个 q git 实例 之间 拖放提交。 将命令序列,脚本以及可执行的其他任何内容关联到自定义操作。 可以从菜单运行动作,并通过终端窗口获取相应的输出。 q git 为最常见的St GIT 命令(如push / pop和apply / save补丁程序)实现了GUI。 您还可以使用 git commit 的相同语义来创建新补丁或刷新当前的顶级补丁,即挑选单个已修改的文件。 您需要已安装的Qt开发人员库( 版本 5.0或更高 版本 )。 确保编译器,qmake(Qt5 版本 )和Qt5 bin工具在路径中。 Git 的各种操作 commit 信息的 比较 git diff id_1 id_2 git cherry-pick git diff 的用法其他知识请参考 git 中实现提交信息的换行,以及撤销换行的操作换行撤销换行操作ctrl+c 中断 commit 操作 git commit --amend -m 重新修改 git commit --amend 进入vim界面修改~~Up-Arrow 箭头~~ git 中实现复制,粘贴键盘操作鼠标操作 此文部分不清楚的问题 git diff id_1…id_2 和 git diff id_1 i 以表格的形式展示改动文件的列表,会展示文件的完整路径,本文中已经有样例。想要统计某两次提交记录 之间 的所有改动文件,方便对线上项目进行增量更新。numstat后面接的是需要对比的两次提交记录的id,前后顺序没有关系。会统计文件的改动情况,但是不会展示改动文件的路径,本文中已经有样例。numstat表示以表格的形式展示改动文件,并且文件路径是完整路径。不然路径中存在中文时会显示为“\126\326\”这样的数字。使用diff命令来列出 两个 版本 之间 的改动文件。使用diff命令来统计 两个 版本 之间 的改动文件。 本地工作区和暂存区的diff信息: git diff 或者 git diff file 暂存区和 版本 库的diff信息(使用 git add 将工作区修改保存到了暂存区后): git diff --cached 版本 库中不同 commit 、分支的diff信息(使用 git commit 将暂存区修改提交到了 版本 库): git diff commit 1 commit 2 或 git diff branch1 branch2 技巧:一般将要对比的分支/comm 大纲1. 背景2. 方案2.1 SourceTree 查看 差异 2.2 git difftool 查看 差异 2.3 git diff 输出 差异 文件2.4 git format-patch 生成补丁2.5 Android Studio 差异 比对3. 总结1. 背景 Git 作为一种分布式 版本 管理工具,已经越来越普及了,绝大部分公司都使用 Git 进行代码的 版本 管理,甚至是文档的 版本 管理。包...