最全Git命令,掌握命令行操作。

  • git 中的路徑都要用網絡路徑,正斜槓”/”.
  • 暫存區:保存add命令添加的修改
  • git init 初始化
  • git add ‘file’ 將文件添加到倉庫(git add . 添加所有文件)
  • git status 查看文件狀態(基於版本庫)
  • git commit -m “msg” 提交更改(Insert 進入修改模式,Esc進入命令模式 :wq保存並退出 :q!不保存退出)
  • git log 查看log(q 退出log)
  • git reset –hard HEAD^ 回退到之前版本(^ 上個版本,^^上上個版本,~100前一百個版本)
  • git reflog 查看過去的版本信息(版本號)
    • HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset –hard commit_id。
    • 穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
    • 要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。
  • git diff HEAD – ‘file’ 比較文件在版本和工作區之間的差異。
  • cat ‘file’ 查看文件內容
  • 撤銷修改
    • git checkout – ‘file’ 將工作區和暫存區進行比較,丟棄工作區的修改,回到add到暫存區後的版本;
    • git reset –soft HEAD ‘file’ 將暫存區和HEAD版本比較,丟棄暫存區的修改;
    • 以上兩個命令結合可以將工作區回退到HEAD版本;
  • 分支
    • git branch -a 查看分支(包括遠程分支)
    • git branch -r 查看遠程分支
    • git branch ‘branchName’ 創建分支
    • git checkout ‘branchName’ 切換分支
    • git checkout -b ‘branchName’ 創建並切換分支
    • git checkout -b ‘localBranchName’ ‘remoteBranchName’ 將遠程分支checkout到本地的新建分支下
    • git merge ‘branchName’ 合併分支到當前分支
    • git merge –no-ff ‘branchName’ 用普通模式合併分支,這樣就能看到分支記錄
    • git branch -d ‘branchName’ 刪除分支(如果該分支沒有被合併,只能用下一條命令執行刪除
    • git branch -D ‘branchName’ 強行刪除分支
  • 解決衝突
    • git merge 的時候如果有衝突,會用”””’,=======,”””’標記出不同分支的內容,解決衝突後再add並commit就可以了。
    • git log –graph –pretty=oneline 查看分支圖
  • 儲存現場
    • git stash 當你開發到一半無法提交時,需要去解決一個緊急bug,可以用該命令將當前工作區的內容(被git管理的)存儲在stash中,解決了bug後,再恢復現場.
    • git stash list 查看stash列表
    • git stash apply [‘stashName’] 將工作區回到存儲的現場
    • git stash drop [‘stashName’] 刪除現場
    • git stash pop [‘stashName’] 將工作區回到現場並刪除現場
    • git stash save [] 備註現場
    • git stash clear 清空stash列表
  • git pull ‘遠程主機名’ ‘遠程分支名’:’本地分支名’
  • 全局配置
    • git config –global user.email “[email protected]
    • git config –global user.name “Your Name”
  • 遠程操作
    • git remote add [origin] [git address]:添加遠程倉庫,將本地倉庫鏈接到git address對應的遠程倉庫,然後就可以push本地內容到git遠程倉庫了;
    • git remote -v 查看遠程倉庫信息
    • git pull origin ‘rBranchName’:’lBranchName’ 從遠程倉庫的分支下拉取代碼到本地分支
    • pull操作相當於git fetch origin ‘rBranchName’ –’ git log -p ‘lBranchName’..origin/’rBranchName’ –’ git merge origin/’rBranchName’
    • git fetch origin ‘rBranchName’ 將遠程倉庫的分支代碼拉取到本地,保存在.git文件夾中,但是不執行合併操作
    • git push origin ‘lBranchName’:’rBranchName’ 提交代碼到遠程倉庫,本地分支在冒號前面.
    • 過時git branch –set-upstream [‘lBranchName’] origin/’rBranchName’
    • git branch –set-upstream-to=origin/’rBranch’ ‘lBranch’:將本地分支tracing遠程分支,這樣執行git push origin 操作的時候,就會默認將代碼提交到指定的遠程分支上,該命令只需執行一次.
    • git log –graph –pretty=oneline –abbrev-commit:查看分支圖
    • git cherry-pick ‘commit-id’:將某次commit應用到該分支,可以跨分支。
    • git push origin :’rBranchName’:通過push一個空的本地分支到遠程庫的方式,刪除遠程分支
    • git push & git pull:在某個分支執行git push,只會push當前分支到遠程庫,如果要push其他分支,需要在push後加上分支信息;但是執行git pull,會將遠程庫中所有的分支信息都更新,不過只有當前分支會直接merge到本地代碼上,對於其他分支,相當於執行了一次fetch
發佈了38 篇原創文章 · 獲贊 45 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章