git新手使用

前言

git新手學(xué)起來融涣,還是比較困難的童番。我大概花了三天時(shí)間才把老師講的內(nèi)容,順利的練了一遍威鹿。我是個(gè)比較較真的程序員剃斧,有任何疑問或者新奇的想法都會(huì)去做,所以在練習(xí)git過程中忽你,出現(xiàn)了很多容易犯的錯(cuò)誤幼东,希望通過這篇文章,來鞏固git的使用和談?wù)勛约旱男牡谩?/p>

git簡(jiǎn)介

想用好git科雳,先要知道git是什么根蟹。它是一個(gè)分布式版本控制軟件,最初由林納斯·托瓦茲(Linus Torvalds)創(chuàng)作糟秘,于2005年以GPL發(fā)布简逮。最初目的是為更好地管理Linux內(nèi)核開發(fā)而設(shè)計(jì)。
git是用于Linux內(nèi)核開發(fā)的版本控制工具尿赚。與CVS散庶、Subversion一類的集中式版本控制工具不同,它采用了分布式版本庫(kù)的作法凌净,不需要服務(wù)器端軟件悲龟,就可以運(yùn)作版本控制,使得源代碼的發(fā)布和交流極其方便冰寻。git的速度很快须教,這對(duì)于諸如Linux內(nèi)核這樣的大項(xiàng)目來說自然很重要。git最為出色的是它的合并追蹤(merge tracing)能力斩芭。
git和其他版本控制系統(tǒng)(如CVS)有不少的差別轻腺,git本身關(guān)心文件的整體性是否有改變羹奉,但多數(shù)的CVS或Subversion系統(tǒng)則在乎文件內(nèi)容的差異。因此git更像一個(gè)文件系統(tǒng)约计,直接在本機(jī)上獲取數(shù)據(jù),不必連接到主機(jī)端獲取數(shù)據(jù)迁筛。

github網(wǎng)站

GitHub是一個(gè)通過Git進(jìn)行版本控制的軟件源代碼托管服務(wù)煤蚌,由GitHub公司(曾稱Logical Awesome)的開發(fā)者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails編寫而成细卧。
GitHub里面的項(xiàng)目可以通過標(biāo)準(zhǔn)的Git命令進(jìn)行訪問和操作尉桩。同時(shí),所有的Git命令都可以用到GitHub項(xiàng)目上面贪庙。GitHub開發(fā)了針對(duì)WindowsOS X操作系統(tǒng)的桌面客戶端蜘犁。此外,也可以使用第三方插件來實(shí)現(xiàn)Git功能止邮。
網(wǎng)站提供了一系列社交網(wǎng)絡(luò)具有的功能这橙,例如贊、關(guān)注导披、評(píng)論屈扎。用戶可以通過復(fù)刻他人項(xiàng)目的形式參與開發(fā),并可通過 Collaboration graph(協(xié)作示意圖)來查看有多少開發(fā)者參與了開發(fā)并追蹤最新的復(fù)刻版本撩匕。此外網(wǎng)站還有Wiki(通過一個(gè)名為 gollum 的軟件實(shí)現(xiàn))等功能鹰晨。
GitHub同時(shí)允許注冊(cè)用戶和非注冊(cè)用戶在網(wǎng)頁(yè)中瀏覽項(xiàng)目,也可以以ZIP格式打包下載止毕。但是用戶必須注冊(cè)一個(gè)賬號(hào)然后才能進(jìn)行討論模蜡、創(chuàng)建并編輯項(xiàng)目、參與他人的項(xiàng)目和代碼審查扁凛。
我們要使用git忍疾,要先在github上注冊(cè)才行。
注冊(cè)完成之后令漂,就是git與github之間的公私鑰的配置膝昆。這一步對(duì)于新手來說也是非常復(fù)雜。我前前后后試了很多次終于配上了叠必。首先打開git bash(對(duì)于windows版本的同學(xué)荚孵,mac直接打開命令提示符),利用這段命令生成公私鑰

ssh-keygen -t rsa -b 4096 -C "注冊(cè)github的郵箱"
這點(diǎn)容易出錯(cuò)纬朝。這步完了之后收叶,對(duì)于Windows的同學(xué)來說,中間會(huì)出一個(gè)yes or no
共苛?的代碼判没,回復(fù)yes蜓萄,生成Know_hosts文件。
之后一直回車出現(xiàn)這張圖為止
這是mac上演示圖澄峰,借鑒饑人谷若愚老師的圖嫉沽,Windows截圖,當(dāng)時(shí)忘記截了俏竞。然后按下圖



之后新建庫(kù)(New repository)绸硕。
一般我們是創(chuàng)建Public類型庫(kù),這是免費(fèi)的魂毁。當(dāng)然還有Private玻佩,這需要收費(fèi)。如下圖所示
New repository
當(dāng)我們第一次使用git和github之間的推送或者下載席楚,必須先設(shè)置姓名和郵箱咬崔,所以,當(dāng)出現(xiàn)下術(shù)提示烦秩,不要以為公私鑰沒設(shè)置好垮斯,git config --global user.name "你的姓名"git config --global user.email johndoe@example.com,直接在命令行里設(shè)置你在github的名字和綁定的郵箱就好了只祠。我們現(xiàn)在可以把我們新建的庫(kù)克隆到我們的電腦上了甚脉。

