iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0

學習目標

  • 什麼是GitHub?為何要使用它?

  • 如何將檔案上傳至GitHub?

  • 如何從GitHub下載一整個專案?

  • 本地端有變動,如何更新遠方的GitHub?

  • GitHub內容與本地端衝突時,該如何解決?

  • 如何解決一個GitHub專案?


GitHub是什麼?

  • 雲端版本控制系統(Cloud Version Control System)

  • 可以幫忙做到

    • 將程序碼存到雲端

    • 儲存版本差異

    • 開設分支

使用GitHub的好處

  • 協同運作

  • 社交工具

  • 最佳履歷

GitHub的方案

  • 免費版

    • 無限多個公開倉儲

    • 無限多個私人倉儲

    • 私人倉儲最多可3人協同運作

    • 錯誤回報系統

    • ###專案管理工具
  • 專業版(每月7美元)

    • 無限多個公開倉儲

    • 無限多個私人倉儲

    • 無限多個協同運作

    • 錯誤回報系統

    • 專案管理工具

    • 其它進階工具

    https://ithelp.ithome.com.tw/upload/images/20191002/20120926bvZgcFfEvL.png

申請自己的GitHub帳號

https://ithelp.ithome.com.tw/upload/images/20191002/20120926QfIr0ZremF.png

將專案上傳至GitHub

  • 新增一個程式倉儲

https://ithelp.ithome.com.tw/upload/images/20191002/20120926lDxCycRIeB.png
https://ithelp.ithome.com.tw/upload/images/20191002/2012092659YXdZmGt2.png

  • 接下來你可以這麼做

https://ithelp.ithome.com.tw/upload/images/20191002/20120926HPM0HkGAj8.png

以命令列推送程式碼到遠方

  • 集結檔案,準備送至遠方

  • 將檔案推送至遠方

    • git push-u origin master

      • -u=upstream=上游

      • 設定master的上游是origin

以圖形介面推送程式碼到遠方

  • Step1.產生SSH專用的一對「公用金鑰」與「私密金鑰」

https://ithelp.ithome.com.tw/upload/images/20191002/20120926BrH68l3i4o.png

  • Step2.將「公用金鑰」內容先拷貝起來

https://ithelp.ithome.com.tw/upload/images/20191002/20120926X82YJw76tD.png

  • Step3.在GitHub貼上「公用金鑰」內容

https://ithelp.ithome.com.tw/upload/images/20191002/20120926RgNaGk2cvP.png

  • Step4.設定本地倉儲的「上游」(Upsteam)

https://ithelp.ithome.com.tw/upload/images/20191002/20120926XGjx34CvKs.png

  • Step5.把程式碼推到遠方去

https://ithelp.ithome.com.tw/upload/images/20191002/201209268ODry5ESLC.png

從GitHub下載整個專案

  • 以命令列下載遠方專案

  • 指令

    • git clone<遠方GitHub倉儲URL>

    • git clone git@github.com:cnchi/MyProject.git

    https://ithelp.ithome.com.tw/upload/images/20191002/201209267JmB7O3zwV.png

將本地端變更推送到遠端

  • 以命令列推送變更

  • 先Commit到本地端

    • git add

    • git commit -m "Test.txt(Add Test):Git is a good tool."

  • 然後推送到遠端

    • git push -u origin master

以圖形介面推送變更

https://ithelp.ithome.com.tw/upload/images/20191002/20120926PHy6t0l1LM.png

刷新遠端變化後再推送更新

  • 狀況說明:同時更新

https://ithelp.ithome.com.tw/upload/images/20191002/20120926BeTqOXOOLU.png

  • 解決方法(一):Fetch+Merge

https://ithelp.ithome.com.tw/upload/images/20191002/20120926JX1JV2BM3I.png

  • 解決方法(二):Pull

    • pull=fetch=merge

      • 遠端(origin/master)與近端(master)沒有衝突的話→自動合併

      • 好習慣→開始工作前,先pull一下

https://ithelp.ithome.com.tw/upload/images/20191002/20120926sgB6q8MQ6n.png

  • 使用圖形介面Fetch與Pull

https://ithelp.ithome.com.tw/upload/images/20191002/20120926c3GVFE4Qft.png

刪除GitHub專案

https://ithelp.ithome.com.tw/upload/images/20191003/20120926tJVE7RJZPd.png


重點整理

  • 將程式碼推送到遠方

    • git remote add origin <Git 專案 URL>

    • git push -u origin master

  • 產生公用金鑰與私密金鑰

    • ssh-keygen -t rsa-c ""

  • 下載GitHub專案

    • git clone <Git 專案 URL>

  • 將變更推送到遠方

    • Git push -u origin master

  • 解決遠方與近端的衝突

    • Fetch產生分支:git fetch

    • Merge解決衝突:git merge origin/master


上一篇
Day15-分支與合併
下一篇
Day17-數值與變數
系列文
從不懂,到玩上手的Python語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言