用Git進(jìn)行版本控制(二)創(chuàng)建代碼倉(cāng)庫(kù)(mark)

前言:
教程來源于Udacity的免費(fèi)教程-用Git進(jìn)行版本控制置蜀,這里僅是個(gè)人的筆記,參考使用钦听。

需要學(xué)習(xí)的三個(gè)命令:


image.png

Git Init:使用Git在你的計(jì)算機(jī)上創(chuàng)建全新的倉(cāng)庫(kù)(repo).
Git clone:克隆一個(gè)已有的代碼倉(cāng)庫(kù)到本地計(jì)算機(jī)或是其它地方(repo).
Git status:查看代碼庫(kù)的狀態(tài).

所需的命令
注意椿争!我們將在這節(jié)課使用以下終端命令:

ls - 用來列出文件和目錄
mkdir - 用來新建目錄
cd - 用來更改目錄
rm - 用來刪除文件和目錄
如果你不知道如何使用它們,請(qǐng)參閱我們的 Linux 命令行基礎(chǔ) 課程缀棍!

我們還會(huì)涉及的一個(gè)概念是當(dāng)前目錄宅此,即你的 shell 正在查看的目錄。使用 cd 可以更改工作目錄爬范,使用 ls(單獨(dú)使用)會(huì)列出工作目錄下的文件父腕。如果你忘記 shell 的當(dāng)前工作目錄,可以使用 pwd 命令(表示 print working directory 輸出工作目錄)輸出該目錄的名稱青瀑。

*pwd-輸出當(dāng)前的工作目錄
*clear-清屏

創(chuàng)建代碼倉(cāng)庫(kù):

創(chuàng)建一個(gè)目錄璧亮,叫做udacity-git-course
在該目錄中,創(chuàng)建另一個(gè)目錄斥难,叫做 new-git-project
使用 cd 命令移到 new-git-project 目錄下

如果你和我一樣喜歡復(fù)制粘貼杜顺,則在終端上運(yùn)行以下命令:mkdir -p udacity-git-course/new-git-project && cd $_(在運(yùn)行此命令前,確保使用 cd 命令轉(zhuǎn)到你想將這些文件存儲(chǔ)到的位置蘸炸。例如躬络,如果你想將文件存儲(chǔ)到桌面上,則使用 cd 轉(zhuǎn)到桌面搭儒,然后再運(yùn)行該命令穷当。)

一切準(zhǔn)備好后,你的終端應(yīng)該位于 new-git-project 目錄中淹禾,并看起來如下所示:

image.png

git init

很棒馁菜!我們已經(jīng)準(zhǔn)備好,并且可以開始使用 git init 命令了铃岔!

這是最簡(jiǎn)單的命令之一汪疮。你只需在終端上運(yùn)行 git init。就這么多內(nèi)容毁习,立即試試吧智嚷!

image.png

該命令會(huì)在當(dāng)前目錄下初始化生成一個(gè)空的Git倉(cāng)庫(kù)。

git init 命令的作用

運(yùn)行 git init 命令會(huì)初始化 Git 跟蹤所有內(nèi)容會(huì)用到的所有必要文件和目錄纺且。所有這些文件都存儲(chǔ)在叫做 .git(注意開頭有個(gè) .盏道,表示在 Mac/Linux 上,它將是一個(gè)隱藏目錄)的目錄下载碌。這個(gè) .git 目錄是一個(gè)庫(kù)猜嘱!Git 會(huì)將所有 commit 記錄在這里衅枫,并跟蹤所有內(nèi)容!

我們來大致了解下 .git 目錄下的內(nèi)容朗伶。

警告:請(qǐng)勿直接修改 .git 目錄下的任何文件弦撩。這是倉(cāng)庫(kù)的核心。如果你更改了文件名或文件內(nèi)容论皆,Git 可能就無法跟蹤你保存在倉(cāng)庫(kù)中的文件孤钦,你可能會(huì)丟失很多內(nèi)容!可以查看這些文件纯丸,但是請(qǐng)勿編輯或刪除這些文件。

