git 初體驗(yàn)

安裝 git

git官網(wǎng)瓤逼,這里提供了詳細(xì)文檔笼吟,《起步》中的1.5節(jié)是 git 的安裝方法,它提供了 windows霸旗、mac贷帮、linux 平臺(tái)的安裝方法。

安裝成功后诱告,打開終端輸入git --version撵枢,如果能看到 git 版本,就說明安裝成功了蔬啡。mac 推薦使用 iTerm2 終端軟件诲侮,windows 推薦使用 git bash。

git 最小配置

在正式使用 git 之前需要做一些配置箱蟆,稱之為最小配置沟绪,也就是說要將參與項(xiàng)目開發(fā)人員的 name 和 email 進(jìn)行設(shè)置。

每次的變更空猜,在什么時(shí)間點(diǎn)绽慈,是誰做出了變更,那個(gè)這個(gè)信息是跟著某個(gè)變更信息捆綁在一起的辈毯。

單引號(hào)里面的是需要你自己填寫相應(yīng)的信息坝疼,這些信息最好是真實(shí)的,方便別人找到你谆沃。

git config --global user.name 'your_name'
git config --global user.email 'your_email'

這個(gè)地方設(shè)置了global钝凶,那是不是還有別的呢?

除了global以外唁影,還可以設(shè)置local耕陷,system

git config --local      //只對(duì)某個(gè)倉(cāng)庫(kù)有效
git config --global     //對(duì)所有倉(cāng)庫(kù)有效
git config --system     //對(duì)系統(tǒng)所有登錄的用戶有效

我們?cè)谑褂?git 時(shí)据沈,它會(huì)管理我們的文件系統(tǒng)哟沫,不是整個(gè)操作系統(tǒng)級(jí)別的管理,比如說你在某個(gè)地方建立了 git 倉(cāng)庫(kù)锌介,倉(cāng)庫(kù)就相當(dāng)于一個(gè)獨(dú)立的項(xiàng)目嗜诀。

如果你設(shè)置local的話,你設(shè)置的信息孔祸,比如user_name隆敢、user_eamil只會(huì)對(duì)當(dāng)前倉(cāng)庫(kù)有效,如果你切換到另一個(gè)倉(cāng)庫(kù)時(shí)崔慧,local的配置就會(huì)無效了筑公,

設(shè)置global的話,如果我電腦上有十個(gè)倉(cāng)庫(kù)尊浪,那么設(shè)置的user_name匣屡、user_email就會(huì)對(duì)這十個(gè)倉(cāng)庫(kù)都有效

設(shè)置system的話,是對(duì)系統(tǒng)所有登錄用戶都有效拇涤。

在工作中為了方便捣作,用global最多,system基本不用鹅士。

你在做設(shè)置之前券躁,想要看下現(xiàn)有配置是什么樣的,可以使用list命令

git config --list --global      //可以查看相關(guān)配置掉盅,是否設(shè)置成功

建 git 倉(cāng)庫(kù)

在實(shí)際的工作中也拜,建倉(cāng)庫(kù)有兩種場(chǎng)景:

  1. 把已有的項(xiàng)目代碼納入 git 管理
cd 項(xiàng)目代碼所在的文件夾
git init
  1. 新建的項(xiàng)目直接用 git 管理
cd 某文件夾
git init your_project   //會(huì)在當(dāng)前路徑下創(chuàng)建和項(xiàng)目名稱同名的文件夾
cd your_project

我們現(xiàn)在桌面上創(chuàng)建一個(gè)git目錄,后面關(guān)于 git 的學(xué)習(xí)都將會(huì)在這個(gè)文件夾下趾痘。

創(chuàng)建第一個(gè) git 倉(cāng)庫(kù)

git init git_learning 初始化一個(gè)新的 git 倉(cāng)庫(kù)慢哈,里面有一個(gè).git的隱藏文件夾,它將是我們的核心永票,后面會(huì)慢慢講解卵贱。

前面講了給當(dāng)前項(xiàng)目設(shè)置config,有三種方式侣集,之前已經(jīng)設(shè)置了global键俱,這次設(shè)置一個(gè)local,看下最終提交時(shí)它會(huì)用global綁定的信息世分,還是local綁定的信息编振。

之前globaluser.name設(shè)置的是tiantian,現(xiàn)在localuser.name設(shè)置的是uccs臭埋。

image

當(dāng)我們用git commit命令提交后踪央,可以用git log來查看提交歷史,黃顏色的commit是這次提交的id號(hào)斋泄,Author顯示的是uccs杯瞻,這個(gè)作者是剛剛給local設(shè)置的綁定信息,由此我們可以看出如果同時(shí)存在globallocal的綁定信息炫掐,local的優(yōu)先級(jí)要高魁莉。

往倉(cāng)庫(kù)里添加文件

要進(jìn)行4次提交,養(yǎng)成 git 的工作習(xí)慣

image

暫存區(qū)的作用:

  1. 在工作目錄做的變更首先將它添加的到暫存區(qū)募胃;
  2. 你在工作目錄做的變更旗唁,假設(shè)你有了其他方案,你不妨把這次的變更先放到暫存區(qū)痹束;
  3. 然后在嘗試用另一套方案检疫,假如第二次的方案還沒有第一次好的話,暫存區(qū)的方案可以覆蓋工作區(qū)的方案祷嘶;
  4. 暫存區(qū)的內(nèi)容屎媳,是暫時(shí)存放夺溢,還不是作為一個(gè)正式的提交,但是它已經(jīng)被 git 管理了烛谊,暫存區(qū)的內(nèi)容可以很容易的被正式提交风响,如果不合適還可以回退。

