2.Git基礎

有兩種取得 Git 項目倉庫的方法

  • 第一種是在現(xiàn)有項目或目錄下導入所有文件到 Git 中爵川; 第二種是從一個服務器克隆一個現(xiàn)有的 Git 倉庫。


    image
$ git init
$ git clone 

文件4種狀態(tài)

  • Untracked: 未跟蹤, 此文件在文件夾中, 但并沒有加入到git庫, 不參與版本控制. 通過git add 狀態(tài)變?yōu)?code>Staged.
  • Unmodify: 文件已經(jīng)入庫, 未修改, 即版本庫中的文件快照內(nèi)容與文件夾中完全一致. 這種類型的文件有兩種去處, 如果它被修改, 而變?yōu)?code>Modified. 如果使用git rm移出版本庫, 則成為Untracked文件
  • Modified: 文件已修改, 僅僅是修改, 并沒有進行其他的操作. 這個文件也有兩個去處, 通過git add可進入暫存staged狀態(tài), 使用git checkout 則丟棄修改過, 返回到unmodify狀態(tài), 這個git checkout即從庫中取出文件, 覆蓋當前修改
  • Staged: 暫存狀態(tài). 執(zhí)行git commit則將修改同步到庫中, 這時庫中的文件和本地文件又變?yōu)橐恢? 文件為Unmodify狀態(tài). 執(zhí)行git reset HEAD filename取消暫存, 文件狀態(tài)為Modified
    image

查看文件狀態(tài)

查看指定文件狀態(tài)
git status [filename]
查看所有文件狀態(tài)
git status

添加文件與目錄

image

工作區(qū)(Working Directory)就是你在電腦里能看到的目錄息楔。
版本庫(Repository)工作區(qū)有一個隱藏目錄.git寝贡,這個不算工作區(qū),而是Git的版本庫值依。
Git的版本庫里存了很多東西圃泡,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動創(chuàng)建的第一個分支master愿险,以及指向master的一個指針叫HEAD颇蜡。
將untracked狀態(tài)的文件添加到暫存區(qū),語法格式如下:

添加指定文件到暫存區(qū)
$ git add [file1] [file2] ...
添加指定目錄到暫存區(qū)辆亏,包括子目錄
$ git add [dir]
添加當前目錄的所有文件到暫存區(qū)
$ git add .

移除文件與目錄(撤銷add)

image

當執(zhí)行如下命令時风秤,會直接從暫存區(qū)刪除文件,工作區(qū)則不做出改變

直接從暫存區(qū)刪除文件扮叨,工作區(qū)則不做出改變
git rm --cached <file>

通過重寫目錄樹移除add文件:
如果已經(jīng)用add 命令把文件加入stage了缤弦,就先需要從stage中撤銷

git reset HEAD <file>...
當執(zhí)行 “git reset HEAD” 命令時,暫存區(qū)的目錄樹會被重寫甫匹,被 master 分支指向的目錄樹所替換甸鸟,但是工作區(qū)不受影響。

移除所有未跟蹤文件

一般會加上參數(shù)-df兵迅,-d表示包含目錄,-f表示強制清除薪贫。
git clean [options] 

總結(jié):

當執(zhí)行提交操作(git commit)時恍箭,暫存區(qū)的目錄樹寫到版本庫(對象庫)中,master 分支會做相應的更新瞧省。即 master 指向的目錄樹就是提交時暫存區(qū)的目錄樹扯夭。
當執(zhí)行 “git reset HEAD” 命令時鳍贾,暫存區(qū)的目錄樹會被重寫,被 master 分支指向的目錄樹所替換交洗,但是工作區(qū)不受影響。
當執(zhí)行 “git rm –cached <file>” 命令時,會直接從暫存區(qū)刪除文件东帅,工作區(qū)則不做出改變霞赫。
當執(zhí)行 “git checkout .” 或者 “git checkout — <file>” 命令時,會用暫存區(qū)全部或指定的文件替換工作區(qū)的文件置森。這個操作很危險斗埂,會清除工作區(qū)中未添加到暫存區(qū)的改動。
當執(zhí)行 “git checkout HEAD .” 或者 “git checkout HEAD <file>” 命令時凫海,會用 HEAD 指向的 master 分支中的全部或者部分文件替換暫存區(qū)和以及工作區(qū)中的文件呛凶。這個命令也是極具危險性的,因為不但會清除工作區(qū)中未提交的改動行贪,也會清除暫存區(qū)中未提交的改 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末漾稀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子建瘫,更是在濱河造成了極大的恐慌崭捍,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暖混,死亡現(xiàn)場離奇詭異缕贡,居然都是意外死亡,警方通過查閱死者的電腦和手機拣播,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進店門晾咪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人贮配,你說我怎么就攤上這事谍倦。” “怎么了泪勒?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵昼蛀,是天一觀的道長。 經(jīng)常有香客問我圆存,道長叼旋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任沦辙,我火速辦了婚禮夫植,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘油讯。我一直安慰自己详民,他們只是感情好延欠,可當我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沈跨,像睡著了一般由捎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饿凛,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天狞玛,我揣著相機與錄音,去河邊找鬼笤喳。 笑死为居,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的杀狡。 我是一名探鬼主播蒙畴,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼呜象!你這毒婦竟也來了膳凝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤恭陡,失蹤者是張志新(化名)和其女友劉穎蹬音,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體休玩,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡著淆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拴疤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片永部。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖呐矾,靈堂內(nèi)的尸體忽然破棺而出苔埋,到底是詐尸還是另有隱情,我是刑警寧澤蜒犯,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布组橄,位于F島的核電站,受9級特大地震影響罚随,放射性物質(zhì)發(fā)生泄漏玉工。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一淘菩、第九天 我趴在偏房一處隱蔽的房頂上張望瓮栗。 院中可真熱鬧,春花似錦瞄勾、人聲如沸费奸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愿阐。三九已至,卻和暖如春趾疚,著一層夾襖步出監(jiān)牢的瞬間缨历,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工糙麦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辛孵,地道東北人。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓赡磅,卻偏偏與公主長得像魄缚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子焚廊,可洞房花燭夜當晚...
    茶點故事閱讀 44,652評論 2 354

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

  • 必須要了解GIT的原理冶匹,才能知道每個操作的意義是什么,才能更容易地理解在什么情況下用什么操作咆瘟,而不是死記命令嚼隘。當然...
    zenos876閱讀 596評論 0 0
  • git /g?t/ 是一個開源的分布式版本控制系統(tǒng) 最初是 Linus Torvalds 為了幫助管理 Linux...
    TurboSnail閱讀 1,275評論 0 0
  • 前言 這一章將講解使用Git完成各種工作中要使用到的基礎命令,基本上你大部分的工作都是使用這些基礎命令來完成的袒餐。 ...
    redher閱讀 380評論 0 0
  • Git基礎 獲取 Git 倉庫 在現(xiàn)有目錄中初始化倉庫 如果你打算使用 Git 來對現(xiàn)有的項目進行管理飞蛹,你只需要進...
    Tomcy_110閱讀 281評論 0 1
  • 整合與標簽轉(zhuǎn)換 Integration and Label Transfer 1.描述在預印版上的方法 組裝多種s...
    chen_whytin閱讀 6,730評論 1 7