Git的命令和使用

Git原理

每個(gè)項(xiàng)目都有一個(gè) Git 目錄枉昏,它是 Git 用來(lái)保存元數(shù)據(jù)和對(duì)象數(shù)據(jù)庫(kù)的地方。該目錄非常重要闻书,每次克隆鏡像倉(cāng)庫(kù)的時(shí)候,實(shí)際拷貝的就是這個(gè)目錄里面的數(shù)據(jù)脑慧。? 從項(xiàng)目中取出某個(gè)版本的所有文件和目錄魄眉,用以開始后續(xù)工作的叫做工作目錄,這些文件實(shí)際上都是從 Git 目錄中的壓縮對(duì)象數(shù)據(jù)庫(kù)中提取出來(lái)的闷袒,接下來(lái)就可以在工作目錄中對(duì)這些文件進(jìn)行編輯坑律。? 所謂的暫存區(qū)域只不過(guò)是個(gè)簡(jiǎn)單的文件,一般都放在 Git 目錄中霜运。有時(shí)候人們會(huì)把這個(gè)文件叫做索引文件脾歇,不過(guò)標(biāo)準(zhǔn)說(shuō)法還是叫暫存區(qū)域。

對(duì)于任何一個(gè)文件淘捡,在 Git 內(nèi)都只有三種狀態(tài):

????1.已提交(committed)

????2.已修改(modified)

????3.已暫存(staged)

已提交表示該文件已經(jīng)被安全地保存在本地?cái)?shù)據(jù)庫(kù)中了藕各;已修改表示修改了某個(gè)文件,但還沒(méi)有提交保存焦除;已暫存表示把已修改的文件放在下次提交時(shí)要保存的清單中激况。 所以Git 管理項(xiàng)目時(shí),文件流轉(zhuǎn)分為三個(gè)工作區(qū)域:

????1.Git 的工作目錄

????2.暫存區(qū)域

????3.以及本地倉(cāng)庫(kù)。



首先安裝 Git

在你開始使用 Git 前乌逐,需要將它安裝在你的計(jì)算機(jī)上竭讳。 即便已經(jīng)安裝,最好將它升級(jí)到最新的版本浙踢。 你可以通過(guò)軟件包或者其它安裝程序來(lái)安裝绢慢,或者下載源碼編譯安裝。下載完打開安裝包直接傻瓜式下一步即可洛波。

Window安裝

? http://git-scm.com/download/win?下載Git客戶端軟件胰舆,和普通軟件? ? 安裝方式一樣。

? Linu安裝

? CentOS發(fā)行版:sudo yum install git

? Ubuntu發(fā)行版:sudo apt-get install git

? Mac安裝

? 打開Terminal直接輸入git命令蹬挤,會(huì)自動(dòng)提示缚窿,按提示引導(dǎo)安裝即可


一、配置自己的GitHub賬號(hào)

git config --global user.name "自已的名字"

git config --global user.email "自已的郵箱地址"


二焰扳、項(xiàng)目初始化

git init 項(xiàng)目初始化

git status 查詢狀態(tài)

git add file * 或 -A 添加文件到暫存區(qū)

git reset --hard sha值?恢復(fù)到上一次的提交

git clone (項(xiàng)目地址) 將遠(yuǎn)程倉(cāng)庫(kù)克隆到本地


三倦零、 項(xiàng)目本地代碼上傳到遠(yuǎn)程倉(cāng)庫(kù)

git add . 項(xiàng)目添加到暫存區(qū)

git commit -m "" 項(xiàng)目提交的注釋

git remote add origin + (git路徑) 項(xiàng)目遠(yuǎn)程庫(kù)地址

git pull --rebase origin master 項(xiàng)目本地和遠(yuǎn)程同步合并

git push -u origin master 項(xiàng)目推送到遠(yuǎn)程倉(cāng)庫(kù)


四、 項(xiàng)目分支管理

git branch 查看分支

git branch -a 查看所有的分支 綠色*為選中狀態(tài)

git checkout (分支名字) 切換分支

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

git checkout - 切換到上一個(gè)分支

git merge (分支名字) 合并某分支到當(dāng)前分支

git branch -d (分支名字) 刪除分支


五吨悍、 撤回修改

git reset --hard 回到節(jié)點(diǎn)的commit時(shí)的狀態(tài)

git reset --soft 只重置本地倉(cāng)庫(kù)文件 工作區(qū)文件不變

git checkout file 文件撤銷其修改

git checkout . 本地所有修改的扫茅,沒(méi)有的提交的,都返回到原來(lái)的狀態(tài)

git checkout -- 若繼續(xù)該命令畜份,則會(huì)刪除掉剛剛的修改內(nèi)容


六诞帐、共享倉(cāng)庫(kù)

mkdir repo.git 創(chuàng)建以.git結(jié)尾目錄

cd repo.git 進(jìn)入這個(gè)目錄

git init --bare 初始化一個(gè)共享倉(cāng)庫(kù),注意選項(xiàng)--bare

