外国购物网站设计风格,可信的专业网站建设,上海建站模板系统,河北网站制作公司地址GIT高级使用技巧
导出GIT日志到文件
按照 哈希 - 作者名 作者邮箱地址 - 作者日期 : commit描述 的格式导出日志
git log --prettyformat:%H - %an %ae - %ad : %s master log.txt筛选日志并按照从旧到新…GIT高级使用技巧
导出GIT日志到文件
按照 哈希 - 作者名 作者邮箱地址 - 作者日期 : commit描述 的格式导出日志
git log --prettyformat:%H - %an %ae - %ad : %s master log.txt筛选日志并按照从旧到新的顺序排序且只要提交哈希值用于批量cherry-pick等操作
cat log.txt | grep 匹配关键字 | awk {print $1} | tac批量git cherry-pick
要批量应用 git cherry-pick 命令可以使用 xargs配合 git cherry-pick 使用。具体步骤如下
将要应用的提交 ID 复制到一个文本文件中每行一个提交 ID。执行以下命令
cat file.txt | xargs git cherry-pick optionsoptions 可以是 -m 1 意思是遇到merge commit的时候因为merge commit会有多个parent需要选择以哪个parent为主。-m 1 是指以第一个parent为主。如果不指定该选项遇到merge commit会报错中断。
当使用 git cherry-pick 命令批量应用提交时可能会发生冲突。如果发生冲突Git 会停止应用提交并提示您解决冲突。在解决冲突后您需要继续应用剩余的提交。可以使用 git cherry-pick --continue 命令来继续应用提交或者使用 git cherry-pick --abort 命令取消应用提交。
查看删除文件的历史记录
用以下命令去查看改名或者删除某个文件的commit。
git log --follow --diff-filterRD --full-history 分支名 -- 文件路径git log会从分支的HEAD节点往上回溯找到所有符合条件的commit。
强行更新submodules
submodules的内容有时候会丢失但是却无法补全执行git submodule update --init --recursive也无效。这时候需要强制更新 -f。
git submodule update --init --recursive -f查看某个文件从某个点开始回溯的历史变动路径
用以下命令打开gitk图形用户界面。
gitk 分支/tag/commit 文件路径