Git常用命令速查
- master 預設主分支
- dev 預設開發分支
建立版本庫
git init
# 初始化本地git版本庫(建立新倉庫)
git config --global user.name "xxx"
# 配置使用者名稱
git config --global user.email "xxx@xxx.com"
# 配置郵件
git config --list
#檢視當前配置列表
git clone <url>
# clone遠端倉庫
修改、提交、刪除
git add index.php
# 新增index.php檔案到快取區
git add .
# 新增所有改動過的檔案到快取區
git add --all
# 新增所有檔案到快取區
git commit
# 提交快取區內的檔案(回車後需要鍵入描述:wq儲存退出)
git commit -m "描述"
# 提交快取區內的檔案,並提供描述
git commit -am `描述`
# 將add和commit合為一步
git commit --amend -m `xxx`
# 合併最後一次提交(用於反覆修改)
git rm index.php
# 刪除index.php檔案
git rm --cached index.php
# 將index.php檔案移出快取區,但不刪除( -r * 遞迴目錄)
git rm -f 1.html
# 將快取區中的1.html檔案移出並刪除
檢視
git status
# 檢視當前版本狀態(是否修改)
git diff
# 檢視所有新增到快取區的變更(工作區與版本庫的區別)
git diff index.php
# 檢視工作區檔案和庫檔案區別
git diff --cached
# 檢視所有已新增到快取區,但還未commit的變更(快取區與版本庫的區別)
git log
# 檢視提交歷史
git log --oneline
# 以簡短的方式檢視提交日誌
git reflog
# 行為日誌,顯示所有提交,回滾等..
git ls-files
# 顯示快取區的所有檔案
回退 與 撤銷
git reset --hard HEAD
# 將當前版本重置為HEAD(通常用於merge失敗回退)
git reset --hard HEAD^ # 回退上一個版本
git reset --hard HEAD^^ # 回退上兩個版本
git reset --hard HEAD~n # 回退上n個版本
git reset --hard <commitid>
# 回退指定版本,commitid根據log獲取
git checkout --filename
# 在工作區撤銷檔案的修改
git checkout HEAD [filename]
# 撤回新增至快取區的修改,不指定filename則撤回所有
分支操作
git pull origin master
# 獲取遠端分支master並merge到當前分支
git branch
# 顯示本地分支
git branch -a
# 顯示所有分支
git checkout 分支名/標籤名
# 切換到指定分支或標籤
git branch 分支名
# 新建分支
git branch -d 分支名
# 刪除本地分支 -D 強制刪除
遠端協作
git remote add <remote> <url>
# 新增遠端版本庫
git remote -v
# 檢視遠端版本庫資訊
git remote show <remote>
# 檢視指定遠端版本庫資訊
git remote remove <remote>
# 刪除遠端remote連結
git remote rename <old> <new>
# 重新命名遠端連結名
git pull <remote> <branch>
# 下載程式碼及快速合併
git push <remote> <branch>
# 上傳程式碼及快速合併
git merge origin master
# 將本地的遠端庫合併
git fetch origin
# 將遠端庫獲取本地但不合並
find .|xargs grep -ri "<<<<<<<" -l
# 查詢檔案內容