下面是工作中常用的git指令珊楼,后續(xù)有用到新命令會更新在這:
- 查看git的版本
git --version
- 將本地的修改生成一個commit
git add .
git commit -m "xxx"
或者
git commit -a
- 查看分支
git branch
git branch -vv // 查看分支與遠程分支的關(guān)系
- 查看分支的狀態(tài)
git status
git status -s / git status --short // 查看簡要文件狀態(tài)舟扎,??表示新文件,A表示新文件但已追蹤狼忱,M表示修改文件
- 查看提交歷史
git log
git log --stat // 查看簡短的歷史信息
git log --graph // 以圖形的方式顯示歷史
git log --since=2.weeks //顯示兩周內(nèi)的提交歷史
git log branchA..branchB // ..表示branchA到branchB所需要的commit,可以比較分支的差異
- 查看提交的日志
git reflog
- 修改最近一次的提交
git commit --amend // 命令實際上是將暫存區(qū)的內(nèi)容與最近的commit重新提交馅精,也可以修改提交信息
git commit --amend --no-edit // 不編輯commit信息
- 變基操作
git rebase xxx
git rebase -i commitIDXXX // 基于某個commit進行變基操作
- 合并分支操作
git merge xxx
- 將本地修改放到修改暫存區(qū)
git stash / git stash push
- 將本地修改從修改暫存區(qū)取出
git stash pop
git stash list // 查看修改暫存區(qū)列表內(nèi)容
git stash branch newBranchXXX // 將暫存區(qū)的內(nèi)容適配到新開的分支中
git clean -df // 清理暫存區(qū)的內(nèi)容 -d表示目錄岩馍,-f表示文件
- 將本地分支推到遠程分支
git push origin xxx
git pusj --set-upstream origin xxx // 與某個遠程分支建立聯(lián)系
git push origin --delete xxx // 刪除遠程分支
- 建立倉庫
git init
- 拉取倉庫代碼
git clone xxxxx
- 拉取并合并代碼
git pull == git fetch + git merge
- 重置操作
git reset
創(chuàng)建新的分支
git branch myBranch切換分支
git checkout
git switch
- 創(chuàng)建并切換到新分支
git checkout -b xxx
git switch -c / git switch --create
- 回退commit
git revert xxx
- 刪除分支
git branch -d xxx // 刪除
git branch -D xxx // 強行刪除
git branch --move old_branch_name new_branch_name // 修改分支名
- 差異比較
git diff branchXXX // 與某分支進行比較
git diff --staged // 與暫存區(qū)的文件進行比較
- 將commit應(yīng)用到分支上
git cherry-pick commit
- 查看git的配置
git config --list
- 刪除文件
git rm
- 移動文件
git mv
- 暫存但不提交(v2.23.0以后)
git restore --staged // 放到暫存區(qū),但commit不會提交
- 查看遠程信息
git remote
git remote -v // 讀寫遠程倉庫
git remote show // 獲取更多遠程信息
- 獲取遠程分支
git fetch
- 打標簽
git tag
git tag -l / git tag --list // 列表的形式展示版本信息
git tag -a v2.1.0 // 打附注標簽伙菊,適用比較大的變動
git tag v2.1.0-lw // 打輕量級標簽败玉,修改的只是某些文件的引用
git tag -d v2.1.0 // 刪除標簽版本
- 查看標簽
git show v2.1.0 // 查看版本對應(yīng)的信息
- 生成用戶配置信息
git config --global user.email "xxx@email.com"
git config --global user.name "xxxx"
(ssh-keygen -t rsa -C "xx@email.com")
- 設(shè)置別名
git config --global alias.br branch