Git基本使用命令

Git配置

Git最小配置

  • 配置全局賬戶,該賬戶對(duì)所有Git倉(cāng)庫(kù)都有效
git config --global user.name '賬戶名稱'
git config --global user.email 'Email地址'
  • 配置局部賬戶咖驮,該賬戶對(duì)當(dāng)前Git倉(cāng)庫(kù)有效
git config --local user.name '賬戶名稱'
git config --local user.email 'Email地址'

查看相關(guān)配置

  • 查看global類型的配置情況
git config --global --list
  • 查看某個(gè)倉(cāng)庫(kù)下的配置情況
git config --local --list

本地基本操作

基本操作

  • 查看變更情況
git status
  • 查看當(dāng)前工作在那個(gè)分支
git branch -v
  • 切換到指定分支
git checkout 指定分支名稱
  • 把當(dāng)前目錄及其子目錄下所有變更都加入到暫存區(qū)
git add .
  • 把倉(cāng)庫(kù)內(nèi)所有變更都加入到暫存區(qū)
git add -A
  • 把指定文件添加到暫存區(qū)
git add 文件1 文件2 ...
  • 創(chuàng)建commit,提交當(dāng)前數(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ū)指定文件恢復(fù)成和暫存區(qū)一樣
git checkout 文件1 文件2 ...
  • 把暫存區(qū)指定文件恢復(fù)和HEAD一樣
git reset 文件1 文件2 ...
  • 把暫存區(qū)和工作區(qū)所有文件恢復(fù)成和HEAD一樣
git reset --hard
  • difftool比較任意兩個(gè)commit的差異
git difftool commit1 commit2

其他

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

臨時(shí)任務(wù)處理

  • 把未處理完的變更先保存到stash
git stash
  • 臨時(shí)任務(wù)處理完后橙依,繼續(xù)之前的工作
git stash pop           # 把之前任務(wù)彈出
或者
git stash apply         # 從棧頂把任務(wù)取出
  • 查看所有的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

查看變更日志

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

分支和標(biāo)簽

創(chuàng)建新分支

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

列出分支

  • 列出本地分支
git branch -v
  • 列出本地和遠(yuǎn)端分支
git branch -av
  • 列出遠(yuǎn)端所有分支
git branch -rv
  • 列出名稱符號(hào)某樣式的遠(yuǎn)端分支
git branch -rv -l '某樣式'

刪除分支

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

打標(biāo)簽

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

兩分支之間的集合

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

遠(yuǎn)端交互

  • 列出所有 remote
git remote -v
  • 增加 remote
git remote add url地址
  • 刪除 remote
git remote remove (remote的名稱)
  • 改變 remote的 name
git remote rename 舊名稱 新名稱
  • 把遠(yuǎn)端所有分支和標(biāo)簽的變更都拉到本地
git fetch remote
  • 把遠(yuǎn)端分支的變更拉到本地,且 merge到本地分支
git pull remote名稱 分支名
  • 本地分支push到遠(yuǎn)端
git push remote名稱 分支名
  • 刪除遠(yuǎn)端分支
git push remote --delete 遠(yuǎn)端分支名
或者
git push remote:遠(yuǎn)端分支名
  • 遠(yuǎn)端提交指定標(biāo)簽
git push remote 標(biāo)簽名
  • 遠(yuǎn)端提交所有標(biāo)簽
git push remote --tags
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奸柬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子婴程,更是在濱河造成了極大的恐慌廓奕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異桌粉,居然都是意外死亡授段,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門番甩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)侵贵,“玉大人,你說我怎么就攤上這事缘薛∏嫌” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵宴胧,是天一觀的道長(zhǎng)漱抓。 經(jīng)常有香客問我,道長(zhǎng)恕齐,這世上最難降的妖魔是什么乞娄? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮显歧,結(jié)果婚禮上仪或,老公的妹妹穿的比我還像新娘。我一直安慰自己士骤,他們只是感情好范删,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拷肌,像睡著了一般到旦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上巨缘,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天添忘,我揣著相機(jī)與錄音,去河邊找鬼若锁。 笑死搁骑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拴清。 我是一名探鬼主播靶病,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼口予!你這毒婦竟也來(lái)了娄周?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沪停,失蹤者是張志新(化名)和其女友劉穎煤辨,沒想到半個(gè)月后裳涛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡众辨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年端三,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹃彻。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡郊闯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蛛株,到底是詐尸還是另有隱情团赁,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布谨履,位于F島的核電站欢摄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏笋粟。R本人自食惡果不足惜怀挠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望害捕。 院中可真熱鬧绿淋,春花似錦、人聲如沸吨艇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)东涡。三九已至,卻和暖如春倘待,著一層夾襖步出監(jiān)牢的瞬間疮跑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工凸舵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祖娘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓啊奄,卻偏偏與公主長(zhǎng)得像渐苏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子菇夸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 熟悉Git Git是一個(gè)開源的分布式版本控制系統(tǒng)琼富,可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理庄新。Git的運(yùn)用范...
    形而下z閱讀 471評(píng)論 1 1
  • Git的使用心得 由于公司對(duì)我的代碼管理不嚴(yán)謹(jǐn)鞠眉,所以荒廢了好久的Git薯鼠,一直就沒怎么用,后面也多忘光了械蹋,所以再次重...
    IUVO閱讀 291評(píng)論 0 1
  • (git下載地址) Git學(xué)習(xí)地址 http://www.yiibai.com/git/git_basic_con...
    52Alice閱讀 440評(píng)論 0 1
  • 安裝gitsudo apt-get install git 生成gitSSH共鑰cd ~/.ssh 出皇、ls - l...
    蘇少冬閱讀 155評(píng)論 0 1
  • 經(jīng)過一下午的git學(xué)習(xí),感覺受益匪淺哗戈,不扯淡了郊艘,直接進(jìn)入主題吧,以下是小二對(duì)git的一些見解唯咬。 首先取得項(xiàng)目的gi...
    走在路上的小二閱讀 422評(píng)論 0 3