由网络副手--寻路人于2018.08.01 20:21:00发布在 GIT 一些常用的技巧 阅读3304 评论0 喜欢1 一、Git 的基本⽤用法 Git 是分布式的代码管理⼯工具,远程的代码管理是基于 SSH的,所以要使⽤用远程的 Git 则需要 SSH 的配置。 设置 Git 的 username 和 email,⽤用来显⽰示提交的作者信息: $ git config --global user.name “duchaoqun" $ git config --global user.email “duchaoqun@xxx.com" $ git config --list 查看配置列表 二、⽣生成SSH密钥过程 $ ssh-keygen -t rsa -C “duchaoqun@xxx.com” 三、基本命令 git init #⽤用来初始化项⽬目 git clone url #⽤用来下载代码到本地 git add file #把⽂文件从modify区放到workspace区 git add . git commit -m “***” #提交到本地仓库 git pull origin master #获取远端的master分⽀支上的代码 git push origin master #提交到远端的master分⽀支 git stash/apply #暂存 git tag –a x.x.x #打标签 四、分支操作 git branch branchname #创建分⽀支 git checkout branchname #切换分⽀支 git checkout -b branchname #创建并切换分⽀支 git branch/branch –r #查看远程分⽀支 git branch -d branchname #删除本地分⽀支 git push origin branchname git push origin –delete branchname #删除远程分⽀支 五、Git 修改管理 git checkout -- README.md #放弃修改 git reset HEAD README.md #回退暂存区 git checkout branchname #切换分⽀支 git rm filename #删除⽂文件 git merge branchname #合并分⽀支 git commit –m ‘’ –i #冲突解决 六、Git ⽇日志分析 git log #查看所有提交的分⽀支 -p 按补丁格式显⽰示每个更新之间的差异。 -num --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(后跟指定格式)。 --author “提交⼈人” --grep “” 搜索提交关键词 -n num 显⽰示近期提交的数量 -since, --after 仅显⽰示指定时间之后的提交。 --until, --before 仅显⽰示指定时间之前的提交。 --author 仅显⽰示指定作者相关的提交。 --committer 仅显⽰示指定提交者相关的提交。 来看⼀一个实际的例⼦子,如果要查看 Git 仓库中,2018 年 04 ⽉月期间,duchaoqun 提交的但未 合并的测试脚本(位于项⽬目的 t/ ⽬目录下的⽂文件),可以⽤用下⾯面的查询命令: git log --pretty="%h - %s" --author=duchaoqun --since="2018-04-01" \ --before="2018-04-18" - -no-merges -- t/ git show commit #查看提交的⽇日志详情 git log --pretty=online ⽂文件名 #查看指定⽂文件提交的记录 git blame file_name #查看指定⽂文件、⽤用户修改记录、时间 两段常用配置: git config --global alias.lm "log --no-merges --color --date=format:'%Y-%m-%d %H:%M:%S' --author='你的名字!自己修改!' --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Cblue %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit" git config --global alias.lms "log --no-merges --color --stat --date=format:'%Y-%m-%d %H:%M:%S' --author='你的名字!自己修改!' --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Cblue %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit" git config --global alias.ls "log --no-merges --color --graph --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Cblue %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit" git config --global alias.lss "log --no-merges --color --stat --graph --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Cblue %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit" 赞 1 分享 赏 您可以选择一种方式赞助本站 支付宝扫码赞助 BraveDu 署名: 网络副手~寻路人