當(dāng)我們要把本地的代碼push到github上,需要三個(gè)命令铆农,1牺氨、git add .表示增加所有變更的文件到暫緩區(qū);2墩剖、git commit -am "文件屬性"提交到本地庫(kù)猴凹;3、git push推送到github遠(yuǎn)程庫(kù)岭皂,第一次先git push origin master郊霎。之后直接就git push就好了。git status是查看文檔所處狀態(tài)爷绘。

在github中书劝,對(duì)于html類型文件我們可以直接設(shè)置為預(yù)覽模式,直接通過URL瀏覽文件土至。
開啟瀏覽模式方法

git簡(jiǎn)單使用

前面提到购对,把文件推送到github,有三個(gè)步驟陶因,對(duì)應(yīng)的是把文件推在不同的地方骡苞,一步一步的推送到github。每個(gè)步驟也可以通過git status命令查看步驟狀態(tài)和取消步驟。

下面介紹一些git最常使用命令

創(chuàng)建文件 touch 文件名.格式
創(chuàng)建文件夾 mkdir 文件夾名
重命名文件名 mv 更改前名 更改后名
在文件里寫入一個(gè)字符串 echo "hello" > a.md
把遠(yuǎn)程倉(cāng)庫(kù)的變動(dòng)更新合并到本地倉(cāng)庫(kù) git pull
修改文件 vim a.md vim是git中一個(gè)文件修改編輯器解幽,在我的簡(jiǎn)書中有一些介紹vim使用此時(shí)會(huì)進(jìn)入 vim 界面贴见,按下i進(jìn)入編輯狀態(tài),進(jìn)行編輯躲株,編輯完成后按下 esc 進(jìn)入命令態(tài)片部, 輸入 :wq 保存退出 vim
git add .
git commit -a 這里需要注意,如果提交消息包含大量字符串霜定,提交參數(shù)不用加 m
git push origin master
rm -rf a.md 直接刪除a.md文件吞琐,不需要詢問直接強(qiáng)制刪除。當(dāng)然還有rm -r刪除文件夾命令;rm刪除文件命令然爆。
如果之前已經(jīng)git push origin master 過,后面可以直接簡(jiǎn)化成 git push
git push

git復(fù)雜使用

我們通過以下幾個(gè)例子來學(xué)習(xí)git的復(fù)雜使用黍图。
1曾雕、本地創(chuàng)建一個(gè)git項(xiàng)目推送到遠(yuǎn)程空倉(cāng)庫(kù)
首先要在github上創(chuàng)建一個(gè)倉(cāng)庫(kù)如圖

第一步.PNG
第二步.PNG
第三步.PNG

之后在git bash上操作

本地庫(kù)推送到遠(yuǎn)程庫(kù).PNG

跟著以上詳細(xì)步驟,就能把本地newrepositor推送到遠(yuǎn)程庫(kù)了助被。
2剖张、分支操作
分支操作是git最具代表性的功能,開發(fā)同一個(gè)項(xiàng)目的程序員可以通過分支來上傳合并揩环。下面通過命令行演示一下創(chuàng)建分支和合并到主干上搔弄。

命令步驟.PNG

3、沖突
當(dāng)大家一同完成一個(gè)項(xiàng)目時(shí)丰滑,各自把自己代碼push到github上顾犹,由于自己本地的庫(kù)不是最新的只要遠(yuǎn)程庫(kù)被別人更新,那么你再上傳就會(huì)產(chǎn)生沖突褒墨。下面演示一個(gè)典型的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末炫刷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子郁妈,更是在濱河造成了極大的恐慌浑玛,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件噩咪,死亡現(xiàn)場(chǎng)離奇詭異顾彰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)胃碾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門涨享,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仆百,你說我怎么就攤上這事灰伟。” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵栏账,是天一觀的道長(zhǎng)帖族。 經(jīng)常有香客問我,道長(zhǎng)挡爵,這世上最難降的妖魔是什么竖般? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮茶鹃,結(jié)果婚禮上涣雕,老公的妹妹穿的比我還像新娘。我一直安慰自己闭翩,他們只是感情好挣郭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著疗韵,像睡著了一般兑障。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蕉汪,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天流译,我揣著相機(jī)與錄音,去河邊找鬼者疤。 笑死福澡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驹马。 我是一名探鬼主播革砸,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼糯累!你這毒婦竟也來了业岁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寇蚊,失蹤者是張志新(化名)和其女友劉穎笔时,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仗岸,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡允耿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扒怖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片较锡。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盗痒,靈堂內(nèi)的尸體忽然破棺而出蚂蕴,到底是詐尸還是另有隱情低散,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布骡楼,位于F島的核電站熔号,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鸟整。R本人自食惡果不足惜引镊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望篮条。 院中可真熱鬧弟头,春花似錦、人聲如沸涉茧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)伴栓。三九已至伦连,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挣饥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工沛膳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扔枫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓锹安,卻偏偏與公主長(zhǎng)得像短荐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叹哭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

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