程序员必备的git的基础用法,如创建分支,拉取代码,合并代码,推送代码,解决冲突,创建tag,推送tag,删除tag,拉取tag等.
查看分支列表
git branch -a
选项:-a:all的缩写,同时列出本地分支和远程分支。若不加该选项,则只列出本地分支。
修改分支名称
git branch -m 旧分支名 新分支名
删除本地分支
git branch -d 本地分支名或git branch -D 本地分支名 选项:
-d:delete的缩写,会在删除前检查merge状态(其与上游分支或者与head)。 -D:是–delete –force的简写,它会直接删除。
删除远程分支
git push origin –delete 远程分支名
推送远程分支
git push origin 远程分支名或git push -f origin 远程分支名 选项:
-f:是–force的简写,表示强制覆盖远程分支。
打标签
git tag 标签名或git tag -a 标签名 -m “注释”
推送标签
git push origin 标签名
删除本地标签
git tag -d 标签名
删除远程标签
git push origin :refs/tags/标签名
同步远程标签到本地
删除本地所有标签
git tag -l | xargs git tag -d
拉取远程所有标签
git fetch –tags
查看远程仓库与本地仓库的关系
git remote show origin
清理本地无效的远程追踪分支
git remote prune origin
删除本地指定的远程仓库地址
git remote remove 远程仓库地址(如:origin)
添加本地指定的远程仓库地址
git remote add origin 远程仓库地址(如:git@192.168.3.251:jaron/test.git)
拉取远程分支并创建本地分支
git checkout -b 本地分支名 origin/远程分支名
统计当前分支提交次数
git log –oneline | wc -l windows平台下没有wc指令,需要使用:git log –oneline | find /v /c “”
在仓库中首次拉取子模块
git submodule update –init –recursive
在仓库中更新子模块
git submodule update –recursive –remote
设置CRLF和LF
- 提交时转换为LF,检出时转换为CRLF git config –global core.autocrlf true
- 提交时转换为LF,检出时不转换 git config –global core.autocrlf input
- 提交检出均不转换 git config –global core.autocrlf false
- 拒绝提交包含混合换行符的文件 git config –global core.safecrlf true
- 允许提交包含混合换行符的文件 git config –global core.safecrlf false
- 提交包含混合换行符的文件时给出警告 git config –global core.safecrlf warn