Git常用命令合集


Git由四部組成

常用命令如下:

# 第一次初始化(方式1):
git init
git add .
git commit -m 'first commit'
git remote add origin git@github.com:帳號名/倉庫名.git
git pull origin master
git push origin master # -f 強推

# 第一次初始化(方式2):
git clone git@github.com:git帳號名/倉庫名.git

# 平時工作基本操作:
git checkout master # 切到主分支
git fetch origin  # 獲取最新變更
git checkout -b dev origin/master # 基於主分支創建dev分支
git add . # 添加到緩存
git commit -m 'xxx' # 提交到本地倉庫
git fetch origin # 獲取最新變更
git rebase dev origin/master # 合並到主分支
git push origin dev # 推送到遠程分支

git chekout master # 切到主分支
git merge dev # 合並開發分支

git clone -b 遠程分支 倉庫地址 # 本地不存在倉庫 拉取遠程分支代碼
git checkout -b 遠程分支 origin/遠程分支 # 本地存在倉庫,拉取遠程分支
# 初始化倉庫 git init # 查看倉庫當前狀態 git status # 將文件添加到倉庫 git add 文件名 # 將工作區的某個文件添加到暫存區 git add . # 將當前工作區的所有文件都加入暫存區 git add
-u # 添加所有被tracked文件中被修改或刪除的文件信息到暫存區,不處理untracked的文件 git add -A # 添加所有被tracked文件中被修改或刪除的文件信息到暫存區,包括untracked的文件 git add -i # 進入交互界面模式,按需添加文件到緩存區 # 將暫存區文件提交到本地倉庫 git commit -m "提交說明" # 將暫存區內容提交到本地倉庫 git commit -a -m "提交說明" # 跳過緩存區操作,直接把工作區內容提交到本地倉庫 # 比較文件異同 git diff # 工作區與暫存區的差異 git diff 分支名 #工作區與某分支的差異,遠程分支這樣寫:remotes/origin/分支名 git diff HEAD # 工作區與HEAD指針指向的內容差異 git diff 提交id 文件路徑 # 工作區某文件當前版本與歷史版本的差異 git diff --stage # 工作區文件與上次提交的差異(1.6 版本前用 --cached) git diff 版本TAG # 查看從某個版本后都改動內容 git diff 分支A 分支B # 比較從分支A和分支B的差異(也支持比較兩個TAG) git diff 分支A...分支B # 比較兩分支在分開后各自的改動 # 另外:如果只想統計哪些文件被改動,多少行被改動,可以添加 --stat 參數 # 查看歷史記錄 git log # 查看所有commit記錄(SHA-A校驗和,作者名稱,郵箱,提交時間,提交說明) git log -p -次數 # 查看最近多少次的提交記錄 git log --stat # 簡略顯示每次提交的內容更改 git log --name-only # 僅顯示已修改的文件清單 git log --name-status # 顯示新增,修改,刪除的文件清單 git log --oneline # 讓提交記錄以精簡的一行輸出 git log –graph –all --online # 圖形展示分支的合並歷史 git log --author=作者 # 查詢作者的提交記錄(和grep同時使用要加一個--all--match參數) git log --grep=過濾信息 # 列出提交信息中包含過濾信息的提交記錄 git log -S查詢內容 # 和--grep類似,S和查詢內容間沒有空格 git log fileName # 查看某文件的修改記錄,找背鍋專用 # 代碼回滾 git reset HEAD^ # 恢復成上次提交的版本 git reset HEAD^^ # 恢復成上上次提交的版本,就是多個^,以此類推或用~次數 git reflog git reset --hard 版本號 --soft:只是改變HEAD指針指向,緩存區和工作區不變; --mixed:修改HEAD指針指向,暫存區內容丟失,工作區不變; --hard:修改HEAD指針指向,暫存區內容丟失,工作區恢復以前狀態; # 同步遠程倉庫 git push -u origin master # 刪除版本庫文件 git rm 文件名 # 版本庫里的版本替換工作區的版本 git checkout -- test.txt # 本地倉庫內容推送到遠程倉庫 git remote add origin git@github.com:帳號名/倉庫名.git # 從遠程倉庫克隆項目到本地 git clone git@github.com:git帳號名/倉庫名.git # 創建分支 git checkout -b dev -b表示創建並切換分支 上面一條命令相當於一面的二條: git branch dev //創建分支 git checkout dev //切換分支 # 查看分支 git branch # 合並分支 git merge dev #用於合並指定分支到當前分支 git merge --no-ff -m "merge with no-ff" dev #加上--no-ff參數就可以用普通模式合並,合並后的歷史有分支,能看出來曾經做過合並 # 刪除分支 git branch -d dev # 查看分支合並圖 git log --graph --pretty=oneline --abbrev-commit # 查看遠程庫信息 git remote # git相關配置 # 安裝完Git后第一件要做的事,設置用戶信息(global可換成local在單獨項目生效): git config --global user.name "用戶名" # 設置用戶名 git config --global user.email "用戶郵箱" #設置郵箱 git config --global user.name # 查看用戶名是否配置成功 git config --global user.email # 查看郵箱是否配置 # 其他查看配置相關 git config --global --list # 查看全局設置相關參數列表 git config --local --list # 查看本地設置相關參數列表 git config --system --list # 查看系統配置參數列表 git config --list # 查看所有Git的配置(全局+本地+系統) git config --global color.ui true //顯示git相關顏色 # 撤消某次提交 git revert HEAD # 撤銷最近的一個提交 git revert 版本號 # 撤銷某次commit # 拉取遠程分支到本地倉庫 git checkout -b 本地分支 遠程分支 # 會在本地新建分支,並自動切換到該分支 git fetch origin 遠程分支:本地分支 # 會在本地新建分支,但不會自動切換,還需checkout git branch --set-upstream 本地分支 遠程分支 # 建立本地分支與遠程分支的鏈接 # 標簽 git tag 標簽 //打標簽命令,默認為HEAD git tag //顯示所有標簽 git tag 標簽 版本號 //給某個commit版本添加標簽 git show 標簽 //顯示某個標簽的詳細信息 # 同步遠程倉庫更新 git fetch origin master

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM