配置 GitHub

配置 GitHub

  1. 進入 https://github.com/settings/keys
  2. 如果頁面里已經(jīng)有一些 key,就點「delete」按鈕把這些 key 全刪掉捻脖。如果沒有鸠窗,就往下看
  3. 點擊 New SSH key,你需要輸入 Title 和 Key比被,但是你現(xiàn)在沒有 key色难,往下看
  4. 打開 Git Bash
  5. 復制并運行 rm -rf ~/.ssh/* 把現(xiàn)有的 ssh key 都刪掉,這句命令行如果你多打一個空格等缀,可能就要重裝系統(tǒng)了枷莉,建議復制運行。
  6. 運行 ssh-keygen -t rsa -b 4096 -C "你的郵箱"尺迂,注意填寫你的郵箱笤妙!
  7. 按回車三次
  8. 運行 cat ~/.ssh/id_rsa.pub,得到一串東西噪裕,完整的復制這串東西
  9. 回到上面第 3 步的頁面蹲盘,在 Title 輸入「我的第一個 key」
  10. 在 Key 里粘貼剛剛你你復制的那串東西
  11. 點擊 Add SSH key
  12. 回到 Git Bash
  13. 運行 ssh -T git@github.com,你可能會看到這樣的提示:

    輸入 yes 回車……問你話你就答州疾,別傻在那
  14. 然后如果你看到 Permission denied (publickey). 就說明你失敗了辜限,請回到第 1 步重來,是的严蓖,回到第 1 步重來薄嫡;如果你看到 Hi FrankFang! You've successfully authenticated, but GitHub does not provide shell access. 就說明你成功了!

好了颗胡,終于 TMD 添加了一個無聊的 SSH key毫深,不要問我這個有什么用,因為一會兒你就會用到它毒姨,你想了解原理就看這篇 文章

如果要講清楚哑蔫,太浪費時間了,我們只是想用用 GitHub 而已弧呐。

  • 一臺電腦只需要一個 SSH key
  • 一個 SSH key 可以訪問你的所有倉庫闸迷,即使你有 1000000 個倉庫,都沒問題
  • 如果你新買了電腦俘枫,就在新電腦上重新生成一個 SSH key腥沽,把這個 key 也上傳到 GitHub,它可以和之前的 key 共存在 GitHub 上
  • 如果你把 key 從電腦上刪除了鸠蚪,重新生成一個 key 即可今阳,替換之前的 key

配置 git

git config --global user.name 你的英文名
git config --global user.email 你的郵箱
git config --global push.default matching
git config --global core.quotepath false
git config --global core.editor "vim"

五句話师溅,依次運行。不執(zhí)行的話盾舌,電腦可能會爆炸你信不信墓臭。

使用 git

使用 git 有三種方式,請按照你的需求選擇

  1. 只在本地使用
  2. 將本地倉庫上傳到 GitHub
  3. 下載 GitHub 上的倉庫

1 只在本地使用

1.1 初始化

  1. 創(chuàng)建目錄作為我們的項目目錄:mkdir git-demo-1

  2. 進入目錄 cd git-demo-1

  3. git init妖谴,這句命令會在 git-demo-1 里創(chuàng)建一個 .git 目錄

  4. ls -la 你就會看到 .git 目錄窿锉,它就是一個「倉庫」,不要進去看窖维,這倉庫里面有毒榆综,別進去!

  5. 在 git-demo-1 目錄里面添加任意文件铸史,假設我們添加了兩個文件,分別是 index.html 和 css/style.css

    1. touch index.html
    2. mkdir css
    3. touch css/style.css
  6. 運行 git status -sb 可以看到文件前面有 ?? 號

     ## Initial commit on master
     ?? css/
     ?? index.html
    
    

    這個 ?? 表示 git 一臉懵逼怯伊,不知道你要怎么對待這些變動琳轿。

  7. 使用 git add 將文件添加到「暫存區(qū)」

    1. 你可以一個一個地 add
      1. git add index.html
      2. git add css/style.css
    2. 你也可以一次性 add
      1. git add . 意思是把當前目錄(.表示當前目錄)里面的變動都加到「暫存區(qū)」
  8. 再次運行 git status -sb,可以看到 ?? 變成了 A

     ## Initial commit on master
     A  css/style.css
     A  index.html
    
    

    A 的意思就是添加耿芹,也就是說你告訴 git崭篡,這些文件我要加到倉庫里

  9. 使用 git commit -m "信息" 將你 add 過的內容「正式提交」到本地倉庫(.git就是本地倉庫),并添加一些注釋信息吧秕,方便日后查閱

    1. 你可以一個一個地 commit
      1. git commit index.html -m '添加index.html'
      2. git commit css/style.css -m "添加 css/style.css"
    2. 你也可以一次性 commit
      1. git commit . -m "添加了幾個文件"
  10. 再再次運行 git status -sb琉闪,發(fā)現(xiàn)沒有文件變動了,這是因為文件的變動已經(jīng)記錄在倉庫里了砸彬。

  11. 這時你使用 git log 就可以看到歷史上的變動:

```
 commit f0d95058cd32a332b98967f6c0a701c64a00810a
 Author: frankfang <frankfang1990@gmail.com>
 Date:   Thu Sep 28 22:30:43 2017 +0800

     添加幾個文件

```
  1. 以上就是 git add / git commit 的一次完整過程颠毙,可以看到,挺復雜的砂碉。原則上蛀蜜,你錯了任何一步,就給我從頭來一遍增蹭,做到你不會再手抖為止滴某。

1.2 文件變動

如果我想繼續(xù)改文件,應該怎么做呢滋迈?

  1. start css/style.css 會使用默認的編輯器打開 css/style.css(macOS 上對應的命令是 open css/style.css

  2. 然后我們在 css/style.css 里寫入 body {background: red}霎奢,保存退出

  3. 運行 git status -sb 發(fā)現(xiàn)提示中有一個 M

     ## master
     M css/style.css
    
    

    這個 M 的意思就是 Modified,表示這個文件被修改了

  4. 此時你如果想讓改動保存到倉庫里饼灿,你需要先 git add css/style.css 或者也可以 git add .
    注意幕侠,由于這個 css/style.css 以前被我們 add 過,你往文章上面看赔退,我們是 add 過 css/style.css 的橙依,所以此處的 git add 操作可以省略证舟,但我建議你使用 git 的前一個月,不要省略 git add窗骑。
    換句話說女责,每一次改動,都要經(jīng)過 git add 和 git commit 兩個命令创译,才能被添加到 .git 本地倉庫里抵知。

  5. 再次運行 git status -sb 發(fā)現(xiàn) M 有紅色變成了綠色,紅色和綠色有啥區(qū)別呢软族?別管它們的區(qū)別刷喜,記住我說的,先 add立砸,再 commit掖疮,等你熟練之后再去理解區(qū)別。
    先形成肌肉記憶颗祝,在去形成大腦記憶浊闪!

  6. 運行 git commit -m "更新 css/style.css",這個改動就被提交到 .git 本地倉庫了螺戳。再說一次搁宾,不要去 .git 目錄里面,那里的東西你一無所知倔幼。

  7. 再再次運行 git status -sb盖腿,會發(fā)現(xiàn)沒有變更了,這說明所有變動都被本地倉庫記錄在案了损同。
    這里來透露一下 git status -sb 是什么意思:git status 是用來顯示當前的文件狀態(tài)的翩腐,哪個文件變動了,方便你進行 git add 操作揖庄。-sb 選項的意思就是栗菜,SB都能看懂,哈蹄梢,這是開玩笑疙筹,-s 的意思是顯示總結(summary),-b 的意思是顯示分支(branch)禁炒,所以 -sb 的意思是顯示總結和分支而咆。

1.3 總結

至此,我們來總結一下用到的命令

  1. git init幕袱,初始化本地倉庫 .git
  2. git status -sb暴备,顯示當前所有文件的狀態(tài)
  3. git add 文件路徑,用來將變動加到暫存區(qū)
  4. git commit -m "信息"们豌,用來正式提交變動涯捻,提交至 .git 倉庫
  5. 如果有新的變動浅妆,我們只需要依次執(zhí)行 git add xxx 和 git commit -m 'xxx' 兩個命令即可。別看本教程廢話那么多障癌,其實就這一句有用凌外!先 add 再 commit,行了涛浙,你學會 git 了康辑。
  6. git log 查看變更歷史

2 將本地倉庫上傳到 GitHub

如何將我們這個 git-demo-1 上傳到 GitHub 呢?

  1. 在 GitHub 上新建一個空倉庫轿亮,名稱隨意疮薇,一般可以跟本地目錄名一致,也叫做 git-demo-1


    按照截圖所示我注,除了倉庫名按咒,其他的什么都別改,其他的什么都別改仓手,其他的什么都別改胖齐,其他的什么都別改,這樣你才能創(chuàng)建一個空倉庫

  2. 點擊創(chuàng)建按鈕之后嗽冒,GitHub 就會把后續(xù)的操作全告訴你,如圖


    3.jpg
  3. 看圖补履,點擊 SSH 按鈕添坊,點擊 SSH 按鈕,點擊 SSH 按鈕箫锤,我想你現(xiàn)在肯定不會忘了點擊 SSH 按鈕了吧~~~~如果不點擊這個按鈕贬蛙,你就會使用默認的 HTTPS 地址。但是千萬不要使用 HTTPS 地址谚攒,因為 HTTPS 地址使用起來特別麻煩阳准,每次都要輸入密碼,而 SSH 不用輸入用戶名密碼网持。
    為什么 SSH 不用密碼呢汪诉,因為你已經(jīng)上傳了 SSH public key晰赞。還記得嗎?如果不記得绕沈,翻到本文第一部分「配置 GitHub」章節(jié)。

  4. 由于我們已經(jīng)有本地倉庫了帮寻,所以看圖乍狐,圖中下面半部分就是你需要的命令,我們一行一行拷貝過來執(zhí)行

    1. 找到圖中的「…or push an existing repository from the command line」這一行固逗,你會看到 git remote add origin https://github.com/xxxxxxxxxx/git-demo-1.git浅蚪, 如果你發(fā)現(xiàn)這個地址是 https 開頭的藕帜,那你就做錯了,還記得嗎惜傲,我們要使用 SSH 地址洽故,GitHub 的 SSH 地址是以 git@github.com 開頭的。
    2. 再次點擊 SSH 按鈕操漠,不管我強調多少遍收津,總會有人忘記點擊 SSH 按鈕,為什么呢浊伙?我也不知道撞秋,為了防止你忘了點擊 SSH 按鈕,我最后再說一遍嚣鄙,「點擊 SSH按鈕」吻贿,點擊之后,整個世界就會變得美好起來哑子。
    3. 得到新的命令 git remote add origin git@github.com:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/git-demo-1.git舅列,復制并運行它
    4. 復制第二行 git push -u origin master,運行它
    5. 刷新當前頁面卧蜓,你的倉庫就上傳到 GitHub 了帐要!是不是特別簡單?只要你按照我說的做弥奸,一絲不茍榨惠,即可。

3 直接在 GitHub 創(chuàng)建一個倉庫盛霎,然后下載到本地

上面兩步講了

  1. 在本地創(chuàng)建倉庫
  2. 將本地倉庫上傳到 GitHub

這里將第三種用法赠橙,那就是直接在 GitHub 創(chuàng)建一個倉庫,然后下載到本地愤炸。

  1. 在GitHub 上新建一個倉庫 git-demo-2期揪,這次就不創(chuàng)建空倉庫了,而是自帶 README 和 Lisence 的倉庫规个,創(chuàng)建截圖如下:


    請按圖中所示凤薛,填寫一模一樣的內容,然后點擊創(chuàng)建按鈕绰姻。

  2. 這樣一來枉侧,這個倉庫就會自動擁有三個文件:


  3. 這三個文件的作用請自行了解:.gitignore 的作用README.md 的作用 以及 LISENCE 的作用

  4. 好了狂芋,現(xiàn)在遠程倉庫已經(jīng)創(chuàng)建好了榨馁,怎么下載到我們的本地(也就是我們的電腦上)呢?答案是使用 git clone 命令

  5. 點擊頁面中唯一的綠色按鈕「clone or download」帜矾,會看到一個彈出層


  6. 請確保彈出層里的地址是 SSH 地址翼虫,也就是 git@github.com 開頭的地址屑柔,如果不是,就點擊 Use SSH 按鈕珍剑,就點擊 Use SSH 按鈕掸宛,就點擊 Use SSH 按鈕。然后復制這個地址招拙。

  7. 打開 Git Bash唧瘾,找一個安全的目錄,比如 ~/Desktop 桌面目錄就很安全:cd ~/Desktop别凤。運行饰序。

  8. 運行 git clone 你剛才得到的以git@github.com開頭的地址,運行完了你就會發(fā)現(xiàn)规哪,桌面上多出一個 git-demo-2 目錄求豫。我再說一遍,桌面上多出一個 git-demo-2 目錄诉稍。我再說一遍蝠嘉,桌面上多出一個 git-demo-2 目錄。這個細節(jié)很重要杯巨,很多小白發(fā)現(xiàn)不了這個細節(jié)蚤告,我也不知道他們是眼瞎還是怎么了……

  9. 進入這個多出來的目錄,對的服爷,你肯定會忽略這一步罩缴。

  10. 進入這個多出來的目錄,對的层扶,你肯定會忽略這一步。

  11. 進入這個多出來的目錄烙荷,對的镜会,你肯定會忽略這一步。

  12. 好了你進入了這個目錄了终抽,如果沒有戳表,我就要吐血了,因為我的提示很明顯昼伴。

  13. 運行 ls -la 你會看到匾旭,遠程目錄的所有文件都在這里出現(xiàn)了,另外你還看到了 .git 本地倉庫圃郊。這是你就可以添加文件价涝,git add,然后 git commit 了持舆。

三種方式都說完了色瘩,它們分別是:

  1. 在本地創(chuàng)建倉庫
  2. 將本地倉庫上傳到 GitHub
  3. 下載 GitHub 上的倉庫到本地

其實呢伪窖,我還可以說很多種不同的方式,但是居兆,你記住這幾種就行了覆山,夠你用的了。我們并不想要了解 git 的所有高級用法泥栖,我們的目的很明確:能通過 Git 命令使用 GitHub 就行簇宽。

我們再回顧一遍已經(jīng)學到的命令:(這次只多了一個 git clone 命令)

  1. git clone git@github.com:xxxx,下載倉庫
  2. git init吧享,初始化本地倉庫 .git
  3. git status -sb魏割,顯示當前所有文件的狀態(tài)
  4. git add 文件路徑,用來將變動加到暫存區(qū)
  5. git commit -m "信息"耙蔑,用來正式提交變動见妒,提交至 .git 倉庫
  6. 如果有新的變動,我們只需要依次執(zhí)行 git add xxx 和 git commit -m 'xxx' 兩個命令即可甸陌。別看本教程廢話那么多须揣,其實就這一句有用!先 add 再 commit钱豁,行了耻卡,你學會 git 了。
  7. git log 查看變更歷史

如何上傳更新

你在本地目錄有任何變動牲尺,只需按照以下順序就能上傳:

  1. git add 文件路徑
  2. git commit -m "信息"
  3. git pull (相信我卵酪,你一定會忘記這一個命令)
  4. git push

下面是例子

  1. cd git-demo-1
  2. touch index2.html
  3. git add index2.html
  4. git commit -m "新建 index2.html"
  5. git pull
  6. git push

然后你去 git-demo-1 的 GitHub 頁面,就能看到 index2.html 出現(xiàn)在里面了谤碳。是不是很……簡……單……呢……

其他

還有一些有用的命令

  • git remote add origin git@github.com:xxxxxxx.git 將本地倉庫與遠程倉庫關聯(lián)
  • git remote set-url origin git@github.com:xxxxx.git 上一步手抖了溃卡,可以用這個命令來挽回
  • git branch 新建分支
  • git merge 合并分支
  • git stash 通靈術
  • git stash pop 反轉通靈術
  • git revert 后悔了
  • git reset 另一種后悔了
  • git diff 查看詳細變化

學 git 命令都夠你們學一周的,所以別妄想現(xiàn)在就掌握它蜒简,切記瘸羡。

資源

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末搓茬,一起剝皮案震驚了整個濱河市犹赖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卷仑,老刑警劉巖峻村,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锡凝,居然都是意外死亡粘昨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雾棺,“玉大人膊夹,你說我怎么就攤上這事“坪疲” “怎么了放刨?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長尸饺。 經(jīng)常有香客問我进统,道長,這世上最難降的妖魔是什么浪听? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任螟碎,我火速辦了婚禮,結果婚禮上迹栓,老公的妹妹穿的比我還像新娘掉分。我一直安慰自己,他們只是感情好克伊,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布酥郭。 她就那樣靜靜地躺著,像睡著了一般愿吹。 火紅的嫁衣襯著肌膚如雪不从。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天犁跪,我揣著相機與錄音椿息,去河邊找鬼。 笑死坷衍,一個胖子當著我的面吹牛寝优,可吹牛的內容都是我干的。 我是一名探鬼主播枫耳,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼倡勇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嘉涌?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夸浅,失蹤者是張志新(化名)和其女友劉穎仑最,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帆喇,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡警医,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片预皇。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡侈玄,死狀恐怖,靈堂內的尸體忽然破棺而出吟温,到底是詐尸還是另有隱情序仙,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布鲁豪,位于F島的核電站潘悼,受9級特大地震影響,放射性物質發(fā)生泄漏爬橡。R本人自食惡果不足惜治唤,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糙申。 院中可真熱鬧宾添,春花似錦、人聲如沸柜裸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粘室。三九已至榄檬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衔统,已是汗流浹背鹿榜。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锦爵,地道東北人舱殿。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像险掀,于是被迫代替她去往敵國和親沪袭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容

  • 配置 GitHub 進入 Github的SSH keys 如果頁面里已經(jīng)有一些 key樟氢,就點「delete」按鈕把...
    鷓鴣少閱讀 622評論 0 0
  • 配置 GitHub 進入 https://github.com/settings/keys 如果頁面里已經(jīng)有一些 ...
    joker731閱讀 257評論 0 0
  • 原文鏈接我的blog埠啃。 前幾日看到一個比較熟悉的面試題死宣,判斷一個變量是不是數(shù)組?以下幾種方法供參考: 這篇文章主要...
    三毛丶閱讀 767評論 0 3
  • 小雪剛過去了碴开,鮀城也開始轉涼毅该;今早下起的綿綿細雨博秫,到夜里也未有停歇。臥在床上眶掌,全無思緒挡育,越發(fā)緊張。 開始相信自己是...
    更向遠行閱讀 147評論 0 0
  • 今日去了四個景點,第一個是世外桃源寝殴。 等待坐船的時候蒿叠,我看到這種樹很神奇,上面垂下的藤枝會扎到土里生根即兒越長越粗...
    樂得其說閱讀 546評論 7 3