合并分支
(资料图)
# 直接将branch2硬合到branch1,有冲突再解决冲突git checkout branch1git merge branch2
合并分支的某个文件
# 只将branch2的合并到branch1git checkout branch1git checkout branch2
比较两个分支的差异
git diff branch1 branch2
比较两个分支的提交
# branch1有的而branch2没有git log branch1 ^branch2# branch1比branch2多的提交git log branch1..branch2# 不管谁提交的多,有差异的提交git log branch1...branch2# 左箭头< 标识branch1,右箭头>标识branch2git log --left-right branch1...branch2
git log --date=iso --pretty=format:'"%h","%an","%ad","%s"' ># 将2021-12-12之后的commit输出git log --date=iso --pretty=format:'"%h","%an","%ad","%s"' --after="2021-12-12" >
logc参数说明如下:
-p 按补丁格式显示每个更新之间的差异。--stat 显示每次更新的文件修改统计信息。--shortstat 只显示 --stat 中最后的行数修改添加移除统计。--name-only 仅在提交信息后显示已修改的文件清单。--name-status 显示新增、修改、删除的文件清单。--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。--graph 显示 ASCII 图形表示的分支合并历史。--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)
格式信息说明如下:
选项 说明%H 提交对象(commit)的完整哈希字串%h 提交对象的简短哈希字串%T 树对象(tree)的完整哈希字串%t 树对象的简短哈希字串%P 父对象(parent)的完整哈希字串%p 父对象的简短哈希字串%an 作者(author)的名字%ae 作者的电子邮件地址%ad 作者修订日期(可以用 -date= 选项定制格式)%ar 作者修订日期,按多久以前的方式显示%cn 提交者(committer)的名字%ce 提交者的电子邮件地址%cd 提交日期%cr 提交日期,按多久以前的方式显示%s 提交说明-<n>仅显示最近的 n 条提交。--since, --after仅显示指定时间之后的提交。--until, --before仅显示指定时间之前的提交。--author仅显示作者匹配指定字符串的提交。--committer仅显示提交者匹配指定字符串的提交。--grep仅显示提交说明中包含指定字符串的提交。-S仅显示添加或删除内容匹配指定字符串的提交
可以在比较两个分支的同时,将日志格式化输出:
git log --date=iso --pretty=format:'"%h","%an","%ad","%s"' branch1..branch >
/p/413ea4c4ccf6
/allanGold/article/details/87181284
/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2
标签: