Git經常使用命令

原文地址(個人我的博客):瘋狂小兵的博客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  # 強制將遠程回滾到和本地版本,須要先將本地庫回滾到指定版本

資料連接

  1. Try Git
相關文章
相關標籤/搜索