2020-10-06 GIT 对比两个commit 之间某个版本的差异

         GIT 对比两个commit 之间某个版本的差异

 

一、对比两个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

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python的GitPython库来获取两个分支中commit差异,并使用Python的difflib库生成差异报告。 以下是一个简单的代码示例: ```python import git import difflib # 打开git仓库 repo = git.Repo('/path/to/repo') # 获取两个分支 branch1 = repo.branches['branch1'] branch2 = repo.branches['branch2'] # 获取两个分支的commit列表 commits1 = list(branch1.commit_iter()) commits2 = list(branch2.commit_iter()) # 获取两个分支的commit差异 commit_diff = set(commits1) - set(commits2) # 解析差异并生成报告 for commit in commit_diff: # 获取commit的文件差异 diff_index = commit.diff(commit.parents[0]) # 打印commit信息 print('Commit:', commit.hexsha) print('Author:', commit.author.name, '<' + commit.author.email + '>') print('Date:', commit.authored_datetime) # 打印文件差异报告 for diff_item in diff_index: if diff_item.a_blob is None or diff_item.b_blob is None: continue # 只处理文件类型的差异 if not diff_item.a_blob.path.endswith('.py'): continue # 获取文件内容 old_content = diff_item.a_blob.data_stream.read().decode('utf-8') new_content = diff_item.b_blob.data_stream.read().decode('utf-8') # 生成差异报告 diff_report = difflib.unified_diff(old_content.splitlines(), new_content.splitlines(), lineterm='', fromfile=diff_item.a_blob.path, tofile=diff_item.b_blob.path) # 打印差异报告 for line in diff_report: print(line) ``` 这个示例代码演示了如何使用GitPython库获取两个分支中commit差异,并使用difflib库生成差异报告。您可以根据自己的需求修改代码来生成符合您需求的报告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值