Git常用命令

一品干貨

1弯蚜、初始化代碼庫(kù)

創(chuàng)建一個(gè)新的代碼庫(kù)(當(dāng)前目錄下)

$ git init

2孔轴、Clone到本地

$ git clone xxxx(url)

3、改動(dòng)文件保存到緩存區(qū)

先add碎捺,此時(shí)沒有commit路鹰,只是在緩存區(qū)

$ git add .

4贷洲、提交本地倉(cāng)庫(kù)

將緩存區(qū)的本次修改命名,并且提交到倉(cāng)庫(kù)區(qū)

$ git commit -m "change message"

5晋柱、提交本地緩存

將暫時(shí)沒有提交到緩存區(qū)的代碼保存到棧上优构,在更新代碼時(shí)候使用,保存本地沒有commit的內(nèi)容

$ git stash

可以把儲(chǔ)藏想象成一種剪貼板雁竞,它會(huì)獲取你工作副本(working copy)中的所有改動(dòng)钦椭,并且保存到一個(gè)新的剪貼板上。然后你就會(huì)得到一個(gè)“干凈”的工作副本碑诉,也就是說一個(gè)不存在任何改動(dòng)的工作目錄彪腔。

之后你隨時(shí)都可以重新調(diào)回那些保存在剪貼板中的改動(dòng)到你的工作副本中來,從而繼續(xù)你之前沒有完成的工作进栽。

你可以建立多個(gè)儲(chǔ)藏單元德挣,不僅僅局限于存儲(chǔ)一組變化。同樣快毛,儲(chǔ)藏也會(huì)不綁定在你所處的當(dāng)前分支或是任何其它分支上格嗅,如果你想要調(diào)回任意一個(gè)儲(chǔ)藏單元,它的改動(dòng)將會(huì)被應(yīng)用在你當(dāng)前的 HEAD 分支上唠帝。

6屯掖、獲取本地緩存列表

獲取在棧上保存的代碼列表

$ git stash list

7、還原緩存內(nèi)容

$ git stash apply stash@{0}

(a) 使用 “git stash pop” 命令没隘,它將調(diào)回最新的一個(gè)儲(chǔ)藏單元懂扼,并且把它從剪貼板中刪除掉。
(b) 使用 “git stash apply <stashname>” 命令右蒲,它將調(diào)回那個(gè)你所給出的儲(chǔ)藏單元阀湿,而這個(gè)儲(chǔ)藏單元還會(huì)保留在剪貼板中。你可以隨時(shí)使用 “git stash drop <stashname>” 來刪除它瑰妄。

儲(chǔ)藏的時(shí)機(jī)

儲(chǔ)藏功能可以幫助我們得到一個(gè)干凈的工作副本陷嘴。當(dāng)然,它還可以應(yīng)用在很多不同的流程中间坐,強(qiáng)烈推薦你在下列情況中儲(chǔ)藏你的本地改動(dòng):

  • 在切換到不同分支之前灾挨。
  • 在獲取(pulling)遠(yuǎn)程改動(dòng)之前竹宋。
  • 在合并(merging)或者衍合(rebasing)一個(gè)分支之前劳澄。

8、恢復(fù)蜈七、撤銷對(duì)文件的修改

$ git checkout '文件名'

9秒拔、查看本地分支

$ git branch

10、查看遠(yuǎn)程分支

$ git branch -r

11飒硅、新建一個(gè)分支

$ git checkout -b 'xxxx'

執(zhí)行后自動(dòng)切換至該分支

12砂缩、切換分支

$ git checkout xxx

13作谚、查看修改過的文件

$ git status

14、查看工作區(qū)和暫存區(qū)的差異

$ git diff

15庵芭、推送分支入遠(yuǎn)程倉(cāng)庫(kù)

$ git push origin 'xxxx'

16妹懒、拉取遠(yuǎn)程分支,合并到當(dāng)前分支

$ git pull origin 'xxxx'

17双吆、合并分支

合并至當(dāng)前分支

$ git merge 'xxxx'

如果遇到?jīng)_突眨唬,無法自動(dòng)合并,修改完沖突部分后伊诵,再次使用add和commit命令進(jìn)行提交单绑。

二品模式 - 簡(jiǎn)單Git-Flow

git-flow是對(duì)git的一個(gè)擴(kuò)展,安裝git-flow后可以使用擴(kuò)展命令曹宴。git-flow把標(biāo)準(zhǔn)git命令用腳本進(jìn)行組合搂橙。團(tuán)隊(duì)采用了簡(jiǎn)單的git-flow模式
git-flow會(huì)預(yù)設(shè)兩個(gè)分支在倉(cāng)庫(kù)

master分支

只能用來包括產(chǎn)品代碼。不要在此分支進(jìn)行開發(fā)笛坦,這是產(chǎn)品的門面分支区转,代表產(chǎn)品最新最穩(wěn)定的版本。不直接提交改動(dòng)到 master 分支上也是很多工作流程的一個(gè)共同的規(guī)則版扩。

dev分支

是你進(jìn)行任何新的開發(fā)的基礎(chǔ)分支废离。這是功能最全,最前衛(wèi)的分支礁芦,所有開發(fā)完成的功能蜻韭,都會(huì)先推送至此分支,待充分測(cè)試和bug修復(fù)后并入master柿扣。

