天天看點

【Git & Github】(九)Git & Github學習總結

經過10天的學習,Git與Github學習的差不多了,做以總結。

本次學習總共分享了八篇文章:

  • (一)為什麼需要版本控制及版本控制工具(以嵌入式項目開發為例)
  • (二)Git簡介及其安裝(Git是什麼、Git的誕生、Git的優勢、Git的安裝、初次運作Git前的配置)
  • (三)Git指令行操作 —— 本地庫操作(擷取Git倉庫、送出更新到倉庫)
  • (四)Git指令行操作 —— 本地庫操作(檢視送出曆史、版本前進回退)
  • (五)Git指令行操作 —— 本地庫操作(分支管理)
  • (六)Git指令行操作 —— Github遠端庫操作(建立遠端庫、給遠端庫位址取别名、推送遠端庫、拉取遠端庫、克隆遠端庫)
  • (七)Git指令行操作 —— Github遠端庫操作(邀請遠端庫協作者、推送和拉取、協作時兩種沖突的解決)
  • (八)Git指令行操作 —— Github遠端庫操作(跨團隊協作和PR)

可以看到,整個Git的學習其實就三部分:

  • 版本控制及版本控制工具的了解、Git的簡介及安裝
  • Git在本地庫的操作
  • Git在遠端庫的操作

整個學習的大綱如下(使用幕布總結):

  • 版本控制
    • 為什麼需要版本控制
      • 對于個人開發
        • 資料備份
        • 版本管理
      • 對于團隊開發
        • 協同修改
        • 權限管理
    • 版本控制工具
      • 集中式:SVN
      • 分布式:Git
  • Git簡介
    • Git是什麼:免費開源的分布式版本控制系統
    • Git誕生:2005,Linus Torvalds,為了管理Linux核心源代碼
    • Git的優勢
      • 直接記錄快照,而非差異對比
      • 本地執行操作,無需聯網
      • 保證資料完整性
      • 一般隻添加資料
    • Git的三個區域
      • 工作區
      • 暫存區
      • 倉庫
    • Git的安裝
      • Windows
      • Linux
    • Git使用者設定(送出使用)
      • 使用者名:git config --global "<使用者名>"
      • 使用者郵箱:git config --global <使用者郵箱>
  • Git指令行操作
    • 本地庫操作
      • 本地庫初始化
        • 現有目錄初始化——git init
      • 送出更新到倉庫
        • 檢視檔案狀态——git status(-s參數表示簡短資訊)
        • 添加内容到暫存區——git add(-A參數表示所有檔案)
        • 檢視工作區和暫存區檔案的差別
          • 檢視未暫存的修改——git diff
          • 檢視已暫存的修改——git diff --staged
        • 送出更新——git commit -m "<送出資訊>"(-a參數表示跳過暫存區)
        • 忽略檔案——.gitignore檔案
        • 移除檔案
          • 從倉庫和暫存區移除,并且删除源檔案:git rm <檔案名>
          • 從倉庫和暫存區移除,保留源檔案:git rm --cached <檔案名>
      • 檢視曆史送出
        • 完整資訊:git log
        • 簡短顯示:git reflog
      • 版本前進和後退(基于索引值)
        • git reset --hard <索引值>
      • 分支管理
        • 分支建立:git branch <分支名>
        • 分支檢視:git branch -v
        • 分支切換:git checkout <分支名>
        • 分支合并
          • 1.切換到要合并的分支上
          • 2.合并:git merge <待合并的分支名>
        • 分支合并的沖突解決
          • 1.手動修改有沖突的問檔案;
          • 2.添加修改到暫存區:git add <檔案名>
          • 3.送出更新到本地庫:git commit -m <送出資訊>
    • 遠端庫操作(Github)
      • 基本操作
        • 分别建立本地庫和遠端庫
        • 給遠端庫位址取别名:git remote add <遠端庫别名> <遠端庫位址>
        • 拉取操作:git pull <遠端庫位址/别名>
        • 推送操作:git push <遠端庫位址/别名>
      • 邀請團隊協作者
        • 發送邀請和接受邀請:在Github上完成
        • 團隊協作沖突
          • Github上的推送必須基于最新的版本,否則要先拉取
          • 修改地方相同,按照分支合并沖突解決
      • 跨團隊協作
        • Fork
        • 修改,送出更新,推送
        • 送出請求PR
        • 倉庫擁有者稽核代碼,合并代碼
        • 合并後拉取Github最新版本到本地,友善下次推送