创建版本库,添加并提交文件,查看仓库的状态
- git init
- git add . //提交单个文件则使用 git add a.txt
- git commit -m "提交说明" //git commit -m "desc fix/close #id" 关联issue
- git status
- git log //显示从最近到最远的提交日志
- git log --pretty=oneline //显示commit id(版本号)和 commit 日志记录
- git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit //查看分支情况
- git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" //设置zsh快捷键
- git reset --hard //版本回退(回退到具体的版本号使用 git reset Commit-id)
- git reflog //用来记录你的每一次命令(即使回退了也可以看到)
- rm a.txt //删除文件
- git checkout -- a.txt //把误删的文件恢复到最新版本
远程仓库
- ssh-keygen -t rsa -C "youremail@example.com" //创建SSH Key
- $ git remote add origin “项目地址” //关联远程库
- $ git push -u origin master //将本地所有的文件推到远程仓库(由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)
- git clone “项目地址” //克隆远程库到本地
分支
- git checkout -b dev //创建分支dev相当于$ git branch dev 和 $git checkout dev两条命令
- git branch //查看分支
- git merge dev //合并dev分支(命令用于合并指定分支到当前分支)
- git branch -d dev //删除分支(-D强行删除)
标签
- git tag v1.0 //创建标签
- git tag //查看标签
- git tag v1.1 commit-id //给某个commit提交记录添加标签
- git show v1.1 //查看标签信息
- git tag -a v0.1 -m "version 0.1 released" commit-id //为标签添加信息的记录(-a指定标签名,-m添加说明)
- git tag -d v1.1 //删除标签
- git push origin v1.0 //提交标签到远程
- git push origin --tags //一次性提交所有标签
- git tag -d v0.9 && git push origin :refs/tags/v0.9 //删除远程标签分别执行两条命令
抓取远程分支
- git fetch origin <远程分支名> //此时会在本地就有分支了
使用 git branch -r 查看, 一般结果为
origin/HEAD -> origin/master
origin/master
origin/<远程分支名>
- 本地新建分支, 把此分支放入其中
git checkout -b <本地分支名> origin/<远程分支名>