Git學(xué)習(xí)(2018-08-12)

Git創(chuàng)建local repository和remote repository

參考:
Git的使用--如何將本地項(xiàng)目上傳到Github
Git教程 - 廖雪峰的官方網(wǎng)站

這篇文章主要講Git本地倉(cāng)庫(kù)的創(chuàng)建及上傳到GitHub的步驟
Git的安裝就不說(shuō)了,直接上干貨。

1、創(chuàng)建一個(gè)本地的版本庫(kù)(其實(shí)也就是一個(gè)文件夾)。
可以直接右擊新建文件夾堪侯,也可以右擊打開(kāi)Git bash命令行窗口通過(guò)命令來(lái)創(chuàng)建。
通過(guò)命令行在桌面新建一個(gè)TEST文件夾(你也可以在其他任何地方創(chuàng)建這個(gè)文件夾),并且進(jìn)入這個(gè)文件夾

new folder

icon

2饵婆、通過(guò)git init把它變成Git倉(cāng)庫(kù);

$ git init
$ git init

可以通過(guò)git status查看狀態(tài)

$ git status
$ git status I

3戏售、把項(xiàng)目復(fù)制到這個(gè)文件夾里面侨核,再通過(guò)git add .把項(xiàng)目添加到倉(cāng)庫(kù);

git add .
$ git add .

此時(shí)沒(méi)有消息就是好消息,可以通過(guò)git status查看狀態(tài)

$ git status II

4灌灾、告訴git你是誰(shuí)

$  git config --global user.email "you@example.com"
$  git config --global user.name "Your Name"
email
name

5搓译、再通過(guò)git commit -m "注釋內(nèi)容"把項(xiàng)目提交到倉(cāng)庫(kù);

$ git commit -m "first commit"
git commit -m "注釋"

6锋喜、創(chuàng)建SSH KEY些己。先看一下C盤(pán)用戶(hù)目錄下有沒(méi)有.ssh目錄,有的話(huà)看下里面有沒(méi)有id_rsa和id_rsa.pub這兩個(gè)文件嘿般,有就跳到GitHub設(shè)置段标,沒(méi)有就通過(guò)下面命令創(chuàng)建

$ ssh-keygen -t rsa -C "youremail@example.com"

然后一路回車(chē)。這時(shí)你就會(huì)在用戶(hù)下的.ssh目錄里找到id_rsa和id_rsa.pub這兩個(gè)文件炉奴。

登錄Github,找到右上角的圖標(biāo)逼庞,打開(kāi)點(diǎn)進(jìn)里面的Settings,再選中里面的SSH and GPG KEYS瞻赶,點(diǎn)擊右上角的New SSH key赛糟,然后Title里面隨便填,再把剛才id_rsa.pub里面的內(nèi)容復(fù)制到Title下面的Key內(nèi)容框里面砸逊,最后點(diǎn)擊Add SSH key璧南,這樣就完成了SSH Key的加密。

7痹兜、在Github上設(shè)置好SSH密鑰后穆咐,新建一個(gè)遠(yuǎn)程倉(cāng)庫(kù),通過(guò)git remote add origin https://github.com/Allenem/2048game.git將本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián);

$ git remote add origin https://github.com/Allenem/2048game.git
remote repository

8对湃、最后通過(guò)git push -u origin master把本地倉(cāng)庫(kù)的項(xiàng)目推送到遠(yuǎn)程倉(cāng)庫(kù)(也就是Github)上(若新建遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候自動(dòng)創(chuàng)建了README文件會(huì)報(bào)錯(cuò)崖叫,解決辦法如下)。該步驟會(huì)要求輸入name或email和登錄密碼登錄來(lái)上傳拍柒。

$ git push -u origin master
push

由于新建的遠(yuǎn)程倉(cāng)庫(kù)是空的心傀,所以要加上-u這個(gè)參數(shù),等遠(yuǎn)程倉(cāng)庫(kù)里面有了內(nèi)容之后拆讯,下次再?gòu)谋镜貛?kù)上傳內(nèi)容的時(shí)候只需下面這樣就可以了:

$ git push origin master

這時(shí)候你再重新刷新你的Github頁(yè)面進(jìn)入剛才新建的那個(gè)倉(cāng)庫(kù)里面就會(huì)發(fā)現(xiàn)項(xiàng)目已經(jīng)成功上傳了:


github push successfully

注意:
①創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候脂男,如果你勾選了Initialize this repository with a README(就是創(chuàng)建倉(cāng)庫(kù)的時(shí)候自動(dòng)給你創(chuàng)建一個(gè)README文件),那么到了將本地倉(cāng)庫(kù)內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候就會(huì)報(bào)一個(gè)error:failed to push some refs to https://github.com/Allenem/2048game.git的錯(cuò)种呐。

error.png