*類似于SVN里的.svn

image.png

description 文件 - 此文件僅用于 GitWeb 程序静袖,因此可以忽略
hooks 目錄 - 我們會(huì)在此處放置客戶端或服務(wù)器端腳本觉鼻,以便用來連接到 Git 的不同生命周期事件
info 目錄 - 包含全局排除文件
objects 目錄 - 此目錄將存儲(chǔ)我們提交的所有 commit
refs 目錄 - 此目錄存儲(chǔ)了指向 commit 的指針(通常是“分支”和“標(biāo)簽”)

深入研究

  • Git 內(nèi)部原理 - 底層命令和高層命令 : | (進(jìn)階內(nèi)容——請(qǐng)將此網(wǎng)址添加到書簽中,并在以后查看)

  • 自定義 Git - Git Hooks - 英 |

git init 小結(jié)
使用 git init 命令可以在當(dāng)前目錄下創(chuàng)建新的空倉(cāng)庫(kù)队橙。

$ git init
運(yùn)行此命令可以創(chuàng)建隱藏 .git 目錄坠陈。此 .git 目錄是倉(cāng)庫(kù)的核心/存儲(chǔ)中心。它存儲(chǔ)了所有的配置文件和目錄捐康,以及所有的 commit仇矾。

克隆現(xiàn)有倉(cāng)庫(kù)

至于為什么要克隆,你可以理解為重用解总,比如我新項(xiàng)目和原有的上一個(gè)項(xiàng)目在結(jié)構(gòu)組合配置上相似或是相同贮匕,一個(gè)一個(gè)的創(chuàng)建太機(jī)械低效,使用克隆可以直接copy出來到一個(gè)新的倉(cāng)庫(kù)中花枫。

在 Git 上進(jìn)行克隆的方法是調(diào)用我們將在終端上運(yùn)行的命令 git clone刻盐,然后傳入要克隆的 Git 倉(cāng)庫(kù)的路徑(通常是 URL)。

想要嘗試克隆一個(gè)現(xiàn)有的項(xiàng)目劳翰?我們來看看如何使用 Git 的 clone 命令敦锌!

克隆 blog 倉(cāng)庫(kù)

準(zhǔn)備好了?我們開始克隆吧佳簸!

輸入命令 git clone乙墙,然后輸入你要克隆的 Git 倉(cāng)庫(kù)的路徑。我們將在這門課程中一直使用的項(xiàng)目位于以下 URL 上:https://github.com/udacity/course-git-blog-project 生均。因此听想,使用該 URL 克隆 Blog 項(xiàng)目的完整命令是:

git clone https://github.com/udacity/course-git-blog-project

(他這里是從github服務(wù)上clone代碼倉(cāng)庫(kù),也可以克隆剛才本地創(chuàng)建new-git-project,只需要寫詳細(xì)的路徑即可马胧。如:


image.png

)

驗(yàn)證終端位置
提示:在克隆任何內(nèi)容之前哗魂,確保命令行工具已定位于正確的目錄下±煅牛克隆項(xiàng)目會(huì)新建一個(gè)目錄录别,并將克隆的 Git 倉(cāng)庫(kù)放在其中朽色。問題是無法創(chuàng)建嵌套的 Git 倉(cāng)庫(kù)。因此组题,確保終端的當(dāng)前工作目錄沒有位于 Git 倉(cāng)庫(kù)中葫男。如果當(dāng)前工作目錄沒有在 shell 的提示符中顯示,輸入 pwd 輸出工作目錄崔列。

*你不能在一個(gè)Git倉(cāng)庫(kù)中再嵌套創(chuàng)建另外一個(gè)Git倉(cāng)庫(kù)(repo).

不要在當(dāng)前的Git倉(cāng)庫(kù)中進(jìn)行clone.

