在工作中经常会用到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 查看文件的某个行数范围内的历史提交记录,用于追责
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。