經過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最新版本到本地,友善下次推送
- 基本操作
- 本地庫操作