目前我本機(jī)還無法從github中clone代碼梢褐,一直失敗,解析不了github.com,嘗試了很多方法赵讯,無果盈咳,暫且用本地的倉(cāng)庫(kù)進(jìn)行試驗(yàn),稍后再去解決边翼!

默認(rèn)情況下鱼响,克隆出來的名字和原倉(cāng)庫(kù)的名字是相同的,如何使用不同的名稱组底?

只需要在命令后面丈积,加上新的項(xiàng)目名稱即可,如:

git clone udacity-git-course/new-git-project new-git-project2

image.png

注意:在clone倉(cāng)庫(kù)以后债鸡,我們要通過cd手動(dòng)切換到新的工作目錄下江滨!

cd new-git-project2

image.png

判斷倉(cāng)庫(kù)(repo)的狀態(tài)

git status 命令將顯示倉(cāng)庫(kù)的當(dāng)前狀態(tài)。

git status 是了解 Git 的核心所在厌均。它將告訴我們 Git 正在考慮什么唬滑,以及 Git 所看到的我們倉(cāng)庫(kù)的狀態(tài)。當(dāng)你第一次使用 Git 時(shí)棺弊,你應(yīng)該一直都要使用 git status 命令间雀!說真的,你應(yīng)該習(xí)慣于運(yùn)行任何其他命令之后镊屎,都運(yùn)行下該命令惹挟。這樣可以幫助你了解 Git 的工作原理,并避免你對(duì)文件 / 倉(cāng)庫(kù)狀態(tài)做出不正確的推論缝驳。

輸入:
git status

image.png

從輸出狀態(tài)可以清晰地看出沒有任何 commit连锯!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市用狱,隨后出現(xiàn)的幾起案子运怖,更是在濱河造成了極大的恐慌,老刑警劉巖夏伊,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摇展,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡溺忧,警方通過查閱死者的電腦和手機(jī)咏连,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門盯孙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人祟滴,你說我怎么就攤上這事振惰。” “怎么了垄懂?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵骑晶,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我草慧,道長(zhǎng)桶蛔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任漫谷,我火速辦了婚禮仔雷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抖剿。我一直安慰自己,他們只是感情好识窿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布斩郎。 她就那樣靜靜地躺著,像睡著了一般喻频。 火紅的嫁衣襯著肌膚如雪缩宜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天甥温,我揣著相機(jī)與錄音锻煌,去河邊找鬼。 笑死姻蚓,一個(gè)胖子當(dāng)著我的面吹牛宋梧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狰挡,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼捂龄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了加叁?” 一聲冷哼從身側(cè)響起倦沧,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎它匕,沒想到半個(gè)月后展融,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡豫柬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年告希,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扑浸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡暂雹,死狀恐怖首装,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情杭跪,我是刑警寧澤仙逻,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站涧尿,受9級(jí)特大地震影響系奉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜姑廉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一缺亮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧桥言,春花似錦萌踱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扔涧,卻和暖如春园担,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枯夜。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工弯汰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人湖雹。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓咏闪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親摔吏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汤踏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

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

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉(cāng)庫(kù)完整的鏡像下來舔腾。這樣一來溪胶,任何一處協(xié)同...
    __silhouette閱讀 15,860評(píng)論 5 147
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉(cāng)庫(kù)完整的鏡像下來...
    sunnyghx閱讀 3,907評(píng)論 0 11
  • 一 Git配置和倉(cāng)庫(kù)初始化 下面會(huì)介紹Git的使用,每個(gè)小節(jié)里會(huì)講解各個(gè)功能在命令行中的實(shí)現(xiàn)方式,并在每小節(jié)的最后...
    Happioo閱讀 3,333評(píng)論 0 5
  • 總有些文字描述的情感是我們一時(shí)無法深刻理解的才避,但是橱夭,某一天或是某一時(shí)刻,當(dāng)你正在經(jīng)歷一些過程桑逝,那些不能...
    紛說閱讀 636評(píng)論 2 5