Git流程圖
- workspace:工作區
- staging area:暫存區/緩存區
- local repository:本地倉庫
- remote repository:遠端倉庫
Git常用指令
- 建立倉庫
git init 初始化倉庫git clone 克隆遠端倉庫項目到本地
- 送出與修改
git add 添加檔案到倉庫git commit -m '' 送出暫存區到本地倉庫git commit --amend 修改commit注釋git commit -am '' 送出跟蹤過的檔案,即add和commit的合并git status 檢視倉庫目前狀态,顯示有變更的檔案git diff 比較檔案的不同,即暫存區和工作區的差異git log 檢視曆史送出記錄git rm 删除工作區檔案git mv 移動或重命名工作區文git clean -df 撤銷本地修改git checkout 撤銷工作區中檔案的修改git merge master 合并master分支到目前分支git merge --abort 終止合并,回到沖突之前git cherry-pick commit 'commit_id' 送出某個commit到目前分支git cherry-pick --abort 終止合并,回到沖突之前
- 版本回退
git reset --hard HEAD^ 回退到上一個送出版本(删除空間改動代碼,撤銷commit,撤銷git add .)git reset --hard HEAD^^ 回退到上上一個送出版本git reset --hard 'commit_id' 回退到commit_id指定的送出版本git reset --mixed HEAD^ 回退到上一個送出版本(不删除空間改動代碼,撤銷commit,撤銷git add .)git reset --soft HEAD^ 回退到上一個送出版本(不删除空間改動代碼,撤銷commit,不撤銷git add .)
- 分支管理
git branch 檢視本地分支資訊git branch -a 檢視遠端分支資訊git branch -v 檢視相對詳細的本地分支資訊git branch -av 檢視相對詳細的遠端分支資訊git branch dev 建立一個dev分支git brancd -d dev 删除本地dev分支git push origin :dev 删除遠端dev分支git checkout dev 切換到dev分支git chekcout -b dev 建立dev分支并切換到dev分支
- 遠端操作
git remote 檢視遠端倉庫資訊git fetch 擷取遠端倉庫的更新内容,不會自動合并git pull 擷取遠端倉庫的更新内容,并自動合并git push 将本地分支推送到遠端分支