git 高级指北

2023-08-31 22:16:30哔哩哔哩

git 高级指北

解决分支与分支之间的碰撞

合并分支


(资料图)

# 直接将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

将log格式化输出

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 >

reference

/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

标签:

企业

快递保价纠纷频发的背后 快递物流业保价规则亟需官方出面制定
2022-09-15
详细行程
重见天日!河南禹州瓦店遗址最新考古研究成果曝光
2022-08-05
详细行程
全面取消落户限制!30个城市城区常住人口超300万
2022-03-21
详细行程