版本库
git init
初始化将目录变成Git可以管理的仓库
git add <file>
将文件添加到暂存区
git add -A
将所有变化的文件添加到暂存区
git commit -m <message>
将文件提交到仓库,-m后面的内容是本次提交的说明
git commit -a -m <message>
将暂存区所有文件提交到仓库
git status
查看暂存区当前的状态
git diff <file>
查看工作区该文件与版本库中当前分支上该文件之间的差异
git log
查看提交历史
git log --pretty=oneline
查看提交历史,每次提交在一行显示
git log --graph --pretty=oneline --abbrev-commit
图形化查看提交历史,每次提交在一行显示部分id
git reset --hard HEAD^<number>
HEAD表示当前版本,回退number个版本
git reset --hard <commit id>
根据commit id切换版本,id无需写全
git reflog
查看执行的每一次命令
git checkout -- <file>
撤销file在工作区中的修改,让file回到最近一次commit或add时的状态
git rm <file>
用于删除文件
远程库
git remote add origin git@server-name:path/repo-name.git
关联远程库,origin名称可以替换
git push -u origin master
第一次推送master分支的所有内容
git clone git@server-name:path/repo-name.git
或https://server-name/path/repo-name.git
克隆远程库
分支管理
git checkout -b <branch>
创建并切换到branch分支
git branch <branch>
创建branch分支
git checkout <branch>
切换到branch分支
git branch
列出所有分支,当前分支前面会标一个*号
git merge <branch>
合并branch分支到当前分支
git branch -d <branch>
删除branch分支
git log --graph
查看分支合并图
git merge --no-ff -m "merge with no-ff" <branch>
--no-ff参数,表示禁用Fast forward,形成新的提交
git stash
储存当前工作现场
git stash list
查看储存的工作现场
git stash apply <stash id>
恢复stash id工作现场,恢复后,stash内容并不删除
git stash drop <stash id>
删除储存的stash id工作现场
git stash pop
恢复stash id工作现场并删除储存
git branch -d <branch>
删除branch分支
git branch -D <branch>
强制删除branch分支
git remote
查看远程库信息
git remote -v
查看远程库详细信息
git push <repository> <branch>
推送到远程repository的branch分支
git checkout -b dev <repository>/<branch>
创建远程repository的branch分支到本地
git branch --set-upstream-to=<repository>/<branch> <branch>
设置本地branch和repository/branch的链接
git pull
抓取最新提交到本地
git rebase
把分叉的提交历史“整理”成一条直线
标签管理
git tag <tagn ame>
对当前分支最新提交打一个新标签
git tag
字母排序查看所有标签
git tag <tag name> <commit id>
对指定提交打标签
git show <tag name>
查看标签信息
git tag -a <tag name> -m "message"
指定标签信息
git tag -d <tag name>
删除标签
git push <repository> <tag name>
推送一个本地tag name标签到远程repository
git push <repository> --tags
可以推送全部未推送过的本地标签
git push <repository> :refs/tags/<tag name>
删除一个远程标签