git 基本使用手冊

博客更新:tengfeios.com

介紹一些關(guān)于git的基本操作

git的基本操作

最開始需要一個(gè)讓git關(guān)聯(lián)一個(gè)文件見,可以使用git init命令

git init

在當(dāng)前目錄下創(chuàng)建.git文件夾错森,使當(dāng)前文件夾成為git倉庫

現(xiàn)在本地有一個(gè)git倉庫了刹淌,就可以告訴git暑认,我想提交的文件有哪些,可以使用git add命令

git add 文件名

把文件放入暫存區(qū),為建立歷史作準(zhǔn)備

執(zhí)行 git add之后,git已經(jīng)知道性含,我們要提交的文件有哪些了,那么現(xiàn)在可以使用git commit命令提交了

git commit

提交暫存區(qū)的所有文件鸳惯,使文件成為一條git記錄商蕴。執(zhí)行g(shù)it commit命令默認(rèn)進(jìn)入vim界面,我們在vim里面輸入提交的備注芝发,使用:wq就可以提交成功了绪商。

執(zhí)行g(shù)it log

git log

顯示提交歷史

git 分支

什么是分支

在我們的開發(fā)工作中,可能要同時(shí)處理多個(gè)需求辅鲸。那么每個(gè)需求和每個(gè)需求都是沒有關(guān)系的格郁,但是他們都是同一個(gè)項(xiàng)目的需求。

傳統(tǒng)的工作方式,在同一份代碼中去開發(fā)很多新需求理张,新代碼的穩(wěn)定性是最差的赫蛇,會(huì)出現(xiàn)測試?yán)щy,開發(fā)不好定位等一些問題雾叭。

git 分支可以解決這個(gè)問題悟耘,我們在當(dāng)前主分支上開辟一個(gè)新的分支,繼續(xù)git commit织狐,后面的提交歷史不會(huì)影響主分支暂幼。最后我們這個(gè)分支的需求通過測試以后合入主干。

也有公司移迫,有這樣的場景旺嬉,他們的項(xiàng)目要出一個(gè)新版本,比如2.0版本厨埋,但是1.0還要繼續(xù)維護(hù)邪媳。這個(gè)時(shí)候,可以分別給每一個(gè)版本都建立一個(gè)分支荡陷。這樣子雨效,1.0版本分支上可以修復(fù)一些bug,但是他沒有2.0的新特性废赞。

不同的公司對于git分支的使用有不同的規(guī)范徽龟。

總而言之,分支的出現(xiàn)是為了分離提交的唉地。新的一個(gè)開發(fā)方向可以考慮創(chuàng)建一個(gè)分支据悔。新分支穩(wěn)定后合入主干。

現(xiàn)在我們?nèi)?chuàng)建一個(gè)分支

git branch 分支名

創(chuàng)建一個(gè)新的分支耘沼,新分支與老分支的提交記錄是一樣的极颓。

創(chuàng)建完畢后,我們可以使用git checkout命令切換到新的分支

git checkout 分支名

切換分支

切換到新分支之后就可以進(jìn)行新的提交了耕拷。

新的分支功能穩(wěn)定后讼昆,就可以使用git merge命令把新分支合并到主分支上面去了。

git merge

在主分支執(zhí)行g(shù)it merge 要合并的分支名骚烧,完成合并

遠(yuǎn)程倉庫

我們以前的所有操作都是在本地倉庫進(jìn)行的,一般項(xiàng)目會(huì)有多人協(xié)作開發(fā)闰围。我們把本地的修改更新遠(yuǎn)程倉庫赃绊。這樣就可以把代碼共享給同事。

首先我們添加一個(gè)遠(yuǎn)程倉庫

git remote add 遠(yuǎn)程倉庫名 遠(yuǎn)程倉庫鏈接羡榴。

遠(yuǎn)程倉庫名碧查,可以隨便寫,一般是origin。

git remote

  • git remote
    獲取所有遠(yuǎn)程倉庫忠售,使用git remote -v 可以獲遠(yuǎn)程倉庫鏈接

  • git remote add 遠(yuǎn)程倉庫名 遠(yuǎn)程倉庫鏈接
    添加一個(gè)git遠(yuǎn)程倉庫传惠,可添加多個(gè)遠(yuǎn)程倉庫

  • git remote rm 遠(yuǎn)程倉庫名
    刪除一個(gè)遠(yuǎn)程倉庫

現(xiàn)在就可以使用git push向遠(yuǎn)程倉庫更新代碼啦。

