一:Git 概述
? ? ? ? 1.1 定義:分布式版本控制系統
? ? ? ? 1.2 版本控制
? ? ? ? ? ? ? ? (1)定義:
? ? ? ? ? ? ? ? ? ? ? ? 版本控制時一種記錄文件內容變化,以便將來查閱特定版本修訂情況的系統
? ? ? ? ? ? ? ? (2)舉例
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 多副本
????????????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 優化:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 不使用多副本方式做版本控制:從個人開發過渡到團隊協作
????????????????????????????????????????????????
? ? ? ? 1.3 分布式與集中式
? ? ? ? ? ? ? ? ? ? ? ? 分布式
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)定義:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?有一個單一的集中管理的服務器:協同工作的人員都在這臺服務器上取出最新的文件或者提交更新
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)缺點:中央服務器單點故障(如果服務器宕機,期間誰都無法提交更新也無法協同工作)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? 集中式
? ? ? ? ? ? ? ? ? ? ? ? 定義:客戶端提取的不是最新版本的文件快照,而是把代碼倉庫完整地鏡像下來(本地庫)。每個客戶端對每一次文件提取操作,實際上都是一次對整個文件倉庫的完整備份
????????????????????????
? ? ? ? 1.4 工作機制和代碼托管中心
? ? ? ? ? ? ? ? ? ? ? ? 工作機制
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)工作區:
????????????????????????????????????????????????代碼存放磁盤目錄的位置
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)暫存區:
????????????????????????????????????????????????將工作區代碼添加至暫存區(在工作區寫了代碼之后讓git知道有這個代碼)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)本地庫
????????????????????????????????????????????????暫存區代碼提交到本地庫(提交到本地庫的代碼不能被刪除)
????????????????????????????????????????????????
? ? ? ? ? ? ? ? 代碼托管中心
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 定義:基于網絡服務器的遠程代碼倉庫,一般稱為遠程庫
二:Git 命令
? ? ? ? 2.1 設置用戶簽名
? ? ? ? ? ? ? ? 用戶簽名只代表本地的git客戶端,與將來要登錄的賬號無關
? ? ? ? ? ? ? ? (1)命令名稱
????????????????????????????????
? ? ? ? ? ? ? ? (2) 使用(輸入命令前幾個字母點擊Tab鍵可補全命令)
? ? ? ? 2.2 初始化本地庫
? ? ? ? ? ? ? ? 獲取git管理權,默認情況下創建的文件是隱藏文件
????????????????????????
? ? ? ?2.3 查看本地倉庫狀態
? ? ? ? ? ? ? ? 光標所在行,點擊yy(復制),點擊p(粘貼)
? ? ? ? ? ? ? ? 清屏:CTRL+L
? ? ? ? ? ? ? ? 新增文件(i進入編輯模式,esc進入命令模式,:wq 保存,ll查看)
????????????????????????
? ? ? ? 2.4 添加暫存區
? ? ? ? ? ? ? ? (1)命令名稱
????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 刪除緩沖區文件(工作區仍然有)
????????????????????????????????
? ? ? ? 2.5 提交本地庫
? ? ? ? ? ? ? ? ? ? ? ?將暫存區文件提交到本地庫形成歷史版本
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)命令名稱
????????????????????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看詳細日志
????????????????????????????????????????????????
? ? ? ? 2.6 修改文件
? ? ? ? ? ? ? ? ? ? ? ? 每一次添加修改都要將文件添加到暫存區
????????????????????????????????
????????2.7 版本穿梭
? ? ? ? ? ? ? ? ? ? ? ? (1)查看信息
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看精簡信息(知道項目經歷了幾個版本)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看詳細信息(多了提交作者、提交日期)
????????????????????????????????????????
? ? ? ? ? ? ? ? (2)原理
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Git切換版本不是 ctrl c v 造多個副本,而是在本地庫內存里記錄了很多信息,通過調用指針指向不同版本
????????????????????????????????
? ? ? ? ? ? ? ? (3)基本語法
????????????????????????????????
三:Git 分支
? ? ? ? 3.1 概述
? ? ? ? ? ? ? ? (1)定義
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 同時推進多個任務是,為每個任務單獨創建分支。使用分支意味著開發人員可以把自己的工作與開發主線分類開來,不影響主線運行
????????????????
? ? ? ? 3.2 查看、創建、切換
? ? ? ? ? ? ? ? (1)查看: git branch -v
? ? ? ? ? ? ? ? (2)創建:git branch 分支名
? ? ? ? ? ? ? ? (3)切換:git checkout 分支名
哪里漏了還希望能有大佬指正……