之前斷斷續續用過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 以前寫上