第一次提交

  1. 創(chuàng)建了一個(gè)index.html
  2. 使用git status可以查看工作目錄和暫存區(qū)的狀態(tài)〉べ鳎現(xiàn)在的提示是沒有被 git 管理
  3. 使用git add index.html状勤,add后面可以添加多個(gè)文件或者文件夾
  4. 再次使用git status,它會(huì)提示你已經(jīng)將文件添加到暫存區(qū)去了双泪。
  5. git commit -m 'add index.html'作為第一提交
    image

第二次提交

  1. 我們給當(dāng)前頁(yè)面加點(diǎn)樣式持搜,創(chuàng)建了一個(gè)style.css的文件
  2. 使用git status發(fā)現(xiàn)剛剛創(chuàng)建的文件沒有被 git 管理
  3. 使用git add style,將剛創(chuàng)建的文件添加到暫存區(qū)
  4. 確認(rèn)無誤后焙矛,使用git commti -m 'add style.css'作為第二次提交 [圖片上傳失敗...(image-ce92b1-1558452645149)]

第三次提交

  1. 過程同第二次提交步驟一樣
image

第四次提交

  1. 現(xiàn)在需要對(duì)第一提交的index.html進(jìn)行編輯
  2. 編輯后使用git status葫盼,發(fā)現(xiàn)之前綠色的文件又變成了紅色。
  3. 對(duì)修改的文件薄扁,可以使用git add -u將它添加到暫存區(qū)
  4. 確認(rèn)無誤后剪返,做第四次提交。


    image

git 高效重命名文件

工作中有時(shí)會(huì)存在文件重命名的邓梅,我們第一反應(yīng)是脱盲,在工作區(qū)或者工作目錄里面完成,然后將它加到暫存區(qū)里去日缨,再用commit的方式去提交

mv readme readme.md
git status      //會(huì)提示你要?jiǎng)h除 readme钱反,同時(shí)要添加 readme.md。

下圖:

image
git rm readme
git add readme.md
git status

下圖:最終的狀態(tài) git 知道你是在重命名文件

image

按照現(xiàn)在已知的方法是這幾個(gè)步驟

  1. 將文件重命名
  2. 將重命名后的文件添加到暫存區(qū)
  3. 將老文件移除

用 git 的命令該怎么做呢?

先回到初始的狀態(tài)匣距,可以用git reset --hard面哥,它會(huì)將工作區(qū)和暫存區(qū)之前的操作全部清空,回到初始狀態(tài)毅待。此操作比較危險(xiǎn)尚卫,慎用。

git mv readme readme.md

下圖:一個(gè) git 命令代替上面三個(gè)步驟尸红,效果是一樣的

image

最后提交一下吱涉,用 git 提供的命令重命名,不需要再add了外里。

總結(jié)

  1. 最小配置
git config --global user.name 'user_name'
git config --global user.email 'user_email'
  1. 初始化倉(cāng)庫(kù)
git init
  1. 提交
git add xxx
git commit -m ''
  1. 文件重命名
git mv readme readme.md
  1. 回滾
git reset --hard
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末怎爵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盅蝗,更是在濱河造成了極大的恐慌鳖链,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墩莫,死亡現(xiàn)場(chǎng)離奇詭異芙委,居然都是意外死亡逞敷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門题山,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兰粉,“玉大人,你說我怎么就攤上這事顶瞳。” “怎么了愕秫?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵慨菱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我戴甩,道長(zhǎng)符喝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任甜孤,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸥拧。我一直安慰自己额湘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布把夸。 她就那樣靜靜地躺著而线,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恋日。 梳的紋絲不亂的頭發(fā)上膀篮,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音岂膳,去河邊找鬼誓竿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛谈截,可吹牛的內(nèi)容都是我干的筷屡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼傻盟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼速蕊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娘赴,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤规哲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后诽表,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唉锌,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隅肥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袄简。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腥放。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绿语,靈堂內(nèi)的尸體忽然破棺而出秃症,到底是詐尸還是另有隱情,我是刑警寧澤吕粹,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布种柑,位于F島的核電站,受9級(jí)特大地震影響匹耕,放射性物質(zhì)發(fā)生泄漏聚请。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一稳其、第九天 我趴在偏房一處隱蔽的房頂上張望驶赏。 院中可真熱鬧,春花似錦既鞠、人聲如沸煤傍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)患久。三九已至,卻和暖如春浑槽,著一層夾襖步出監(jiān)牢的瞬間蒋失,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工桐玻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留篙挽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓镊靴,卻偏偏與公主長(zhǎng)得像铣卡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子偏竟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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

  • 一 Git配置和倉(cāng)庫(kù)初始化 下面會(huì)介紹Git的使用踊谋,每個(gè)小節(jié)里會(huì)講解各個(gè)功能在命令行中的實(shí)現(xiàn)方式蝉仇,并在每小節(jié)的最后...
    Happioo閱讀 3,368評(píng)論 0 5
  • 一直都想學(xué)習(xí)git,用于版本控制工具,之前用的是svn集中式的版本控制工具,聽說git是一種分布式的版本控制工具轿衔,...
    小乖心塞閱讀 312評(píng)論 0 0
  • 簡(jiǎn)介 Git是一個(gè)開源的分布式版本控制系統(tǒng)沉迹,用于敏捷高效地處理任何或小或大的項(xiàng)目。 Git 與常用的版本控制工具 ...
    閩越布衣閱讀 2,745評(píng)論 0 18
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,661評(píng)論 9 163
  • 啊啊昂浴鞭呕!今天感覺精神狀態(tài)都不錯(cuò),心情也挺好的宛官,看上去給人一種很有精氣神的『桑現(xiàn)在又開始休息了,足足上了4個(gè)小時(shí)左右摘刑,...
    爭(zhēng)取做好想要做的事情閱讀 217評(píng)論 0 1