創(chuàng)建版本庫

什么是版本庫呢踱侣?版本庫又名倉庫锌杀,英文名repository甩栈,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來糕再,每個文件的修改量没、刪除,Git都能跟蹤突想,以便任何時刻都可以追蹤歷史殴蹄,或者在將來某個時刻可以“還原”。

所以猾担,創(chuàng)建一個版本庫非常簡單袭灯,首先,選擇一個合適的地方绑嘹,創(chuàng)建一個空目錄:

$ mkdir learngit

$ cd learngit

$ pwd

/Users/michael/learngit

pwd命令用于顯示當(dāng)前目錄稽荧。在我的Mac上,這個倉庫位于/Users/michael/learngit工腋。

?如果你使用Windows系統(tǒng)姨丈,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文擅腰。

第二步蟋恬,通過git init命令把這個目錄變成Git可以管理的倉庫:

$ git init

InitializedemptyGitrepositoryin/Users/michael/learngit/.git/

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

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

https://www.bilibili.com/video/av51215681


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

把文件添加到版本庫

首先這里再明確一下巷蚪,所有的版本控制系統(tǒng)病毡,其實只能跟蹤文本文件的改動,比如TXT文件屁柏,網(wǎng)頁啦膜,所有的程序代碼等等有送,Git也不例外。版本控制系統(tǒng)可以告訴你每次的改動僧家,比如在第5行加了一個單詞“Linux”雀摘,在第8行刪了一個單詞“Windows”。而圖片八拱、視頻這些二進(jìn)制文件阵赠,雖然也能由版本控制系統(tǒng)管理,但沒法跟蹤文件的變化肌稻,只能把二進(jìn)制文件每次改動串起來清蚀,也就是只知道圖片從100KB改成了120KB,但到底改了啥爹谭,版本控制系統(tǒng)不知道枷邪,也沒法知道。

不幸的是诺凡,Microsoft的Word格式是二進(jìn)制格式东揣,因此,版本控制系統(tǒng)是沒法跟蹤Word文件的改動的绑洛,前面我們舉的例子只是為了演示救斑,如果要真正使用版本控制系統(tǒng),就要以純文本方式編寫文件真屯。

因為文本是有編碼的脸候,比如中文有常用的GBK編碼,日文有Shift_JIS編碼绑蔫,如果沒有歷史遺留問題运沦,強烈建議使用標(biāo)準(zhǔn)的UTF-8編碼,所有語言使用同一種編碼配深,既沒有沖突携添,又被所有平臺所支持。

使用Windows的童鞋要特別注意:

千萬不要使用Windows自帶的記事本編輯任何文本文件篓叶。原因是Microsoft開發(fā)記事本的團隊使用了一個非常弱智的行為來保存UTF-8編碼的文件烈掠,他們自作聰明地在每個文件開頭添加了0xefbbbf(十六進(jìn)制)的字符,你會遇到很多不可思議的問題缸托,比如左敌,網(wǎng)頁第一行可能會顯示一個“?”,明明正確的程序一編譯就報語法錯誤俐镐,等等矫限,都是由記事本的弱智行為帶來的。建議你下載Notepad++代替記事本,不但功能強大叼风,而且免費取董!記得把Notepad++的默認(rèn)編碼設(shè)置為UTF-8 without BOM即可:


言歸正傳,現(xiàn)在我們編寫一個readme.txt文件无宿,內(nèi)容如下

Gitisa version control system.

Gitisfree software.

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

和把大象放到冰箱需要3步相比经窖,把一個文件放到Git倉庫只需要兩步。

第一步梭灿,用命令git add告訴Git画侣,把文件添加到倉庫:

$ git add readme.txt

執(zhí)行上面的命令,沒有任何顯示堡妒,這就對了配乱,Unix的哲學(xué)是“沒有消息就是好消息”,說明添加成功皮迟。

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

$ gitcommit-m"wrote a readme file"

[master (root-commit) eaadf4e] wrote a readme file

1file changed,2insertions(+)

createmode100644readme.txt

簡單解釋一下git commit命令伏尼,-m后面輸入的是本次提交的說明忿檩,可以輸入任意內(nèi)容,當(dāng)然最好是有意義的爆阶,這樣你就能從歷史記錄里方便地找到改動記錄燥透。

嫌麻煩不想輸入-m "xxx"行不行?確實有辦法可以這么干辨图,但是強烈不建議你這么干班套,因為輸入說明對自己對別人閱讀都很重要。實在不想輸入說明的童鞋請自行Google故河,我不告訴你這個參數(shù)吱韭。

git commit命令執(zhí)行成功后會告訴你,1 file changed:1個文件被改動(我們新添加的readme.txt文件)鱼的;2 insertions:插入了兩行內(nèi)容(readme.txt有兩行內(nèi)容)理盆。

https://www.bilibili.com/video/av51215739

為什么Git添加文件需要add,commit一共兩步呢凑阶?因為commit可以一次提交很多文件猿规,所以你可以多次add不同的文件,比如:

$ git add file1.txt

$ git add file2.txt file3.txt

$ git commit -m"add 3 files."

小結(jié)

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

初始化一個Git倉庫晌砾,使用git init命令坎拐。

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

使用命令git add <file>养匈,注意哼勇,可反復(fù)多次使用,添加多個文件呕乎;

使用命令git commit -m <message>积担,完成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猬仁,一起剝皮案震驚了整個濱河市帝璧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌湿刽,老刑警劉巖的烁,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诈闺,居然都是意外死亡渴庆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門雅镊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來襟雷,“玉大人,你說我怎么就攤上這事仁烹∷逝” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵卓缰,是天一觀的道長计呈。 經(jīng)常有香客問我,道長征唬,這世上最難降的妖魔是什么震叮? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮鳍鸵,結(jié)果婚禮上苇瓣,老公的妹妹穿的比我還像新娘。我一直安慰自己偿乖,他們只是感情好击罪,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贪薪,像睡著了一般媳禁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上画切,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音,去河邊找鬼毫别。 笑死,一個胖子當(dāng)著我的面吹牛岛宦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播砾肺,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼挽霉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了变汪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤硅蹦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后闷煤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體童芹,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年鲤拿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片近顷。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖缀遍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情域醇,我是刑警寧澤蓉媳,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布譬挚,位于F島的核電站酪呻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玩荠。R本人自食惡果不足惜贼邓,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一闷尿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悠砚,春花似錦堂飞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽衡蚂。三九已至,卻和暖如春毛甲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背玻募。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工一姿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叮叹。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像蛉顽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子携冤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

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