碼云 創(chuàng)建遠(yuǎn)程倉庫并與本地倉庫關(guān)聯(lián)

一牵寺、創(chuàng)建版本庫

1堂污、選擇一個合適的地方,創(chuàng)建一個空目錄:

$ mkdir xxx
$ cd xxx
$ pwd
/Users/kiki/Desktop/xxx

pwd命令用于顯示當(dāng)前目錄倦挂。在我的Mac上畸颅,這個倉庫位于/Users/kiki/Desktop/xxx。
如果你使用Windows系統(tǒng)方援,為了避免遇到各種莫名其妙的問題没炒,請確保目錄名(包括父目錄)不包含中文。

2犯戏、通過git init命令把這個目錄變成Git可以管理的倉庫:

$ git init
Initialized empty Git repository in /Users/kiki/Desktop/xxx/.git/

瞬間Git就把倉庫建好了窥浪,而且告訴你是一個空的倉庫(empty Git repository),細(xì)心的讀者可以發(fā)現(xiàn)當(dāng)前目錄下多了一個.git的目錄笛丙,這個目錄是Git來跟蹤管理版本庫的漾脂,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了胚鸯,就把Git倉庫給破壞了骨稿。

如果你沒有看到.git目錄,那是因為這個目錄默認(rèn)是隱藏的,用ls -ah命令就可以看見坦冠。

也不一定必須在空目錄下創(chuàng)建Git倉庫形耗,選擇一個已經(jīng)有東西的目錄也是可以的。不過辙浑,不建議你使用自己正在開發(fā)的公司項目來學(xué)習(xí)Git激涤,否則造成的一切后果概不負(fù)責(zé)。

把文件添加到版本庫

現(xiàn)在我們編寫一個readme.txt文件判呕,內(nèi)容如下:

Git is a version control system.
Git is free software.

一定要放到learngit目錄下(子目錄也行)倦踢,因為這是一個Git倉庫,放到其他地方Git再厲害也找不到這個文件侠草。

把一個文件放到Git倉庫只需要兩步:

第一步辱挥,用命令git add告訴Git,把文件添加到倉庫:

$ git add readme.txt

執(zhí)行上面的命令边涕,沒有任何顯示晤碘,這就對了,Unix的哲學(xué)是“沒有消息就是好消息”功蜓,說明添加成功园爷。

第二步,用命令git commit告訴Git式撼,把文件提交到倉庫:

$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

簡單解釋一下git commit命令童社,-m后面輸入的是本次提交的說明,可以輸入任意內(nèi)容端衰,當(dāng)然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄甘改。
git commit命令執(zhí)行成功后會告訴你旅东,1 file changed:1個文件被改動(我們新添加的readme.txt文件);2 insertions:插入了兩行內(nèi)容(readme.txt有兩行內(nèi)容)十艾。

為什么Git添加文件需要add抵代,commit一共兩步呢?因為commit可以一次提交很多文件忘嫉,所以你可以多次add不同的文件荤牍,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
疑難解答

Q:輸入git add readme.txt,得到錯誤:fatal: not a git repository (or any of the parent directories)庆冕。

A:Git命令必須在Git倉庫目錄內(nèi)執(zhí)行(git init除外)康吵,在倉庫目錄外執(zhí)行是沒有意義的。

Q:輸入git add readme.txt访递,得到錯誤fatal: pathspec 'readme.txt' did not match any files晦嵌。

A:添加某個文件時,該文件必須在當(dāng)前目錄下存在,用ls或者dir命令查看當(dāng)前目錄的文件惭载,看看文件是否存在旱函,或者是否寫錯了文件名。

小結(jié)

現(xiàn)在總結(jié)一下今天學(xué)的兩點內(nèi)容:

初始化一個Git倉庫描滔,使用git init命令棒妨。

添加文件到Git倉庫,分兩步:

使用命令git add <file>含长,注意券腔,可反復(fù)多次使用,添加多個文件茎芋;簡單操作使用git add *命令颅眶,將文件全部添加。
使用命令git commit -m <message>田弥,完成涛酗。

二、添加遠(yuǎn)程庫

現(xiàn)在的情景是偷厦,你已經(jīng)在本地創(chuàng)建了一個Git倉庫后商叹,又想在gitee創(chuàng)建一個Git倉庫,并且讓這兩個倉庫進(jìn)行遠(yuǎn)程同步只泼,這樣剖笙,gitee上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協(xié)作请唱,真是一舉多得弥咪。

首先,登陸gitee十绑,然后聚至,在左側(cè)欄中找到“倉庫”“+”按鈕,創(chuàng)建一個新的倉庫:

image.png

目前本橙,在gitee上的這個xxx倉庫還是空的扳躬,gitee告訴我們,可以從這個倉庫克隆出新的倉庫甚亭,也可以把一個已有的本地倉庫與之關(guān)聯(lián)贷币,然后,把本地倉庫的內(nèi)容推送到gitee倉庫亏狰。

在創(chuàng)建遠(yuǎn)程倉庫時沒有生成readme文件時役纹,創(chuàng)建成功后會提示以下圖片中的命令行,直接按順序執(zhí)行即可暇唾。

WeChatefb3ebabee42749595d016590a405d18.png

現(xiàn)在字管,我們根據(jù)gitee的提示啰挪,在本地的xxx倉庫下運行命令:

$ git remote add origin https://gitee.com/kkk/xxx.git

請千萬注意,把上面的kkk替換成你自己的gitee賬戶名嘲叔,否則亡呵,你在本地關(guān)聯(lián)的就是我的遠(yuǎn)程庫,關(guān)聯(lián)沒有問題硫戈,但是你以后推送是推不上去的锰什,因為你的SSH Key公鑰不在我的賬戶列表中。

