├── first_PR ├── .gitkeep ├── Alvin.md ├── Jesse.md ├── moringguys.md ├── 我愛一條柴 ├── HI I am Selena.md ├── lynn.md ├── whale.md ├── peter.md ├── 你好 我是1st.md ├── 你好 我是lun.md ├── 你好 我是柴哥.md ├── First_PR.md ├── im cindy.md ├── HI I am chieh.md ├── Mi_firstPR.md ├── good_night.md ├── Jane.md ├── hi it's AK.md ├── owen.md ├── chaochuangFirstPR.md ├── FirstPR_fan.md ├── bing_jun.md ├── hi 我阿柴啦.md ├── Hi, this is Yan-Bo Chen 彥伯 └── hello.html ├── media ├── mindmap.png ├── 15544789488893 │ ├── 15544937901172.jpg │ ├── 15544938558951.jpg │ ├── 15545639174581.jpg │ ├── 15545639800406.jpg │ ├── 15545640729767.jpg │ └── 15545640838241.jpg └── 15544789661357 │ ├── 15545613479405.jpg │ ├── 15545614160392.jpg │ ├── 15545614311746.jpg │ ├── 15545614441523.jpg │ ├── 15545614607046.jpg │ ├── 15545614791556.jpg │ ├── 15545614925204.jpg │ ├── 15545615043940.jpg │ └── 15545616622208.jpg ├── img ├── 2019-10-03-00-20-44.png ├── 2019-10-03-00-27-13.png ├── 2019-10-03-00-33-25.png ├── 2019-10-03-00-44-33.png ├── 2019-10-03-00-50-15.png ├── 2019-10-03-00-51-56.png ├── 2019-10-03-00-59-49.png ├── 2019-10-03-01-01-12.png ├── 2019-10-03-01-01-54.png ├── 2019-10-03-01-02-12.png └── 2019-10-03-01-07-02.png ├── README.md ├── Video 7 - 帶你認識很棒的 Git 資源,讓你遇到Git 狀況迎刃而解。.md ├── Video 4 - 分支 (Branch) 基本操作。多個分支如何合併 (Merge) 與處理衝突 (Conflict).md ├── Video 5 - 使用 Github Pages 功能將你的作品集公開於在網路上 .md ├── Video 1 介紹 - Git 是什麼? Git 如何幫助開發?.md ├── Video 2 - Git 挑戰 #1#2#3.md ├── Video 6 - 什麼是 PR? 來發送你的第一個 PR 吧.md └── Video 3 - Git 挑戰 #4#5#6.md /first_PR/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /first_PR/Alvin.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /first_PR/Jesse.md: -------------------------------------------------------------------------------- 1 | 第一個PR -------------------------------------------------------------------------------- /first_PR/moringguys.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /first_PR/我愛一條柴: -------------------------------------------------------------------------------- 1 | 大俠愛吃漢堡包 -------------------------------------------------------------------------------- /first_PR/HI I am Selena.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /first_PR/lynn.md: -------------------------------------------------------------------------------- 1 | hi 我是 Lynn -------------------------------------------------------------------------------- /first_PR/whale.md: -------------------------------------------------------------------------------- 1 | 這是我的第一個 PR -------------------------------------------------------------------------------- /first_PR/peter.md: -------------------------------------------------------------------------------- 1 | Hello 阿柴 我是Peter -------------------------------------------------------------------------------- /first_PR/你好 我是1st.md: -------------------------------------------------------------------------------- 1 | 這是我的第一個 PR -------------------------------------------------------------------------------- /first_PR/你好 我是lun.md: -------------------------------------------------------------------------------- 1 | 這是我的第一個 PR -------------------------------------------------------------------------------- /first_PR/你好 我是柴哥.md: -------------------------------------------------------------------------------- 1 | 這是我的第一個 PR -------------------------------------------------------------------------------- /first_PR/First_PR.md: -------------------------------------------------------------------------------- 1 | My first PR! 2 | -------------------------------------------------------------------------------- /first_PR/im cindy.md: -------------------------------------------------------------------------------- 1 | # hi i am cindy -------------------------------------------------------------------------------- /first_PR/HI I am chieh.md: -------------------------------------------------------------------------------- 1 | 這是我的第一個PR 2 | -------------------------------------------------------------------------------- /first_PR/Mi_firstPR.md: -------------------------------------------------------------------------------- 1 | 這是我的第一個PR By Mike -------------------------------------------------------------------------------- /first_PR/good_night.md: -------------------------------------------------------------------------------- 1 | 現在已經半夜12:05,我還在做任務QAQ -------------------------------------------------------------------------------- /first_PR/Jane.md: -------------------------------------------------------------------------------- 1 | Hi Luka 2 | 3 | 看完影片來練習 PR ~ 4 | -------------------------------------------------------------------------------- /first_PR/hi it's AK.md: -------------------------------------------------------------------------------- 1 | this is my first PR practice :) -------------------------------------------------------------------------------- /first_PR/owen.md: -------------------------------------------------------------------------------- 1 | # My first PR 2 | # Thank you Luka -------------------------------------------------------------------------------- /first_PR/chaochuangFirstPR.md: -------------------------------------------------------------------------------- 1 | # Chao-Chuang's first PR 2 | -------------------------------------------------------------------------------- /first_PR/FirstPR_fan.md: -------------------------------------------------------------------------------- 1 | 凡凡ㄉ第一個PR!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -------------------------------------------------------------------------------- /first_PR/bing_jun.md: -------------------------------------------------------------------------------- 1 | This is my first PR. (1121231_Happy New Year) 2 | -------------------------------------------------------------------------------- /first_PR/hi 我阿柴啦.md: -------------------------------------------------------------------------------- 1 | 這是我的第一個 PR 2 | 3 | 影片教學在程式柴 youtube 頻道 4 | https://www.youtube.com/c/codeshiba -------------------------------------------------------------------------------- /media/mindmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/mindmap.png -------------------------------------------------------------------------------- /first_PR/Hi, this is Yan-Bo Chen 彥伯: -------------------------------------------------------------------------------- 1 | 這是我的第一個PR,謝謝Luka讓我用一週(感覺還是有點久,來第一次操作git) 2 | 這樣一點一點前進的感覺真好,再加油!! -------------------------------------------------------------------------------- /img/2019-10-03-00-20-44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-00-20-44.png -------------------------------------------------------------------------------- /img/2019-10-03-00-27-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-00-27-13.png -------------------------------------------------------------------------------- /img/2019-10-03-00-33-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-00-33-25.png -------------------------------------------------------------------------------- /img/2019-10-03-00-44-33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-00-44-33.png -------------------------------------------------------------------------------- /img/2019-10-03-00-50-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-00-50-15.png -------------------------------------------------------------------------------- /img/2019-10-03-00-51-56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-00-51-56.png -------------------------------------------------------------------------------- /img/2019-10-03-00-59-49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-00-59-49.png -------------------------------------------------------------------------------- /img/2019-10-03-01-01-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-01-01-12.png -------------------------------------------------------------------------------- /img/2019-10-03-01-01-54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-01-01-54.png -------------------------------------------------------------------------------- /img/2019-10-03-01-02-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-01-02-12.png -------------------------------------------------------------------------------- /img/2019-10-03-01-07-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/img/2019-10-03-01-07-02.png -------------------------------------------------------------------------------- /media/15544789488893/15544937901172.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789488893/15544937901172.jpg -------------------------------------------------------------------------------- /media/15544789488893/15544938558951.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789488893/15544938558951.jpg -------------------------------------------------------------------------------- /media/15544789488893/15545639174581.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789488893/15545639174581.jpg -------------------------------------------------------------------------------- /media/15544789488893/15545639800406.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789488893/15545639800406.jpg -------------------------------------------------------------------------------- /media/15544789488893/15545640729767.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789488893/15545640729767.jpg -------------------------------------------------------------------------------- /media/15544789488893/15545640838241.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789488893/15545640838241.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545613479405.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545613479405.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545614160392.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545614160392.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545614311746.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545614311746.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545614441523.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545614441523.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545614607046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545614607046.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545614791556.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545614791556.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545614925204.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545614925204.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545615043940.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545615043940.jpg -------------------------------------------------------------------------------- /media/15544789661357/15545616622208.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeShibaGo/Git-Tutorial/HEAD/media/15544789661357/15545616622208.jpg -------------------------------------------------------------------------------- /first_PR/hello.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Document 7 | 8 | 9 |

