- 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
最全Git命令,掌握命令行操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.