之前断断续续用过git 在github上用客户端上传过 可是没有好好整理过git的知识 今天重温了下 顺便整理了下git
git status github
git commit -msql
git log --pretty=onelineapp
git reflogcode
git reset HEAD readme.txt 暂存区的修改退回到工做区(即你修改了工做区 可是仅仅 git add 若是要工做区的也退回 还得执行 git checkout -- readme.txt)orm
git checkout -- readme.txt 丢弃工做区的修改 回到最近一次 git add 或者git commit 的状态server
git reset --hard HEAD~1 退回上一个版本rem
git reset --hard xxxxxx 退回到固定版本it
git rm test.txt 删除一个文件 io
git remote add origin git@server-name:path/repo-name.git exam: git remote add origin git@github.com:code-newguy/repo-name.git
在本地关联远程库
git push -u origin master 把当前分支master推送到远程新的master分支 本地的master和远程的master分支关联起来(第一次) 以后能够git push origin master
git branch 查看分支
git checkout -b dev 建立而且切换到dev分支
git branch dev 建立分支dev
git checkout dev 切换分支dev
git merge <name> 合并分支到当前分支
git branch -d <name> 删除分支
git log --graph --pretty=oneline --abbrev-commit 查看分支的状况
git merge --no-ff -m "merge with no-ff " dev 使用no-ff模式合并
git stash 储藏当前工做现场
git stash apply | git stash drop 恢复工做现场 删除stash
git pop 恢复工做现场 删除stash
git branch -D <name> 丢弃一个没有被合并的分支
git tag v1.0 xxxxxx 特定的commit id 打标签
git tag 查看标签
git show <tagname> 查看标签信息
git tag -a <tagname> -m "information" xxxxxx 建立带有说明的标签
git push origin <tagname> 推送一个本地标签
git push origin --tags 推送所有未推送过的本地标签
git tag -d <tagname> 本地删除标签
git push origin :refs/tags/<tagname> 删除远程标签
git pull origin master // pull changes 上传时 原来的文件中含有readme.txt LICENCE 等文件 能够在git push origin master 以前写上