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 強(qiáng)推

# 第一次初始化(方式2):

git clone git@github.com:git帳號名/倉庫名.git

# 平時(shí)工作基本操作:

git checkout master # 切到主分支

git fetch origin? # 獲取最新變更

git checkout -b dev origin/master # 基于主分支創(chuàng)建dev分支

git add . # 添加到緩存

git commit -m 'xxx' # 提交到本地倉庫

git fetch origin # 獲取最新變更

git rebase dev origin/master # 合并到主分支

git push origin dev # 推送到遠(yuǎn)程分支git chekout master # 切到主分支git merge dev # 合并開發(fā)分支git clone -b 遠(yuǎn)程分支 倉庫地址 # 本地不存在倉庫 拉取遠(yuǎn)程分支代碼git checkout -b 遠(yuǎn)程分支 origin/遠(yuǎn)程分支 # 本地存在倉庫,拉取遠(yuǎn)程分支

# 初始化倉庫

git init

# 查看倉庫當(dāng)前狀態(tài)

git status

# 將文件添加到倉庫

git add 文件名 # 將工作區(qū)的某個文件添加到暫存區(qū)?

git add . # 將當(dāng)前工作區(qū)的所有文件都加入暫存區(qū)

git add -u # 添加所有被tracked文件中被修改或刪除的文件信息到暫存區(qū),不處理untracked的文件

git add -A # 添加所有被tracked文件中被修改或刪除的文件信息到暫存區(qū)轴踱,包括untracked的文件

git add -i # 進(jìn)入交互界面模式乎完,按需添加文件到緩存區(qū)

# 將暫存區(qū)文件提交到本地倉庫

git commit -m "提交說明" # 將暫存區(qū)內(nèi)容提交到本地倉庫

git commit -a -m "提交說明" # 跳過緩存區(qū)操作瞒瘸,直接把工作區(qū)內(nèi)容提交到本地倉庫

# 比較文件異同

git diff # 工作區(qū)與暫存區(qū)的差異

git diff 分支名 #工作區(qū)與某分支的差異,遠(yuǎn)程分支這樣寫:remotes/origin/分支名

git diff HEAD? # 工作區(qū)與HEAD指針指向的內(nèi)容差異

git diff 提交id 文件路徑 # 工作區(qū)某文件當(dāng)前版本與歷史版本的差異

git diff --stage # 工作區(qū)文件與上次提交的差異(1.6 版本前用 --cached)

git diff 版本TAG # 查看從某個版本后都改動內(nèi)容

git diff 分支A 分支B # 比較從分支A和分支B的差異(也支持比較兩個TAG)

git diff 分支A...分支B # 比較兩分支在分開后各自的改動

# 另外:如果只想統(tǒng)計(jì)哪些文件被改動,多少行被改動,可以添加 --stat 參數(shù)

# 查看歷史記錄

git log # 查看所有commit記錄(SHA-A校驗(yàn)和离福,作者名稱,郵箱炼蛤,提交時(shí)間妖爷,提交說明)

git log -p -次數(shù) # 查看最近多少次的提交記錄

git log --stat # 簡略顯示每次提交的內(nèi)容更改

git log --name-only # 僅顯示已修改的文件清單

git log --name-status # 顯示新增,修改理朋,刪除的文件清單

git log --oneline # 讓提交記錄以精簡的一行輸出

git log –graph –all --online # 圖形展示分支的合并歷史

git log --author=作者? # 查詢作者的提交記錄(和grep同時(shí)使用要加一個--all--match參數(shù))

git log --grep=過濾信息 # 列出提交信息中包含過濾信息的提交記錄

git log -S查詢內(nèi)容 # 和--grep類似絮识,S和查詢內(nèi)容間沒有空格

git log fileName # 查看某文件的修改記錄,找背鍋專用

# 代碼回滾

git reset HEAD^ # 恢復(fù)成上次提交的版本

git reset HEAD^^ # 恢復(fù)成上上次提交的版本暗挑,就是多個^笋除,以此類推或用~次數(shù)

git reflog

git reset --hard 版本號

--soft:只是改變HEAD指針指向斜友,緩存區(qū)和工作區(qū)不變炸裆;

--mixed:修改HEAD指針指向,暫存區(qū)內(nèi)容丟失鲜屏,工作區(qū)不變烹看;

--hard:修改HEAD指針指向,暫存區(qū)內(nèi)容丟失洛史,工作區(qū)恢復(fù)以前狀態(tài)惯殊;

# 同步遠(yuǎn)程倉庫

git push -u origin master

# 刪除版本庫文件

git rm 文件名

# 版本庫里的版本替換工作區(qū)的版本

git checkout -- test.txt

# 本地倉庫內(nèi)容推送到遠(yuǎn)程倉庫

git remote add origin git@github.com:帳號名/倉庫名.git

# 從遠(yuǎn)程倉庫克隆項(xiàng)目到本地

git clone git@github.com:git帳號名/倉庫名.git

# 創(chuàng)建分支

git checkout -b dev

-b表示創(chuàng)建并切換分支