master-develop分支

這兩個(gè)分支被稱作為長(zhǎng)期分支它們會(huì)存活在項(xiàng)目的整個(gè)生命周期中肖方。而其他的分支,例如針對(duì)功能的分支未状,針對(duì)發(fā)行的分支俯画,僅僅只是臨時(shí)存在的。它們是根據(jù)需要來創(chuàng)建的司草,當(dāng)它們完成了自己的任務(wù)之后就會(huì)被刪除掉艰垂。


其他分支可能出現(xiàn)

在一般的情況下, “master” 分支可以有效地代表你的產(chǎn)品代碼埋虹。所以猜憎,所有被合并到 “master” 分支的代碼都必須保證質(zhì)量,代碼必須經(jīng)過檢驗(yàn)和確認(rèn)搔课。

這也意味著拉宗,開發(fā)工作不應(yīng)該直接在 “master” 分支上進(jìn)行,這也是一個(gè)最基本的準(zhǔn)則辣辫。因此當(dāng)你使用了 “git checkout master” 命令切換到 “master” 分支后并提交改動(dòng)時(shí)旦事,你就要問問自己,這樣是否符合流程急灭?這些改動(dòng)是否能保證正確姐浮?

其他分支

每當(dāng)開始著手開發(fā)一個(gè)新的功能的或是修復(fù)錯(cuò)誤時(shí),都要對(duì)應(yīng)不同的主題建立一個(gè)新的分支葬馋。這是一種很通用的做法卖鲤,并且也要成為一種習(xí)慣。

新建的主題分支都必須基于 “dev” 分支畴嘶。當(dāng)開發(fā)的功能完成后蛋逾,或者錯(cuò)誤被修復(fù)后,將修改的代碼合并回 “dev” 分支窗悯。

在開發(fā)新功能的同時(shí)区匣,團(tuán)隊(duì)的其他開發(fā)人員很可能已經(jīng)把各自完成的改動(dòng)整合回了 “dev” 分支。在這種情況下蒋院,就需要經(jīng)常性地把那些在 “dev” 分支上的改動(dòng)合并到自己的工作分支上來亏钩。這就確保了自己的工作分支一直處于最新的狀態(tài),并且當(dāng)需要把已完成的改動(dòng)整合回 “dev” 分支上時(shí),可以減少可能出現(xiàn)的沖突和風(fēng)險(xiǎn)欺旧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姑丑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辞友,更是在濱河造成了極大的恐慌栅哀,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件称龙,死亡現(xiàn)場(chǎng)離奇詭異留拾,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)茵瀑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門间驮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人马昨,你說我怎么就攤上這事竞帽。” “怎么了鸿捧?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵屹篓,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我匙奴,道長(zhǎng)堆巧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮谍肤,結(jié)果婚禮上啦租,老公的妹妹穿的比我還像新娘。我一直安慰自己荒揣,他們只是感情好篷角,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著系任,像睡著了一般恳蹲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俩滥,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天嘉蕾,我揣著相機(jī)與錄音,去河邊找鬼霜旧。 笑死错忱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颁糟。 我是一名探鬼主播航背,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼棱貌!你這毒婦竟也來了玖媚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤婚脱,失蹤者是張志新(化名)和其女友劉穎今魔,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體障贸,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡错森,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了篮洁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涩维。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖袁波,靈堂內(nèi)的尸體忽然破棺而出瓦阐,到底是詐尸還是另有隱情,我是刑警寧澤篷牌,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布睡蟋,位于F島的核電站,受9級(jí)特大地震影響枷颊,放射性物質(zhì)發(fā)生泄漏戳杀。R本人自食惡果不足惜该面,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望信卡。 院中可真熱鬧隔缀,春花似錦、人聲如沸坐求。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)桥嗤。三九已至,卻和暖如春仔蝌,著一層夾襖步出監(jiān)牢的瞬間泛领,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工敛惊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渊鞋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓瞧挤,卻偏偏與公主長(zhǎng)得像锡宋,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子特恬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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

  • git branch 查看本地所有分支 git status 查看當(dāng)前狀態(tài) git commit 提交 git b...
    猿萬(wàn)閱讀 5,056評(píng)論 1 45
  • 配置 首先是配置帳號(hào)信息 ssh -T git@github.com#登陸github 修改項(xiàng)目中的個(gè)人信息 1 ...
    rochuan閱讀 722評(píng)論 1 1
  • 配置 首先是配置帳號(hào)信息ssh -T git@github.com # 登陸 github 修改項(xiàng)目中的個(gè)人信息 ...
    guanguans閱讀 738評(píng)論 0 3
  • 我的常用: ===================================** 撤銷工作修改:**1执俩、gi...
    ddai_Q閱讀 733評(píng)論 0 5
  • 看完杜拉拉升職記第二冊(cè) 原來第一冊(cè)的結(jié)尾只是杜拉拉的一個(gè)夢(mèng),她和王偉根本沒再在一起癌刽。雖然王偉也放不下拉拉役首,但這種不...
    桌子和1106閱讀 258評(píng)論 0 0