乐趣区

git常用命令分类总结

在工作中经常会用到 git,但有时一些比较少见的操作仍然要在网上查询搜索。因而下面将一些常见的操作归纳总结如下:

1、基础类

克隆远程分支代码,- b 参数为指定分支名称,不指定则拉取 master 主分支
git clone -b beta git@gitlab.weget.com:phpers/weget.git
git pull 拉取代码
git push 提交代码
git add . 将本地所有变化文件添加到暂存区
git commit -m ‘ 提交日志 ’ 提交代码

2、分支类

以下 gary 指代自定义创建的分支名,根据实际情况自定义
git branch -a 查看远程所有分支(方便交互开发互相拉取)
git remote -vv 查看 git 链接信息
git branch gary 创建本地分支
git branch -d gary 删除本地分支
git push origin —delete gary 删除远程分支
git checkout gary 若 gary 为本地已存在分支,切换到 gary 分支。若 gary 存在远程,则在本地自动创建一个绑定到远程的 gary 的分支,并且切换到 gary 分支
git fetch origin gary 拉取远程某分支到本地
git merge origin/beta-local 合并本地某分支的代码到当前分支
git branch -vv 查看分支与远程分支的绑定关系
git remote prune origin 清除分支看到的项目中多余的远程分支(gitlab 中删除分支,但 git branch - a 仍然会看到所有分支的问题) 参考文章

3、撤销类

分以下三种情况:

3.1 未使用 git add 缓存代码时。

可以使用 git checkout — filepathname (比如:git checkout — readme.md,不要忘记中间的“–”,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout . 命令。

3.2 已经使用了 git add 缓存了代码。

可以使用 git reset HEAD filepathname(比如:git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。

3.3 已经用 git commit 提交了代码。

可以使用 git reset –hard HEAD^ 来回退到上一次 commit 的状态。此命令可以用来回退到任意版本:git reset –hard commitid

4、配置类

查看用户名和邮箱地址
git config user.name
git config user.email

修改用户名和邮箱地址
git config –global user.name “username”
git config –global user.email “email”

5、tag 类

5.1 git 打标签

git tag -a v1.4 -m ‘version 1.4’

列出现有标签的命令非常简单,直接运行 git tag 即可
可以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象。

5.2 查看相应标签的版本信息

git show v1.4

我们忘了在提交“updated rakefile”后为此项目打上版本号 v1.2,没关系,现在也能做。只要在打标签的时候跟上对应提交对象的校验和(或前几位字符)即可:
git tag -a v1.2 9fceb02

5.3 提交到远程

默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 git push origin [tagname] 即可:
git push origin v1.5
如果要一次推送所有本地新增的标签上去,可以使用 –tags 选项:
git push origin –tags

5.4 删除 tag

随着时间推移,项目频繁发布,会留下很多标签,git 有删除 tag 的命令
git tag -d tagName 删除 tag
git push origin :refs/tags/tagName 删除远程

6、其他

git log —pretty=online -n 10 格式化查看 git 日志
git blame -L 190,210 MSku.php 查看文件的某个行数范围内的历史提交记录,用于追责

退出移动版