上面一條命令相當(dāng)于一面的二條:

git branch dev //創(chuàng)建分支

git checkout dev //切換分支

# 查看分支

git branch

# 合并分支

git merge dev? #用于合并指定分支到當(dāng)前分支

git merge --no-ff -m "merge with no-ff" dev? #加上--no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支也殖,能看出來曾經(jīng)做過合并

# 刪除分支

git branch -d dev

# 查看分支合并圖

git log --graph --pretty=oneline --abbrev-commit

# 查看遠(yuǎn)程庫信息

git remote

# git相關(guān)配置

# 安裝完Git后第一件要做的事土思,設(shè)置用戶信息(global可換成local在單獨(dú)項(xiàng)目生效):

git config --global user.name "用戶名" # 設(shè)置用戶名

git config --global user.email "用戶郵箱"? #設(shè)置郵箱

git config --global user.name? # 查看用戶名是否配置成功

git config --global user.email? # 查看郵箱是否配置

# 其他查看配置相關(guān)

git config --global --list? # 查看全局設(shè)置相關(guān)參數(shù)列表

git config --local --list # 查看本地設(shè)置相關(guān)參數(shù)列表

git config --system --list # 查看系統(tǒng)配置參數(shù)列表

git config --list? # 查看所有Git的配置(全局+本地+系統(tǒng))

git config --global color.ui true //顯示git相關(guān)顏色

# 撤消某次提交

git revert HEAD # 撤銷最近的一個提交

git revert 版本號 # 撤銷某次commit

# 拉取遠(yuǎn)程分支到本地倉庫

git checkout -b 本地分支 遠(yuǎn)程分支 # 會在本地新建分支务热,并自動切換到該分支

git fetch origin 遠(yuǎn)程分支:本地分支 # 會在本地新建分支,但不會自動切換己儒,還需checkout

git branch --set-upstream 本地分支 遠(yuǎn)程分支 # 建立本地分支與遠(yuǎn)程分支的鏈接

# 標(biāo)簽

git tag 標(biāo)簽 //打標(biāo)簽命令崎岂,默認(rèn)為HEAD

git tag //顯示所有標(biāo)簽

git tag 標(biāo)簽 版本號 //給某個commit版本添加標(biāo)簽

git show 標(biāo)簽 //顯示某個標(biāo)簽的詳細(xì)信息

# 同步遠(yuǎn)程倉庫更新

git fetch? origin master

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市闪湾,隨后出現(xiàn)的幾起案子冲甘,更是在濱河造成了極大的恐慌,老刑警劉巖途样,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件江醇,死亡現(xiàn)場離奇詭異,居然都是意外死亡何暇,警方通過查閱死者的電腦和手機(jī)陶夜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來裆站,“玉大人律适,你說我怎么就攤上這事《舨澹” “怎么了捂贿?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胳嘲。 經(jīng)常有香客問我厂僧,道長,這世上最難降的妖魔是什么了牛? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任颜屠,我火速辦了婚禮,結(jié)果婚禮上鹰祸,老公的妹妹穿的比我還像新娘甫窟。我一直安慰自己,他們只是感情好蛙婴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布粗井。 她就那樣靜靜地躺著,像睡著了一般街图。 火紅的嫁衣襯著肌膚如雪浇衬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天餐济,我揣著相機(jī)與錄音耘擂,去河邊找鬼。 笑死絮姆,一個胖子當(dāng)著我的面吹牛醉冤,可吹牛的內(nèi)容都是我干的秩霍。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼蚁阳,長吁一口氣:“原來是場噩夢啊……” “哼前域!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起韵吨,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤匿垄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后归粉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椿疗,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年糠悼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了届榄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡倔喂,死狀恐怖铝条,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情席噩,我是刑警寧澤班缰,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站悼枢,受9級特大地震影響埠忘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜馒索,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一莹妒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绰上,春花似錦旨怠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至疯趟,卻和暖如春拘哨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背信峻。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瓮床,地道東北人盹舞。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓产镐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親踢步。 傳聞我的和親對象是個殘疾皇子癣亚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

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

  • git命令自動補(bǔ)全(MAC) 1.安裝Homebrew一 、安裝bash-completion $ brew in...
    眼睛好酸閱讀 435評論 0 0
  • 分支的三個版本: 遠(yuǎn)程版本庫获印,如 github.com述雾; 遠(yuǎn)程快照,使用 git branch -r 查看到的 o...
    林子er閱讀 270評論 0 0
  • 圖片 git config - - 可以配置git的參數(shù)兼丰,可以使用 git config --list查看已經(jīng)配置...
    tjqbtp閱讀 252評論 0 1
  • Git和其他版本控制系統(tǒng)如SVN的一個不同之處就是有暫存區(qū)的概念玻孟。 工作區(qū)(Working Directory) ...
    Sixah閱讀 269評論 0 2
  • Git簡介 Git是Linux之父Linus的第二個偉大的作品,它最早是在Linux上開發(fā)的鳍征,被用來管理Linux...
    Windy_816閱讀 27,133評論 1 37