Git 基本命令

Git 用了接近一年了,總結(jié)一下

IT TianSir

  • 取項(xiàng)目
git clone http://... 將項(xiàng)目克隆到本地(該項(xiàng)目會(huì)放在當(dāng)前目錄下)
  • 查看
git branch 查看本地分支
git branch -r 查看遠(yuǎn)程分支
git branch -a 查看所有分支
git status 查看當(dāng)前分支的工作狀態(tài)揖铜,比較暫存區(qū)和head文件的差異
  • 切換分支
git checkout branchname 切換到branchname分支
git checkout -t -b production origin/production 從遠(yuǎn)程分支切一個(gè)分支出來(lái)边臼,并切換到該分支缺厉,此時(shí)該分支與對(duì)應(yīng)遠(yuǎn)程分支是一致的
git checkout -b fixbug/tianjian-production 從當(dāng)前分支的基礎(chǔ)上切一個(gè)分支出來(lái),此時(shí)該分支與之前原分支是一致的
  • 刪除分支
git branch -d | -D branchname 刪除本地分支branchname
git branch -d | -D -r branchname 刪除遠(yuǎn)程分支branchname
  • 暫存
git stash 將當(dāng)前的更改暫存起來(lái)(Boss突然讓你去正式環(huán)境修改緊急bug,此時(shí)暫存很有用)
git stash pop 將暫存的內(nèi)容放出來(lái)
  • 提交
git add . 將當(dāng)前的修改添加到暫存區(qū)
git commit -m '' 將更改提交到暫存區(qū)
git push origin branchname 將代碼推到遠(yuǎn)程branchname分支
  • 撤銷
git checkoout . 撤銷當(dāng)前的更改
git reset --hard commit_id 撤銷提交
  • 更新
git pull 從遠(yuǎn)程將代碼更新到本地分支
  • 合并A分支到B分支
git checkout B 切換到B分支
git merge A 將本地A分支合到當(dāng)前分支
此時(shí)A分支的代碼就已經(jīng)合到B分支了,完成了歷史使命忘衍,可以放心的將其刪除git branch -d A
  • 基本步驟
git status 取代碼前看下是否有更改未提交
git pull 更新代碼
敲代碼
git status 查看是否是自己修改過(guò)的文件
git add . 將當(dāng)前更改添加到暫存區(qū)
git commit -m 'beizhu' 提交更改
git push origin branchname 將代碼推到遠(yuǎn)程
  • 基本的GIT工作流程
在工作目錄中修改某些文件
對(duì)修改后的文件進(jìn)行快照嚎朽,然后保存到暫存區(qū)域
提交更新铺纽,將保存在暫存區(qū)域的文件快照永久的轉(zhuǎn)存到git目錄中
  • 合并沖突
<<<<<HEAD
修改1
=========
修改2
>>>>>feature1
<<<<<HEAD表示主分支,主分支的修改是修改1哟忍,>>>>>feature1表示當(dāng)前分支狡门,當(dāng)前分支的修改是修改2陷寝,手動(dòng)解決沖突之后,重新提交
  • 文件狀態(tài)
已提交(committed)其馏,已提交表示該文件已經(jīng)被安全地保存在本地?cái)?shù)據(jù)庫(kù)中了
已修改(modified)凤跑,已修改表示修改了某個(gè)文件,但還沒(méi)有提交保存
已暫存(staged)叛复,已修改的文件放在下次提交時(shí)要保存的清單中饶火。
  • 個(gè)人理解流程
