Git詳細(xì)教程(二)

Git —— 目前世界上最先進(jìn)的分布式版本控制系統(tǒng)官脓,高端大氣上檔次!

上一篇:Git詳細(xì)教程(一)

三、遠(yuǎn)程倉庫

Git是分布式版本控制系統(tǒng)揪惦,同一個(gè)Git倉庫,可以分布到不同的機(jī)器上罗侯。怎么分布呢器腋?最早,肯定只有一臺(tái)機(jī)器有一個(gè)原始版本庫钩杰,此后纫塌,別的機(jī)器可以“克隆”這個(gè)原始版本庫,而且每臺(tái)機(jī)器的版本庫其實(shí)都是一樣的讲弄,并沒有主次之分措左。

實(shí)際情況往往是這樣,找一臺(tái)電腦充當(dāng)服務(wù)器的角色避除,每天24小時(shí)開機(jī)怎披,其他每個(gè)人都從這個(gè)“服務(wù)器”倉庫克隆一份到自己的電腦上,并且各自把各自的提交推送到服務(wù)器倉庫里驹饺,也從服務(wù)器倉庫中拉取別人的提交钳枕。

Git的服務(wù)器可以自己搭建,不過現(xiàn)階段赏壹,為了學(xué)Git先搭個(gè)服務(wù)器絕對(duì)是小題大作鱼炒。好在這個(gè)世界上有個(gè)叫GitHub的神奇的網(wǎng)站,從名字就可以看出蝌借,這個(gè)網(wǎng)站就是提供Git倉庫托管服務(wù)的昔瞧,所以指蚁,只要注冊(cè)一個(gè)GitHub賬號(hào),就可以免費(fèi)獲得Git遠(yuǎn)程倉庫自晰。

接下來自行注冊(cè)GitHub賬號(hào)凝化。由于你的本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以你需要配置SSH keys酬荞,請(qǐng)參考上傳項(xiàng)目到GitHub詳細(xì)教程里的第三部分

為什么GitHub需要SSH Key呢搓劫?因?yàn)镚itHub需要識(shí)別出你推送的提交確實(shí)是你推送的,而不是別人冒充的混巧,而Git支持SSH協(xié)議枪向,所以,GitHub只要知道了你的公鑰咧党,就可以確認(rèn)只有你自己才能推送秘蛔。當(dāng)然,GitHub允許你添加多個(gè)Key傍衡。假定你有若干電腦深员,你一會(huì)兒在公司提交,一會(huì)兒在家里提交蛙埂,只要把每臺(tái)電腦的Key都添加到GitHub倦畅,就可以在每臺(tái)電腦上往GitHub推送了。

最后友情提示箱残,在GitHub上免費(fèi)托管的Git倉庫滔迈,任何人都可以看到喔(但只有你自己才能改)。所以被辑,不要把敏感信息放進(jìn)去。如果你不想讓別人看到Git庫敬惦,有兩個(gè)辦法盼理,一個(gè)是交點(diǎn)保護(hù)費(fèi),讓GitHub把公開的倉庫變成私有的俄删,這樣別人就看不見了(不可讀更不可寫)宏怔。另一個(gè)辦法是自己動(dòng)手,搭一個(gè)Git服務(wù)器畴椰,因?yàn)槭悄阕约旱腉it服務(wù)器臊诊,所以別人也是看不見的。

1斜脂、添加遠(yuǎn)程倉庫

現(xiàn)在抓艳,你已經(jīng)在本地創(chuàng)建了一個(gè)Git倉庫了(即GitTest),又想在GitHub創(chuàng)建一個(gè)Git倉庫帚戳,并且讓這兩個(gè)倉庫進(jìn)行遠(yuǎn)程同步玷或,這樣儡首,GitHub上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協(xié)作