這是我的第一個PR

10 | 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 用 10 個挑戰認識 Git 2 | 3 | 1. Git 是什麼? Git 如何幫助開發? 4 | 2. 安裝 Git 5 | 3. 建立你的第一個 Git Repository 6 | 4. 熟悉 Git 基本指令,只要會這些簡單的指令,就可以將 Git 加入開發流程中。 7 | 5. 認識 Github 並註冊 Github 帳號。 8 | 6. 建立 ssh key 讓 github 認識你的電腦。 9 | 7. 將 Repository 推送到 Github 上。 10 | 8. 分支 (Branch) 基本操作,多個分支如何 Merge 與處理衝突(Conflict) 11 | 9. 使用 Github Pages 功能將你的作品集公開於在網路上 12 | 10. 什麼是 PR (Pull Request)? 來發送你的第一個 PR 吧 13 | 11. 帶你認識很棒的 Git 資源,讓你遇到Git 狀況迎刃而解。 14 | -------------------------------------------------------------------------------- /Video 7 - 帶你認識很棒的 Git 資源,讓你遇到Git 狀況迎刃而解。.md: -------------------------------------------------------------------------------- 1 | # 挑戰 10 - 帶你認識很棒的 Git 資源,讓你遇到Git 狀況迎刃而解。 2 | 3 | 4 | - [5xruby 為你自己學 Git ](https://gitbook.tw/) 5 | - [ihower 的 Git 教室](https://ihower.tw/git/index.html) 6 | - [保哥 30 天精通 Git 版本控管](https://github.com/doggy8088/Learn-Git-in-30-days?fbclid=IwAR2tU7V7kmvVJJgZVJpyHu8ACiJPk7vifaQCKULHKCUrp7OUJwT8HeQy_j4) 7 | - [連猴子都能懂得 Git 入門指南](https://backlog.com/git-tutorial/tw/intro/intro1_1.html) 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Video 4 - 分支 (Branch) 基本操作。多個分支如何合併 (Merge) 與處理衝突 (Conflict).md: -------------------------------------------------------------------------------- 1 | # Video 4 挑戰 7 - 分支 (Branch) 基本操作。多個分支如何合併 (Merge) 與處理衝突 (Conflict) 2 | 3 | 4 | 分支 (Branch) 基本操作。多個分支如何合併 (Merge) 與處理衝突 (Conflict) 5 | 6 | 建立一個新的分支 branch 7 | `git branch dev` 8 | 9 | 10 | 列出目前存在的分支 branch 11 | `git branch` 12 | 13 | 14 | 切換分支 15 | `git checkout dev` 16 | 17 | `git commit` 會進入 vim 編輯模式 18 | 19 | ## vim 指令介紹 20 | 21 | - `:wq` 儲存離開 22 | - `:q` 離開 23 | - `:q!` 忽略修改直接離開 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Video 5 - 使用 Github Pages 功能將你的作品集公開於在網路上 .md: -------------------------------------------------------------------------------- 1 | # Video 5 - 挑戰 8 - 使用 Github Pages 功能將你的作品集公開於在網路上 2 | 3 | 筆記位置 4 | https://codingluka.com/use-github-show-static-pages/ 5 | 6 | Demo 範例 7 | https://codingluka.com/demo-implemented-scrolling-trigger-the-css-animation/ 8 | https://codingluka.com/use-wowjs-to-quickly-create-scrolling-animation/ 9 | https://codingluka.com/landing-page-implements-a/ 10 | 11 | 使用 Github 展示靜態網頁 12 | 13 | 這篇很簡短,但還是筆記一下怎麼用,因為網路上找的資料有點繁雜。 14 | 15 | github的gh-pages分支可以用來展示靜態網頁,推上去就可以正確展示了。 16 | 17 | 1. 建立新的branch`git branch gh-pages` 18 | 1. 推上github`git push origin gh-pages` 19 | 1. 需要注意的是首頁要命名為index.html 20 | 1. 到`[github name].github.io/[repository name]`網址查看,你的網頁已經展示在這個網址。 21 | 22 | 以我們的範例 23 | 24 | codingluka.github.io/hello_git 25 | 26 | -------------------------------------------------------------------------------- /Video 1 介紹 - Git 是什麼? Git 如何幫助開發?.md: -------------------------------------------------------------------------------- 1 | # Video 1 介紹 - Git 是什麼? Git 如何幫助開發? 2 | 3 | Git 是一個版本控制系統 (version control system),Git 作者為 Linus Torvalds,Linus 同時也是 Linux 作業系統的作者。 4 | 5 | 什麼是版本控制系統呢? 6 | 7 | 其實就像遊戲裡面的 Save Load 大法,如果你不太清楚 Save Load 是什麼的話,這邊有個影片,看完你就懂了。 8 | 9 | https://www.youtube.com/watch?v=M0Okq-BUGMs 10 | 11 | ![](./media/15544789661357/15545613479405.jpg) 12 | 13 | ![](./media/15544789661357/15545614160392.jpg) 14 | 15 | ![](./media/15544789661357/15545614311746.jpg) 16 | 17 | ![](./media/15544789661357/15545614441523.jpg) 18 | 19 | ![](./media/15544789661357/15545614607046.jpg) 20 | 21 | ![](./media/15544789661357/15545614791556.jpg) 22 | 23 | ![](./media/15544789661357/15545614925204.jpg) 24 | 25 | ![](./media/15544789661357/15545615043940.jpg) 26 | 27 | 28 | ## 分散式版本控制系統 29 | 30 | ![](./media/15544789661357/15545616622208.jpg) 31 | (from https://medium.com/@shambhumehta/git-essentials-for-developers-distributed-is-the-new-centralized-5cb2221a058b) 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Video 2 - Git 挑戰 #1#2#3.md: -------------------------------------------------------------------------------- 1 | # Video 2 Git 挑戰 #1 #2 #3 2 | 3 | 挑戰 1 - 安裝 Git 4 | 挑戰 2 - 建立你的第一個 Git Repository 5 | 挑戰 3 - 熟悉 Git 基本指令,將 Git 加入開發流程 6 | 7 | ## 挑戰 1 - 安裝 Git 8 | 9 | 安裝 Git 10 | 11 | Windows 和 Mac 都一樣,下載安裝 12 | https://desktop.github.com/ 13 | 14 | ## 挑戰 2 - 建立你的第一個 Git Repository 15 | 16 | 建立資料夾 17 | mkdir hello_git 18 | 19 | 進入資料夾 20 | cd hello_git 21 | 22 | git init 23 | 24 | 25 | ## 挑戰 3 - 熟悉 Git 基本指令,將 Git 加入開發流程 26 | 27 | ![](./media/15544789488893/15544938558951.jpg) 28 | from: https://www.edureka.co/blog/git-tutorial/ 29 | 30 | ## Git Go Go Go!! 31 | 32 | 33 | ### 第一個 Commit 34 | 35 | 建立一個檔案 hello.txt 36 | 37 | git status 查看狀態,會發現狀態如下 38 | 39 | ![](./media/15544789488893/15545639174581.jpg) 40 | 41 | `git add .` 加入資料夾內所有的檔案加入 42 | 43 | 再次輸入 `git status` 查看狀態 44 | 45 | ![](./media/15544789488893/15545639800406.jpg) 46 | 47 | 接著輸入 `git commit -m "add new file hello.txt"` 48 | 49 | ![](./media/15544789488893/15545640729767.jpg) 50 | 51 | 再次輸入 `git status` 查看狀態 52 | 53 | ![](./media/15544789488893/15545640838241.jpg) 54 | 55 | ### 安裝 Source Tree 56 | 57 | https://www.sourcetreeapp.com/ 58 | 59 | 60 | -------------------------------------------------------------------------------- /Video 6 - 什麼是 PR? 來發送你的第一個 PR 吧.md: -------------------------------------------------------------------------------- 1 | # 挑戰 9 - 什麼是 PR (Pull Request)? 來發送你的第一個 PR 吧 2 | 3 | ## 貢獻開源專案 Contribute to Open Source Project 4 | 5 | 1. 遇到問題的時候可以開 Issue 6 | 2. 原作者覺得 ok 之後,你就 fork 一份 Repository 到自己的 github 7 | 3. 做完之後,發一個 PR 給原作者 8 | 4. 原作者覺得 ok 的話,就會把你的 PR Merge 進原作者的專案。 9 | 10 | ## 現在來發你的第一個 PR 吧 11 | 12 | 這個名詞大家可能常聽到,但是不知道什麼意思,那經過這次的教學你就知道了。 13 | 14 | ### step 1 - 大家先 fork 我的專案,我一步一步教大家怎麼做。 15 | 16 | 首先按下 fork 鍵 17 | 18 | ![](./img/2019-10-03-00-20-44.png) 19 | 20 | 之後你的帳號底下就會有一個跟我一模一樣的 Repo。 21 | 22 | ![](./img/2019-10-03-00-27-13.png) 23 | 24 | ### step 2 - Clone 你自己帳號下的 Repository 25 | 26 | ![](./img/2019-10-03-00-33-25.png) 27 | 28 | 格式會如下 29 | 30 | ``` 31 | git clone git@github.com:你的帳號/Git-Tutorial.git 32 | ``` 33 | 34 | ### step 3 - 在本地端修改你的檔案 35 | 36 | 複製完之後在本地端新增一個檔案名稱,某某某發第一個 PR。我的話是「hi,我阿柴啦」 37 | 38 | ![](./img/2019-10-03-01-07-02.png) 39 | 40 | 修改完成後,在 terminal 輸入 `git status` 查看狀態 41 | 42 | ![](./img/2019-10-03-01-01-54.png) 43 | 44 | 輸入 `git add .` 把新增的檔案加入後,再輸入一次 `git status` 查看狀態 45 | 46 | ![](./img/2019-10-03-01-02-12.png) 47 | 48 | 49 | 接著輸入 50 | 51 | ``` 52 | git commit -m "某某某的第一個 PR" 53 | ``` 54 | 55 | 或是 56 | 57 | ``` 58 | git commit -m "一句你想說的話" 59 | ``` 60 | 61 | ### step 4 - git push 把修改上傳至自己的 github 62 | 63 | 完成後 `git status` 看一下狀態 64 | 65 | 沒問題的話輸入 `git push`,更新自己的 github。 66 | 67 | 如果成功的話,在 Github 上會看到自己剛剛的修改 - 就是在 First PR 資料夾中新增了一個檔案。 68 | 69 | ### step5 - 發送 PR 到我的 Repo 70 | 71 | 在你 fork 出來的 Repo,按下發送 PR 鍵 72 | 73 | ![](./img/2019-10-03-00-51-56.png) 74 | 75 | -------------------------------------------------------------------------------- /Video 3 - Git 挑戰 #4#5#6.md: -------------------------------------------------------------------------------- 1 | # Video 3 - Git 挑戰 456 2 | 3 | 挑戰 4 - 認識 Github 並註冊 Github 帳號 4 | 挑戰 5 - 產生 ssh key 並上傳到 Github,讓 Github 認識你的電腦 5 | 挑戰 6 - 將 Repository 推送到 Github 上 6 | 7 | ## 挑戰 4 - 認識 Github 並註冊 Github 帳號 8 | 9 | 認識Github 10 | 11 | 介紹 Github 與 Git 的差別 12 | 13 | ![](https://i.imgur.com/0IYv2yn.png) 14 | 15 | ![](./media/15544860126055/15545652221360.jpg) 16 | 17 | 18 | 19 | ## 挑戰 5 - 產生 ssh key 並上傳到 Github 讓 Github 認識你的電腦 20 | 21 | ## 介紹 ssh 22 | 23 | ssh 分為公鑰和私鑰 24 | 25 | - 私鑰儲存在本機電腦中 26 | - 公鑰丟上去服務 27 | 28 | 當我們要存取服務時,服務會核對公鑰跟我們的私鑰有沒有一致。 29 | 30 | ![](./media/15544860126055/15545654448968.jpg) 31 | 32 | 33 | ### Windows 34 | 35 | #### 創建 ~/.ssh 資料夾 36 | 37 | > `~` 代表使用者目錄 38 | 39 | 切換到使用者目錄 40 | 41 | ``` 42 | cd ~ 43 | ``` 44 | 45 | 新增 .ssh 資料夾 46 | 47 | ``` 48 | mkdir .ssh 49 | ``` 50 | 51 | 進入 ~/.ssh 資料 52 | 53 | 開始產生 ssh key pair 54 | 55 | 56 | #### 使用 putty 產生 ssh key pair 57 | 58 | 到 putty 官方網站下載 putty 59 | https://www.putty.org/ 60 | 61 | 使用 putty 產生 ssh key pair 62 | https://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/create-with-putty/ 63 | 64 | 產生 ssh key 的時候記得要在空白處移動滑鼠。 65 | 66 | 進入 ~/.ssh 資料夾 67 | 公鑰(public key) 另存新檔為 id_rsa.pub 68 | 私鑰(private key) 另存新檔為 id_rsa 69 | 70 | ### Mac 71 | 72 | 憑證放置位置 73 | 74 | ``` 75 | cd ~/.ssh 76 | ``` 77 | 78 | 如果沒有這個資料夾的話產生一個 79 | 80 | ``` 81 | mkdir .ssh 82 | ``` 83 | 84 | ``` 85 | ssh-keygen -t rsa -C "your_email@example.com" 86 | ``` 87 | 88 | 金鑰產生的預設位置為 89 | 90 | ``` 91 | /Users/$YOUR_USER_NAME/.ssh 92 | ``` 93 | 94 | 讀取公鑰 95 | cat id_rsa.pub 96 | 97 | ![](./media/15544860126055/15545659211856.jpg) 98 | 99 | 100 | 101 | 102 | ### 產生完 ssh key 後把公鑰上傳到 github 上面 103 | 104 | ![](https://i.imgur.com/ZlzrPGB.png) 105 | 106 | ### 在本地端初始化 git 專案 107 | 108 | 使用 terminal 切換到專案資料夾 109 | 110 | ``` 111 | cd your_project_name 112 | ``` 113 | 114 | 輸入 `git init` 初始化專案,初始化結束後會顯示當下資料夾為 `master` 分支 115 | 116 | ![](https://i.imgur.com/iK6IfFI.png) 117 | 118 | 119 | ## 建立 github 專案 120 | 121 | ![](https://i.imgur.com/FTax5yq.png) 122 | 123 | ![](https://i.imgur.com/B45texE.png) 124 | 125 | ![](https://i.imgur.com/qpATONL.png) 126 | 127 | ![](https://i.imgur.com/JKu2Sxc.png) 128 | 129 | 選擇使用 ssh 的網址 130 | 因為我們已經初始化了 git 專案,所以只要輸入兩個指令即可上傳 131 | 132 | ![](https://i.imgur.com/4pAc6OT.png) 133 | 134 | 135 | --------------------------------------------------------------------------------