1,git checkout -b production -t origin/production
創(chuàng)建一個(gè)本地分支致扯,該本地的分支production 與 遠(yuǎn)程分支 origin/production的代碼是同步的.
本地分支取名production 只是為了便于自己記憶對(duì)應(yīng)的是哪一個(gè)遠(yuǎn)程分支肤寝。如果你記憶牛逼的話,取asdfdasddfvdf 這樣亂七八糟的名字也是可以的.
git pull就表示從遠(yuǎn)程分支把代碼拉下來(lái)抖僵,使本地分支的代碼與遠(yuǎn)程分支的代碼同步鲤看。
git push 就是將本地的代碼推到遠(yuǎn)程分支,使遠(yuǎn)程的分支與本地分支代碼同步耍群。(有的公司在生產(chǎn)分支义桂,git push時(shí),為了防止代碼的胡亂提交蹈垢,會(huì)設(shè)置權(quán)限慷吊,此時(shí)我們就要?jiǎng)?chuàng)建一個(gè)自己的分支,使它的代碼與本地production分支的一致曹抬。然后再請(qǐng)求有權(quán)限的人將origin/hotfix/tianjian-propm與origin/production合并溉瓶,production就相當(dāng)于一個(gè)中轉(zhuǎn)站一樣。)
2谤民,git checkout production (切換到production分支堰酿,拉代碼)
3,git pull (保持production分支與origin/production的同步)
4张足,git checkout -b hotfix/tianjian-propm 然后從本地分支創(chuàng)建自己的分支触创,hotfix/tianjian-propm,名字同樣也是為了記憶方便为牍,
5哼绑,git merge production(將production分支的代碼合并到自己的分支,使自己的分支與production分支的代碼同步碉咆,因?yàn)閜roduction分支與origin/production分支已經(jīng)同步抖韩,所以此時(shí),origin/production, production, hotfix/tianjian-propm,三個(gè)分支是同步的)
在hotfix/tianjian-propm分支修改代碼,然后提交 (提交只是將代碼提交到本地的hotfix/tianjian-propm分支吟逝,)
git push origin hotfix/tianjian-propm 將本地的分支提交到遠(yuǎn)程對(duì)應(yīng)的分支帽蝶,首次git push時(shí)赦肋,會(huì)自動(dòng)創(chuàng)建這樣一個(gè)對(duì)應(yīng)的遠(yuǎn)程分支块攒,
請(qǐng)求有權(quán)限的人將 遠(yuǎn)程的 origin/hotfix/tianjian-propm合并到 origin/production励稳,合并完成后,此時(shí)origin/production的代碼就是最新的囱井,同樣再去production分支拉代碼驹尼,然后在合到hotfix/tianjian-propm,保持三個(gè)分支的代碼保持一致庞呕。
提交產(chǎn)生沖突時(shí)新翎,去production分支將最新的代碼拉下來(lái),然后合并到hotfix/tianjian-propm住练,gss命令查看地啰,產(chǎn)生沖突的文件,手動(dòng)修改沖突讲逛,然后和修改代碼一樣走一次流程亏吝。
  • 大法
1,盡量在自己的分支上開(kāi)發(fā),靈活性盏混,機(jī)動(dòng)性高
2,若是做了什么不可逆的操作蔚鸥,不要慌,直接將這個(gè)分支刪掉许赃,再切一個(gè)分支就好止喷,哈哈
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市混聊,隨后出現(xiàn)的幾起案子弹谁,更是在濱河造成了極大的恐慌,老刑警劉巖句喜,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件僵闯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡藤滥,警方通過(guò)查閱死者的電腦和手機(jī)鳖粟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拙绊,“玉大人向图,你說(shuō)我怎么就攤上這事”昊Γ” “怎么了榄攀?”我有些...
    開(kāi)封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)金句。 經(jīng)常有香客問(wèn)我檩赢,道長(zhǎng),這世上最難降的妖魔是什么违寞? 我笑而不...
    開(kāi)封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任贞瞒,我火速辦了婚禮偶房,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘军浆。我一直安慰自己棕洋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布乒融。 她就那樣靜靜地躺著掰盘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赞季。 梳的紋絲不亂的頭發(fā)上愧捕,一...
    開(kāi)封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音申钩,去河邊找鬼晃财。 笑死,一個(gè)胖子當(dāng)著我的面吹牛典蜕,可吹牛的內(nèi)容都是我干的断盛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼愉舔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钢猛!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起轩缤,我...
    開(kāi)封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤命迈,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后火的,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體壶愤,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年馏鹤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了征椒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡湃累,死狀恐怖勃救,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情治力,我是刑警寧澤蒙秒,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站宵统,受9級(jí)特大地震影響晕讲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一瓢省、第九天 我趴在偏房一處隱蔽的房頂上張望弄息。 院中可真熱鬧,春花似錦净捅、人聲如沸疑枯。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至废亭,卻和暖如春国章,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背豆村。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工液兽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掌动。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓四啰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親粗恢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柑晒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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