這是由于你新創(chuàng)建的那個(gè)倉(cāng)庫(kù)里面的README文件不在本地倉(cāng)庫(kù)目錄中宰翅,這時(shí)我們可以通過(guò)以下命令先將內(nèi)容合并以下:

$ git pull --rebase origin master

這時(shí)你再push就能成功了
②若前面沒(méi)提交倉(cāng)庫(kù)$ git commit -m "first commit"也會(huì)報(bào)錯(cuò),完成該步驟即可。

git 提交環(huán)節(jié)的三大部分

在git提交環(huán)節(jié)爽室,存在三大部分:working tree, index file, commit(工作區(qū)汁讼,暫存區(qū),遠(yuǎn)程倉(cāng)庫(kù))

這三大部分中:

  1. working tree:就是你所工作在的目錄阔墩,每當(dāng)你在代碼中進(jìn)行了修改嘿架,working tree的狀態(tài)就改變了。
  2. index file:是索引文件啸箫,它是連接working tree和commit的橋梁耸彪,每當(dāng)我們使用git-add命令來(lái)登記后,index file的內(nèi)容就改變了忘苛,此時(shí)index file就和working tree同步了蝉娜。
  3. commit:是最后的階段,只有commit了柑土,我們的代碼才真正進(jìn)入了git倉(cāng)庫(kù)蜀肘。我們使用git-commit就是將index file里的內(nèi)容提交到commit中。

總結(jié)一下:

  1. git diff:是查看working tree與index file的差別的稽屏。
  2. git diff --cached:是查看index file與commit的差別的扮宠。
  3. git diff HEAD:是查看working tree和commit的差別的。(你一定沒(méi)有忘記狐榔,HEAD代表的是最近的一次commit的信息)

eg:
本地README.md新增


## first change

git操作與顯示如下:

  1. add前:
$ git diff
diff --git a/README.md b/README.md
index 83c831f..b87bcfb 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
 # test
+
+## first change
$ git diff --cached

$ git diff HEAD
diff --git a/README.md b/README.md
index 83c831f..b87bcfb 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
 # test
+
+## first change
  1. add后坛增,commit前
$ git add .
$ git diff

$ git diff --cached
diff --git a/README.md b/README.md
index 83c831f..b87bcfb 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
 # test
+
+## first change
$ git diff HEAD
diff --git a/README.md b/README.md
index 83c831f..b87bcfb 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
 # test
+
+## first change
  1. commit后
$ git commit -m 'first change'
[master 89c28ca] first change
 1 file changed, 2 insertions(+)
$ git diff

$ git diff --cached

$ git diff HEAD

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市薄腻,隨后出現(xiàn)的幾起案子收捣,更是在濱河造成了極大的恐慌,老刑警劉巖庵楷,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罢艾,死亡現(xiàn)場(chǎng)離奇詭異楣颠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)咐蚯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)童漩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人春锋,你說(shuō)我怎么就攤上這事矫膨。” “怎么了期奔?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵侧馅,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我呐萌,道長(zhǎng)馁痴,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任搁胆,我火速辦了婚禮弥搞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘渠旁。我一直安慰自己,他們只是感情好船逮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布顾腊。 她就那樣靜靜地躺著,像睡著了一般挖胃。 火紅的嫁衣襯著肌膚如雪杂靶。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天酱鸭,我揣著相機(jī)與錄音吗垮,去河邊找鬼。 笑死凹髓,一個(gè)胖子當(dāng)著我的面吹牛烁登,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蔚舀,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼饵沧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了赌躺?” 一聲冷哼從身側(cè)響起狼牺,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎礼患,沒(méi)想到半個(gè)月后是钥,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掠归,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年悄泥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拂到。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡码泞,死狀恐怖兄旬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情余寥,我是刑警寧澤领铐,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站宋舷,受9級(jí)特大地震影響绪撵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜祝蝠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一音诈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绎狭,春花似錦细溅、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蹦狂,卻和暖如春誓篱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凯楔。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工窜骄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摆屯。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓邻遏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鸥拧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子党远,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

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

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,645評(píng)論 9 163
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,654評(píng)論 4 54
  • Git常用語(yǔ)法 [TOC] Git簡(jiǎn)介 描述 ? Git(讀音為/g?t/富弦。)是一個(gè)開(kāi)源的分布式版本控制系統(tǒng)抵碟,...
    君惜丶閱讀 3,500評(píng)論 0 13
  • 前言 好吧,裝逼成功吸引你們進(jìn)來(lái)砰蠢,我主要就是扯扯NSObject的API蓖扑,大大小小分散在很多類(lèi)中的類(lèi)別我就不闡述了...
    ColeX閱讀 1,348評(píng)論 7 13
  • 昨天年初五,盼了一年年又不經(jīng)意過(guò)了台舱。一早起來(lái)收拾東西律杠,心里嘀咕著今天高速上有得堵了。那邊爸媽已經(jīng)開(kāi)始張羅著中午一頓...
    冬冬妞閱讀 226評(píng)論 0 0