美文网首页
觉得有用的git命令

觉得有用的git命令

作者: Emma_371b | 来源:发表于2019-08-05 15:23 被阅读0次

背景: Git 是非常优秀的团队协作管理工具。经常会使用一些命令,列举如下

  1. 第一次下载代码
    git clone XXX.git

  2. 切换到master
    git checktout master

  3. 拉取最新的代码
    git pull

  4. 创建分支
    git checkout -b nameXXX

  5. 提交到远端
    git push origin nameXXX

  6. 有些时候,经常在本地更改,此文件并不能ignore,又担心会误提交,可以使用如下命令忽略此文件
    git update-index --assume-unchanged app/Providers/AppServiceProvider.php

  7. 过滤出当前分支,自某个时间开始,某个作者修改过的不同文件
    git whatchanged --since="2019-03-25" --author="emma" --no-commit-id --name-only | sort | uniq

  8. 查看最新的4条日志
    git log -4

  9. 查询代码提交行数、修改行数,往往日提交量在150左右,可用于评估工作量,在两个版本之间提交之间
    git log --numstat --pretty="%H" --author="Your Name" commit1..commit2 | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
    示例:
    git log --numstat --pretty="%H" --author="emma" 188fc8261dc0281d5c917a308e4b2498e12c2016..f83769a0e51aabd3b8bdcbc5b0fc7d3af56e2374 | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'

  10. 排除文件权限变更提交【mac,linux操作系统对于文件权限校验严格,如果没有执行权限是不能执行的,当前代码中就有phpunit在本地开发环境中需要执行,但不能提交到git库中,那么就需要使用git的功能忽略文件权限的变更】

git config core.filemode false
git config --global core.filemode false
  1. 比较两个分支不同的文件命令 git diff master branch --stat,
    如: git diff master hotfix/v201909_01_pedding_data --stat
    如排除目录 vendor 使用命令
    git diff master hotfix/v201911_02_grant_cancel --stat ':(exclude)vendor/*' > /tmp/diff.log
    排除前端
    git diff master hotfix/v201912_01_grant_effect_refactor --stat ':(exclude)vweb/*' ':(exclude)*.js' ':(exclude)*.html'

相关文章

网友评论

      本文标题:觉得有用的git命令

      本文链接:https://www.haomeiwen.com/subject/jyemdctx.html