Git基本使用命令

Git配置

Git最小配置

  • 配置全局賬戶,該賬戶對所有Git倉庫都有效
git config --global user.name '賬戶名稱'
git config --global user.email 'Email地址'
  • 配置局部賬戶,該賬戶對當前Git倉庫有效
git config --local user.name '賬戶名稱'
git config --local user.email 'Email地址'

查看相關配置

  • 查看global類型的配置情況
git config --global --list
  • 查看某個倉庫下的配置情況
git config --local --list

本地基本操作

基本操作

  • 查看變更情況
git status
  • 查看當前工作在那個分支
git branch -v
  • 切換到指定分支
git checkout 指定分支名稱
  • 把當前目錄及其子目錄下所有變更都加入到暫存區(qū)
git add .
  • 把倉庫內(nèi)所有變更都加入到暫存區(qū)
git add -A
  • 把指定文件添加到暫存區(qū)
git add 文件1 文件2 ...
  • 創(chuàng)建commit,提交當前數(shù)據(jù)
git commit

比較差異

  • 比較某文件工作區(qū)暫存區(qū)的差異
git diff 某文件
  • 比較某文件暫存區(qū)和HEAD的差異
git diff --cache 某文件
  • 比較工作區(qū)和暫存區(qū)的所有差異
git diff
  • 比較暫存區(qū)和HEAD的所有差異
git diff --cache

暫存區(qū)與工作區(qū)之間回滾

  • 把工作區(qū)指定文件恢復成和暫存區(qū)一樣
git checkout 文件1 文件2 ...
  • 把暫存區(qū)指定文件恢復和HEAD一樣
git reset 文件1 文件2 ...
  • 把暫存區(qū)和工作區(qū)所有文件恢復成和HEAD一樣
git reset --hard
  • difftool比較任意兩個commit的差異
git difftool commit1 commit2

其他

  • 查看哪些文件沒有被Git管控
git ls-files --others

臨時任務處理

  • 把未處理完的變更先保存到stash
git stash
  • 臨時任務處理完后,繼續(xù)之前的工作
git stash pop           # 把之前任務彈出
或者
git stash apply         # 從棧頂把任務取出
  • 查看所有的stash
git stash list
  • 取回某次stash的變更
git stash pop stash @{數(shù)字}

修改分支歷史

  • 修改最后一次commit
git add
git commit --amend
  • 修改中間的commit
git rebase -i (commit的id)
git add
git rebase --contiue

查看變更日志

  • 當前分支各個commit用一行顯示
git log --online
  • 顯示最近的n個commit
git log -n
  • 用圖示顯示所有分支歷史
git log --online --graph --all
  • 查看涉及到某文件變更的所有commit
git log 某文件
  • 某文件各行最后修改對應的commit以及作者
git blame 某文件

分支和標簽

創(chuàng)建新分支

  • 基于當前分支創(chuàng)建新分支
git branch 新分支
  • 基于指定分支創(chuàng)建新分支
git branch 新分支 已有分支
  • 基于某個commit創(chuàng)建分支
git branch 新分支 某個commit的id
  • 創(chuàng)建分支并且切換到該分支
git chechout -b 新分支

列出分支

  • 列出本地分支
git branch -v
  • 列出本地和遠端分支
git branch -av
  • 列出遠端所有分支
git branch -rv
  • 列出名稱符號某樣式的遠端分支
git branch -rv -l '某樣式'

刪除分支

  • 安全刪除本地某分支
git branch -d 要刪除的分支
  • 強行刪除本地分支
git branch -D 要刪除的分支
  • 刪除已合并到master分支的所有本地分支
git branch --merged master | grep -v '^\*\ | master ' | xargs -n 1 git branch -d
  • 刪除遠端origin已不存在的所有本地分支
git remote prune origin

打標簽

  • commit打上標簽
git tag 標簽名 (commit的id)

兩分支之間的集合

  • A分支合入到當前分支,且為merge創(chuàng)建commit
git merge A分支
  • A分支合入到B分支,且為Merge創(chuàng)建commit
git merge A分支 B分支
  • 當前分支基于B分支做rebase,以便把B分支合入到當前分支
git rebase B分支
  • A分支基于B分支做rebase,以便把B分支合入到A分支
git rebase B分支 A分支
  • mergetool解決沖突
git mergetool

遠端交互

  • 列出所有 remote
git remote -v
  • 增加 remote
git remote add url地址
  • 刪除 remote
git remote remove (remote的名稱)
  • 改變 remote的 name
git remote rename 舊名稱 新名稱
  • 把遠端所有分支和標簽的變更都拉到本地
git fetch remote
  • 把遠端分支的變更拉到本地,且 merge到本地分支
git pull remote名稱 分支名
  • 本地分支push到遠端
git push remote名稱 分支名
  • 刪除遠端分支
git push remote --delete 遠端分支名
或者
git push remote:遠端分支名
  • 遠端提交指定標簽
git push remote 標簽名
  • 遠端提交所有標簽
git push remote --tags
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 熟悉Git Git是一個開源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項目版本管理。Git的運用范...
    形而下z閱讀 542評論 1 1
  • Git的使用心得 由于公司對我的代碼管理不嚴謹,所以荒廢了好久的Git,一直就沒怎么用,后面也多忘光了,所以再次重...
    IUVO閱讀 349評論 0 1
  • (git下載地址) Git學習地址 http://www.yiibai.com/git/git_basic_con...
    52Alice閱讀 471評論 0 1
  • 安裝gitsudo apt-get install git 生成gitSSH共鑰cd ~/.ssh 、ls - l...
    蘇少冬閱讀 214評論 0 1
  • 經(jīng)過一下午的git學習,感覺受益匪淺,不扯淡了,直接進入主題吧,以下是小二對git的一些見解。 首先取得項目的gi...
    走在路上的小二閱讀 480評論 0 3

友情鏈接更多精彩內(nèi)容