有用但不常用的 git 命令

慢慢更新

  • 去掉对 xxx.php 文件的跟踪
    git rm --cached xxx.php
  • merge 的时候合并多次 commit 为一个
    git merge --squash branch
  • 删除远程分支
    git push origin :branchName
  • 查看修改过的文件列表
    git diff --name-only commitId
  • git fetch 之后,遇到下面这种错误

error: cannot lock ref 'refs/remotes/origin/xxxxx': 'refs/remotes/origin/xxx' exists; cannot create 'refs/remotes/origin/xxxxx'

执行 git remote prune origin

  • 查看某次 commit 修改的文件
    git show --pretty="" c9a60ef4bc1c4337293a4ea95bb8dd9407a3e306 --name-only
  • 查询某人的提交历史
    git log --since=2019-01-01 --until=2019-06-30 --author="jiayx" --pretty=format:"%h - %an, %ad : %s"
  • 统计代码行数
    git log --author="jiayx" --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 }' -

评论