+git init 创建版本库
+git add 添加文件到缓冲区
+git commit -m ‘xxx’ 提交到本地仓库
+git status 查看当前目录状态
+git diff 查看文件变化的内容
+git reset --hard HEAD^ 回退到上一版本, git reset --hard HEAD^^ 回退到上上版本,git reset --hard HEAD~100 回退到上100个版本,git reset —hard <commit id前几位> 回退到指定版本
+git reflog 查看历史版本,如果有需要,随后可以根据显示的commit id进行回退
+git add后如果又修改了,此时git commit只会提交add过的版本,后面修改的不会提交
+git checkout -- <file> revert文件到add过或最新的版本,先add的版本,再最新的版本
+git reset HEAD <file> 可以撤销git add的版本
+场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
+
+场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
+
+场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
+
+
+git rm 会同时删除仓库里的文件和本地文件,但是在提交之前,还是可以通过git reset HEAD && git checkout —- <file>恢复文件
+git rm 相当于本地rm <file> 再git add
+git remote add origin git@server-name:path/repo-name.git 关联一个远程库
+git push -u origin master第一次推送master分支的所有内容
+git push origin master推送最新修改(对远程库非第一次)
+git branch 查看分支
+git branch <name> 创建分支
+git checkout <name> 切换分支
+git checkout -b <name> 创建+切换分支
+git merge <name> 合并某分支到当前分支
+git branch -d <name> 删除分支
+git log —graph 查看分支合并图
+git stash 保存工作现场
+git stash list 查看保存的stash
+git stash apply stash@{n} 恢复指定的stash
+git stash pop stash@{n} 恢复现场并删除该stash
+如果一个分支没有被合并过,git branch -d feature 会被友情提醒,需要通过git branch -D feature 强行删除
+git tag <name>新建一个标签,默认为HEAD,也可以指定一个commit id;
+git tag -a <tagname> -m "blablabla..."可以指定标签信息;
+
+git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
+git tags可以查看所有标签。
+git push origin <tagname>可以推送一个本地标签;
+git push origin --tags可以推送全部未推送过的本地标签;
+git tag -d <tagname>可以删除一个本地标签;
+git push origin :refs/tags/<tagname>可以删除一个远程标签。