首先偏友,登錄GitHub創(chuàng)建一個(gè)新的倉庫蔬胯,創(chuàng)建時(shí)只填一個(gè)倉庫名GitTest,其他不用管位他,直接點(diǎn)Create repository按鈕

現(xiàn)在倉庫還是空的氛濒,GitHub告訴我們,可以從這個(gè)倉庫克隆出新的倉庫鹅髓,也可以把一個(gè)已有的本地倉庫與之關(guān)聯(lián)舞竿,我們根據(jù)圖中的第2步提示,執(zhí)行

$ git remote add origin git@github.com:YoungerLi/GitTest.git

添加后迈勋,遠(yuǎn)程庫的名字就是origin炬灭,這是Git默認(rèn)的叫法,也可以改成別的靡菇,但是origin這個(gè)名字一看就知道是遠(yuǎn)程庫重归。下一步,就可以把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫上

$ git push -u origin master

由于遠(yuǎn)程庫是空的厦凤,我們第一次推送master分支時(shí)鼻吮,加上了-u參數(shù),Git不但會(huì)把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支较鼓,還會(huì)把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來椎木,在以后的推送或者拉取時(shí)就可以簡(jiǎn)化命令。

2博烂、查看遠(yuǎn)程倉庫

如果想查看你已經(jīng)配置的遠(yuǎn)程倉庫服務(wù)器香椎,可以運(yùn)行 $ git remote 命令,它會(huì)列出每一個(gè)遠(yuǎn)程服務(wù)器的簡(jiǎn)寫禽篱,剛才我們已經(jīng)關(guān)聯(lián)了一個(gè)遠(yuǎn)程倉庫了畜伐,名字是origin,所以現(xiàn)在執(zhí)行$ git remote

$ git remote
origin
koke

可以看到輸出一個(gè)origin躺率,這說明現(xiàn)在只有一個(gè)名字為origin的遠(yuǎn)程倉庫玛界,你還可以添加多個(gè)。
如果你想看到更多信息悼吱,可以使用-v選項(xiàng)慎框,這樣就會(huì)每個(gè)輸出倉庫對(duì)應(yīng)的URL

$ git remote -v
origin  git@github.com:YoungerLi/GitTest.git (fetch)
origin  git@github.com:YoungerLi/GitTest.git (push)
koke    git://github.com/koke/GitTest.git (fetch)
koke    git://github.com/koke/GitTest.git (push)

3、從遠(yuǎn)程倉庫拉取數(shù)據(jù)

$ git fetch origin

這個(gè)命令會(huì)訪問遠(yuǎn)程倉庫后添,從中拉取所有你還沒有的數(shù)據(jù)笨枯。 執(zhí)行完成后,你將會(huì)擁有那個(gè)遠(yuǎn)程倉庫中所有分支的引用,可以隨時(shí)合并或查看猎醇。
必須注意 $ git fetch 命令會(huì)將數(shù)據(jù)拉取到你的本地倉庫 - 它并不會(huì)自動(dòng)合并或修改你當(dāng)前的工作窥突。 當(dāng)準(zhǔn)備好時(shí)你必須手動(dòng)將其合并入你的工作。

4硫嘶、拉取數(shù)據(jù)并合并

$ git pull 

5阻问、推送數(shù)據(jù)到遠(yuǎn)程倉庫

$ git push origin master

當(dāng)你想分享你的項(xiàng)目時(shí),必須將其推送到上游沦疾。 這個(gè)命令很簡(jiǎn)單:git push [remote-name] [branch-name]称近。 當(dāng)你想要將 master 分支推送到 origin 服務(wù)器時(shí)(克隆時(shí)會(huì)自動(dòng)幫你設(shè)置好這兩個(gè)名字),那么運(yùn)行這個(gè)命令就可以將你所做的上傳到服務(wù)器哮塞。
如果服務(wù)器有新的數(shù)據(jù)(別人上傳的)你還沒拉取下來刨秆,這個(gè)命令會(huì)被拒絕,你必須先拉取新的數(shù)據(jù)下來之后再上傳你的(相當(dāng)于SVN中先更新后提交)

