git 小妙招
代码量统计:
git log --since=2023-09-01 --until=2025-09-08 --author="git_name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'
git 到指定提交位置新建分支
git checkout -b <新分支名> <提交哈希>
git 在当前分支下合并某个分支名的某些提交
首先,使用 git log
命令查找要合并的分支上的提交;
git log --pretty=format:"%h %s" 分支名 //运行此命令后,将只显示每个提交的哈希值和提交备注。
确保你在要将提交合并到的当前分支上
git checkout <当前分支名>
使用 git cherry-pick
命令,将特定提交合并到当前分支上
git cherry-pick <提交哈希>
git cherry-pick <A> <B> //A和B都提交
git cherry-pick A..B //从 A 到 B 的所有提交,不包括A
git cherry-pick A^..B //从 A 到 B 的所有提交,包括A
解决合并冲突:打开包含冲突的文件,手动编辑文件解决冲突,在编辑文件时,选择保留需要的更改,并删除冲突标记。也可以在vs、vscode、TortoiseGit、sourcetree等软件中进行冲突处理;
解决冲突
使用 git add 命令标记为已解决
git add <冲突文件1> <冲突文件2> ...
完成合并
git cherry-pick --continue
接下来commit 或skip 结束 cherry-pick状态
git cherry-pick --skip
git clone指定分支
git clone -b br_name url
git 查询本地存储库的远程地址
git remote -v