git常用命令速查

leo_qin發表於2018-02-04

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
# 查詢檔案內容

相關文章