6忆畅、遠(yuǎn)程倉庫的重命名

如果想要重命名引用的名字可以運(yùn)行 $ git remote rename 去修改一個(gè)遠(yuǎn)程倉庫的簡(jiǎn)寫名衡未。 例如,想要將 koke 重命名為 kk家凯,可以這樣做

$ git remote rename koke kk
$ git remote
origin
kk

7缓醋、遠(yuǎn)程倉庫的移除

如果因?yàn)橐恍┰蛳胍瞥粋€(gè)遠(yuǎn)程倉庫,你已經(jīng)從服務(wù)器上搬走了或不再想使用某一個(gè)特定的鏡像了绊诲,又或者某一個(gè)貢獻(xiàn)者不再貢獻(xiàn)了送粱,可以使用 $ git remote rm

$ git remote rm kk
$ git remote
origin

8、從遠(yuǎn)程倉庫克隆

以上講的都是先創(chuàng)建一個(gè)本地Git倉庫,再在GitHub上創(chuàng)建遠(yuǎn)程倉庫,然后再關(guān)聯(lián)兩者盏混。假如我們回到最初,先創(chuàng)建一個(gè)遠(yuǎn)程倉庫动雹,然后再從遠(yuǎn)程倉庫克隆到本地。
首先跟压,在GitHub上創(chuàng)建一個(gè)倉庫

勾選上創(chuàng)建README文件洽胶,點(diǎn)擊創(chuàng)建,遠(yuǎn)程倉庫已經(jīng)創(chuàng)建好了裆馒,接下來就是克隆到本地

克隆命令是$ git clone URL,URL的獲取見上圖丐怯,執(zhí)行克隆命令之前請(qǐng)將終端的目錄cd到你喜歡的目錄下

$ git clone git@github.com:YoungerLi/gitAnother.git

執(zhí)行完畢喷好,你就可以看到在你喜歡的目錄下多出了一個(gè)文件夾,文件夾內(nèi)包含一個(gè)README.md文件读跷,這就是本地倉庫了梗搅。
如果有多個(gè)人協(xié)作開發(fā),那么每個(gè)人各自從遠(yuǎn)程克隆一份就可以了。

下一篇:Git詳細(xì)教程(三)

參考鏈接
Git - Book
Git教程 - 廖雪峰的官方網(wǎng)站

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末无切,一起剝皮案震驚了整個(gè)濱河市荡短,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哆键,老刑警劉巖掘托,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異籍嘹,居然都是意外死亡闪盔,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門辱士,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泪掀,“玉大人,你說我怎么就攤上這事颂碘∫旌眨” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵头岔,是天一觀的道長(zhǎng)塔拳。 經(jīng)常有香客問我,道長(zhǎng)切油,這世上最難降的妖魔是什么蝙斜? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮澎胡,結(jié)果婚禮上孕荠,老公的妹妹穿的比我還像新娘。我一直安慰自己攻谁,他們只是感情好稚伍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著戚宦,像睡著了一般个曙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上受楼,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天垦搬,我揣著相機(jī)與錄音,去河邊找鬼艳汽。 笑死猴贰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的河狐。 我是一名探鬼主播米绕,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瑟捣,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了栅干?” 一聲冷哼從身側(cè)響起迈套,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碱鳞,沒想到半個(gè)月后桑李,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劫笙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年芙扎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片填大。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡戒洼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出允华,到底是詐尸還是另有隱情圈浇,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布靴寂,位于F島的核電站磷蜀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏百炬。R本人自食惡果不足惜褐隆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望剖踊。 院中可真熱鬧庶弃,春花似錦、人聲如沸德澈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽梆造。三九已至缴守,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間镇辉,已是汗流浹背屡穗。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忽肛,地道東北人鸡捐。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像麻裁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355