這樣我們就建好了一個(gè)共享的倉(cāng)庫(kù)爆雹,但這時(shí)這個(gè)倉(cāng)庫(kù)是一個(gè)空的倉(cāng)庫(kù)停蕉。 以上是我們直接創(chuàng)建裸倉(cāng)庫(kù)的步驟,除了上面的方法外钙态,我們還可以通git clone --bare 倉(cāng)庫(kù)地址的形式慧起,將已有一個(gè)倉(cāng)庫(kù)導(dǎo)出成裸倉(cāng)庫(kù)向共享倉(cāng)庫(kù)共享內(nèi)容 通過(guò): git push 倉(cāng)庫(kù)地址 從共享倉(cāng)庫(kù)里取出內(nèi)容 git clone ./repo.git demo git pull ../repo.git master?


七、git提交的格式

1.提交類型說(shuō)明 :

feat :新功能

fix :修復(fù)bug?

doc : 文檔改變

style : 代碼格式改變

refactor :某個(gè)已有功能重構(gòu)

perf :性能優(yōu)化

test :增加測(cè)試

build :改變了build工具 如 grunt換成了npm

revert: 撤銷上一次的commit

scope :用來(lái)說(shuō)明此次修改的影響范圍 可以隨便填寫任何東西 commitizen也給出了幾個(gè) 如:location 册倒、browser蚓挤、compile不過(guò)我推薦使用

all :表示影響面大 ,如修改了網(wǎng)絡(luò)框架? 會(huì)對(duì)真?zhèn)€程序產(chǎn)生影響

loation: 表示影響小驻子,某個(gè)小小的功能

module:表示會(huì)影響某個(gè)模塊 如登錄模塊灿意、首頁(yè)模塊 、用戶管理模塊等等

subject: 用來(lái)簡(jiǎn)要描述本次改動(dòng)崇呵,概述就好了

body:具體的修改信息 應(yīng)該盡量詳細(xì)

footer:放置寫備注啥的缤剧,如果是 bug ,可以把bug id放入

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末域慷,一起剝皮案震驚了整個(gè)濱河市荒辕,隨后出現(xiàn)的幾起案子汗销,更是在濱河造成了極大的恐慌,老刑警劉巖抵窒,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弛针,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡李皇,警方通過(guò)查閱死者的電腦和手機(jī)削茁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掉房,“玉大人付材,你說(shuō)我怎么就攤上這事∑匝簦” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵璧帝,是天一觀的道長(zhǎng)捍岳。 經(jīng)常有香客問(wèn)我,道長(zhǎng)睬隶,這世上最難降的妖魔是什么锣夹? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮苏潜,結(jié)果婚禮上银萍,老公的妹妹穿的比我還像新娘。我一直安慰自己恤左,他們只是感情好贴唇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著飞袋,像睡著了一般戳气。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上巧鸭,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天瓶您,我揣著相機(jī)與錄音,去河邊找鬼纲仍。 笑死呀袱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的郑叠。 我是一名探鬼主播夜赵,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锻拘!你這毒婦竟也來(lái)了油吭?” 一聲冷哼從身側(cè)響起击蹲,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎婉宰,沒(méi)想到半個(gè)月后歌豺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡心包,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年类咧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蟹腾。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡痕惋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出娃殖,到底是詐尸還是另有隱情值戳,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布炉爆,位于F島的核電站堕虹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏芬首。R本人自食惡果不足惜赴捞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郁稍。 院中可真熱鬧赦政,春花似錦、人聲如沸耀怜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)封寞。三九已至然评,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間狈究,已是汗流浹背碗淌。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抖锥,地道東北人亿眠。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像磅废,于是被迫代替她去往敵國(guó)和親纳像。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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

  • 簡(jiǎn)介 Git 作為分布式版本控制系統(tǒng)拯勉,基于去中心化的設(shè)計(jì)思想竟趾,在每個(gè)分布式節(jié)點(diǎn)上都保存有完整的版本憔购,降低了對(duì)中心倉(cāng)...
    zhipingChen閱讀 560評(píng)論 0 3
  • Git命令使用 前言在使用Git命令之前都使用可視化工具SourceTree操作git,現(xiàn)在需要Git Andro...
    WilsonMing閱讀 449評(píng)論 0 1
  • 原文出處:涂根華的博客 一:Git是什么岔帽? Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)玫鸟。 二:SVN與Git的最...
    挑戰(zhàn)者666888閱讀 4,491評(píng)論 6 27
  • 最近在公司的服務(wù)器上安裝了GitSever,開始從SVN轉(zhuǎn)向到Git了犀勒,整理了一些在Git常用的命令屎飘。 取得Git...
    上善若水_900e閱讀 252評(píng)論 0 0
  • 一:Git是什么? Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)贾费。 二:SVN與Git的最主要的區(qū)別钦购? SVN是集...
    Splendid飛羽閱讀 318評(píng)論 0 0