git push 遠(yuǎn)程倉庫名 遠(yuǎn)程倉庫分支名

把當(dāng)前本地分支推入遠(yuǎn)程倉庫稻扬。

如果沒有遠(yuǎn)程倉庫卦方,可以使用github,碼云之類的網(wǎng)站創(chuàng)建一個(gè)泰佳。

在我們執(zhí)行g(shù)it push向服務(wù)器推代碼的時(shí)候盼砍,別人可能也在git push,我們需要通過git pull更新其他人的代碼逝她。

git pull 遠(yuǎn)程倉庫 遠(yuǎn)程倉庫分支

把遠(yuǎn)程倉庫的分支下載到本地浇坐,并將遠(yuǎn)程分支與當(dāng)前分支合并。

git沖突

實(shí)際開發(fā)過程中會(huì)產(chǎn)生一個(gè)經(jīng)常遇到的問題黔宛。

如果其他人的提交和我們的提交同時(shí)修改了同一個(gè)文件近刘,那么git merge會(huì)怎樣合并呢?

我們可以嘗試一下臀晃。

在兩個(gè)不同的分支跌宛,修改同一個(gè)文件,分別提交积仗。

執(zhí)行g(shù)it merge 分支名疆拘,合并分支

提示:

Auto-merging 沖突的文件名
CONFLICT (content): Merge conflict in 沖突的文件名
Automatic merge failed; fix conflicts and then commit the result

意思是自動(dòng)合并分支失敗,存在沖突寂曹。

現(xiàn)在git需要我們解決沖突哎迄,我們?nèi)ソ鉀Q一下沖突的問題。

打開沖突的文件名隆圆,會(huì)發(fā)現(xiàn)沖突的代碼塊被git修改過漱挚,大概如下

<<<<<<< HEAD

23

=======

32

>>>>>>> Dev

第一行代表沖突開始,HEAD表示當(dāng)前分支

Dev表示要合并的分支

=======將分支的修改進(jìn)行隔離

現(xiàn)在我們就知道如何修改沖突了渺氧,編輯此文件旨涝,把沖突的內(nèi)容修改為理想的狀態(tài),

執(zhí)行g(shù)it add . 告訴git侣背,我們已經(jīng)解決沖突白华。

執(zhí)行g(shù)it commit,就可以成功合入分支了贩耐。

總結(jié)

通過以上的命令弧腥,可以完成日常的開發(fā)任務(wù)了。但是git作為常用的版本管理工具潮太,還有很多需要掌握的內(nèi)容管搪。下一篇介紹git進(jìn)階的一些命令虾攻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市更鲁,隨后出現(xiàn)的幾起案子霎箍,更是在濱河造成了極大的恐慌,老刑警劉巖澡为,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漂坏,死亡現(xiàn)場離奇詭異,居然都是意外死亡缀壤,警方通過查閱死者的電腦和手機(jī)樊拓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塘慕,“玉大人筋夏,你說我怎么就攤上這事⊥寄兀” “怎么了条篷?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛤织。 經(jīng)常有香客問我赴叹,道長,這世上最難降的妖魔是什么指蚜? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任乞巧,我火速辦了婚禮,結(jié)果婚禮上摊鸡,老公的妹妹穿的比我還像新娘绽媒。我一直安慰自己,他們只是感情好免猾,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布是辕。 她就那樣靜靜地躺著,像睡著了一般猎提。 火紅的嫁衣襯著肌膚如雪获三。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天锨苏,我揣著相機(jī)與錄音疙教,去河邊找鬼。 笑死蚓炬,一個(gè)胖子當(dāng)著我的面吹牛松逊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肯夏,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驯击?” 一聲冷哼從身側(cè)響起烁兰,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎徊都,沒想到半個(gè)月后沪斟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡暇矫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年主之,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片李根。...
    茶點(diǎn)故事閱讀 38,747評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡槽奕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出房轿,到底是詐尸還是另有隱情粤攒,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布囱持,位于F島的核電站夯接,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纷妆。R本人自食惡果不足惜盔几,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掩幢。 院中可真熱鬧逊拍,春花似錦、人聲如沸粒蜈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枯怖。三九已至注整,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間度硝,已是汗流浹背肿轨。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蕊程,地道東北人椒袍。 一個(gè)月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像藻茂,于是被迫代替她去往敵國和親驹暑。 傳聞我的和親對象是個(gè)殘疾皇子玫恳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評論 2 350

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