原文地址(個人我的博客):瘋狂小兵的博客html
master: 默認開發分支git
origin: 默認遠程版本庫github
Head: 默認開發分支fetch
Head^: Head的父提交url
$ git clone <url> #克隆遠程版本庫 $ git init #初始化本地版本庫
$ git status #查看狀態 $ git diff #查看變動內容 $ git add . #跟蹤全部改動過的文件 $ git add <file> #跟蹤指定的文件 $ git mv <old><new> #文件更名 $ git rm<file> #刪除文件 $ git rm --cached<file> #中止跟蹤文件但不刪除 $ git commit -m "commit messages" #提交全部更新過的文件 $ git commit --amend #修改最後一次改動
$ git log #查看提交歷史 $ git log -p <file> #查看指定文件的提交歷史 $ git blame <file> #以列表方式查看指定文件的提交歷史 $ git diff --cached <filename> #查看本地已經add可是沒有commit的文件修改狀況 $ git diff <filename> #查看變動可是沒有add的修改狀況
$ git reset --hard HEAD #撤銷工做目錄中全部未提交文件的修改內容 $ git checkout HEAD <file> #撤銷指定的未提交文件的修改內容 $ git checkout -- readme.txt #丟棄工做區指定文件的修改 $ git revert <commit> #撤銷指定的提交 $ git log --before="1 days" #退回到以前1天的版本
$ git branch #顯示全部本地分支 $ git checkout <branch/tag> #切換到指定分支和標籤 $ git branch <new-branch> #建立新分支 $ git branch -d <branch> #刪除本地分支 $ git tag #列出全部本地標籤 $ git tag <tagname> #基於最新提交建立標籤 $ git tag -d <tagname> #刪除標籤 $ git checkout origin/remoteName -b localName #將遠程分支拉取到本地分支(沒有則自動建立)
$ git merge <branch> #合併指定分支到當前分支 $ git rebase <branch> #衍合指定分支到當前分支 $ git cherry-pick <commitId> #將其餘分支的指定commit合併到當前分支
$ git remote -v #查看遠程版本庫信息 $ git remote show <remote> #查看指定遠程版本庫信息 $ git remote add <remote> <url> #添加遠程版本庫 $ git fetch <remote> #從遠程庫獲取代碼 $ git pull <remote> <branch> #下載代碼及快速合併 $ git push <remote> <branch> #上傳代碼及快速合併 $ git push <remote> :<branch/tag-name> #刪除遠程分支或標籤 $ git push --tags #上傳全部標籤
$ git push -f origin develop # 強制將遠程回滾到和本地版本,須要先將本地庫回滾到指定版本