添加后丁逝,遠(yuǎn)程庫的名字就是origin汁胆,這是Git默認(rèn)的叫法,也可以改成別的霜幼,但是origin這個名字一看就知道是遠(yuǎn)程庫嫩码。

下一步,就可以把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫上:

$ git push -u origin master
Counting objects: 20, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (20/20), 1.64 KiB | 560.00 KiB/s, done.
Total 20 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), done.
To github.com:michaelliao/learngit.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

把本地庫的內(nèi)容推送到遠(yuǎn)程罪既,用git push命令铸题,實際上是把當(dāng)前分支master推送到遠(yuǎn)程。

由于遠(yuǎn)程庫是空的琢感,我們第一次推送master分支時丢间,加上了-u參數(shù),Git不但會把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支驹针,還會把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來烘挫,在以后的推送或者拉取時就可以簡化命令。

推送成功后柬甥,可以立刻在gitee頁面中看到遠(yuǎn)程庫的內(nèi)容已經(jīng)和本地一模一樣饮六。從現(xiàn)在起,只要本地作了提交苛蒲,就可以通過命令:

$ git push origin master

把本地master分支的最新修改推送至gitee卤橄,現(xiàn)在,你就擁有了真正的分布式版本庫撤防!

SSH警告

當(dāng)你第一次使用Git的clone或者push命令連接gitee時虽风,會得到一個警告:

The authenticity of host 'gitee.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

這是因為Git使用SSH連接棒口,而SSH連接在第一次驗證gitee服務(wù)器的Key時寄月,需要你確認(rèn)gitee的Key的指紋信息是否真的來自gitee的服務(wù)器,輸入yes回車即可无牵。

Git會輸出一個警告漾肮,告訴你已經(jīng)把gitee的Key添加到本機的一個信任列表里了:

Warning: Permanently added 'gitee.com' (RSA) to the list of known hosts.

這個警告只會出現(xiàn)一次,后面的操作就不會有任何警告了茎毁。

刪除遠(yuǎn)程庫

如果添加的時候地址寫錯了克懊,或者就是想刪除遠(yuǎn)程庫忱辅,可以用git remote rm <name>命令。使用前谭溉,建議先用git remote -v查看遠(yuǎn)程庫信息:

$ git remote -v
origin  https://gitee.com/kkk/xxx.git (fetch)
origin  https://gitee.com/kkk/xxx.git (push)

然后墙懂,根據(jù)名字刪除,比如刪除origin

$ git remote rm origin

此處的“刪除”其實是解除了本地和遠(yuǎn)程的綁定關(guān)系扮念,并不是物理上刪除了遠(yuǎn)程庫损搬。遠(yuǎn)程庫本身并沒有任何改動柜与。要真正刪除遠(yuǎn)程庫颅悉,需要登錄到gitee,在后臺頁面找到刪除按鈕再刪除。

小結(jié)

要關(guān)聯(lián)一個遠(yuǎn)程庫,使用命令git remote add origin https://gitee.com/user name/project name.git魂仍;

關(guān)聯(lián)一個遠(yuǎn)程庫時必須給遠(yuǎn)程庫指定一個名字擦酌,origin是默認(rèn)習(xí)慣命名赶诊;

關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容夺英;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改瓤帚;

分布式版本系統(tǒng)的最大好處之一是在本地工作完全不需要考慮遠(yuǎn)程庫的存在轩勘,也就是有沒有聯(lián)網(wǎng)都可以正常工作怯邪,而SVN在沒有聯(lián)網(wǎng)的時候是拒絕干活的绊寻!當(dāng)有網(wǎng)絡(luò)的時候,再把本地提交推送一下就完成了同步悬秉,真是太方便了澄步!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市和泌,隨后出現(xiàn)的幾起案子村缸,更是在濱河造成了極大的恐慌,老刑警劉巖武氓,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梯皿,死亡現(xiàn)場離奇詭異,居然都是意外死亡县恕,警方通過查閱死者的電腦和手機东羹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弱睦,“玉大人百姓,你說我怎么就攤上這事渊额】瞿荆” “怎么了垒拢?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長火惊。 經(jīng)常有香客問我求类,道長,這世上最難降的妖魔是什么屹耐? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任尸疆,我火速辦了婚禮,結(jié)果婚禮上惶岭,老公的妹妹穿的比我還像新娘寿弱。我一直安慰自己,他們只是感情好按灶,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布症革。 她就那樣靜靜地躺著,像睡著了一般鸯旁。 火紅的嫁衣襯著肌膚如雪噪矛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天铺罢,我揣著相機與錄音艇挨,去河邊找鬼。 笑死韭赘,一個胖子當(dāng)著我的面吹牛缩滨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泉瞻,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼楷怒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瓦灶?” 一聲冷哼從身側(cè)響起鸠删,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贼陶,沒想到半個月后刃泡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碉怔,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年桨踪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芹啥。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡锻离,死狀恐怖铺峭,靈堂內(nèi)的尸體忽然破棺而出汽纠,到底是詐尸還是另有隱情,我是刑警寧澤虱朵,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布莉炉,位于F島的核電站,受9級特大地震影響碴犬,放射性物質(zhì)發(fā)生泄漏絮宁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一羞福、第九天 我趴在偏房一處隱蔽的房頂上張望蚯涮。 院中可真熱鬧治专,春花似錦遭顶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铣揉。三九已至,卻和暖如春敌厘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背俱两。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工曹步, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宪彩,地道東北人讲婚。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像活合,于是被迫代替她去往敵國和親雏婶。 傳聞我的和親對象是個殘疾皇子芜辕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

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