版本控制系統(tǒng)(VCS)
有很多的版本控制系統(tǒng)可供我們選擇。單憑這點(diǎn),就足以說明VCS是非常重要的。當(dāng)下最熱門的 VCS:
- Git
- Subversion
- Mercurial(這種我也不是很了解,國外應(yīng)該用的比較多吧)
vcs主要有兩種類型: - 集中式 -所有用戶都連接到一個(gè)中央的主倉庫
master repository如:Subversion - 分布式 -每個(gè)用戶都可以在自己的計(jì)算機(jī)上擁有完整的倉庫 如:
Git
學(xué)習(xí) VCS 的目的 我個(gè)人認(rèn)為 它就相當(dāng)于 后悔藥,當(dāng)你不小心誤刪了,或者電腦崩潰了,不至于造成很大的損失,就特別像在word 文檔中寫一些東西的時(shí)候,寫錯(cuò)了就可以 使用ctrl + z來撤銷一樣,當(dāng)時(shí)VCS的功能比word要強(qiáng)大的很多,并且可以在團(tuán)隊(duì)之間提高協(xié)同效率?;蛘弋?dāng)需要回到項(xiàng)目的某個(gè)階段的時(shí)候,用相應(yīng)的 shell 命令 恢復(fù)就好了。
以下是我學(xué)習(xí)git 整理筆記
Git 術(shù)語
版本控制系統(tǒng) / 源代碼管理器
我們可以注意到 官網(wǎng)網(wǎng)址 為 [https://git-scm.com]
其中的域名中 包含 "SCM", 意思就是 源代碼管理器(source code manager 的縮寫)(英語不好 不知道拼對了沒有)其含義和 vcs 大同小異,不過多概述。
以下 均整理自 udacity
提交(commit)
Git 將數(shù)據(jù)看做微型文件系統(tǒng)的一組快照。每次 commit(在 Git 中保持項(xiàng)目狀態(tài)),它都對文件當(dāng)時(shí)的狀況拍照,并存儲對該快照的引用。你可以將其看做游戲中的保存點(diǎn),它會(huì)保存項(xiàng)目的文件和關(guān)于文件的所有信息。
你在 Git 中的所有操作都是幫助你進(jìn)行 commit,因此 commit 是 Git 中的基本單位。
倉庫(Repository / repo)
倉庫是一個(gè)包含項(xiàng)目內(nèi)容以及幾個(gè)文件(在 Mac OS X 上默認(rèn)地處于隱藏狀態(tài))的目錄,用來與 Git 進(jìn)行通信。倉庫可以存儲在本地,或作為遠(yuǎn)程副本存儲在其他計(jì)算機(jī)上。倉庫是由 commit 構(gòu)成的。
工作目錄 / 工作區(qū)(Working Directory)
工作目錄是你在計(jì)算機(jī)的文件系統(tǒng)中看到的文件。當(dāng)你在代碼編輯器中打開項(xiàng)目文件時(shí),你是在工作目錄中處理文件。
與這些文件形成對比的是保持在倉庫中(在 commit 中?。┑奈募?。
在使用 Git 時(shí),工作目錄與命令行工具的 current working directory (當(dāng)前工作目錄)不一樣,后者是 shell 當(dāng)前正在查看的目錄。
檢出(Checkout)
檢出是指將倉庫中的內(nèi)容復(fù)制到工作目錄下。
暫存區(qū) / 暫存索引 / 索引(Staging Area / Staging Index / Index)
Git 目錄下的一個(gè)文件,存儲的是即將進(jìn)入下個(gè) commit 內(nèi)容的信息??梢詫捍鎱^(qū)看做準(zhǔn)備工作臺,Git 將在此區(qū)域獲取下個(gè) commit。暫存索引中的文件是準(zhǔn)備添加到倉庫中的文件。
SHA
SHA 是每個(gè) commit 的 ID 編號。以下是 commit 的 SHA 示例:e2adf8ae3e2e4ed40add75cc44cf9d0a869afeb6。
它是一個(gè)長 40 個(gè)字符的字符串(由 0–9 和 a–f 組成),并根據(jù) Git 中的文件或目錄結(jié)構(gòu)的內(nèi)容計(jì)算得出。SHA 的全稱是"Secure Hash Algorithm"(安全哈希算法)。
分支(Branch)
分支是從主開發(fā)流程中分支出來的新的開發(fā)流程。這種分支開發(fā)流程可以在不更改主流程的情況下繼續(xù)延伸下去。
回到之前關(guān)于游戲保存點(diǎn)的示例,你可以將分支看做在游戲中設(shè)立保存點(diǎn)后,嘗試一個(gè)有風(fēng)險(xiǎn)的招式。如果有風(fēng)險(xiǎn)的招式不奏效,則回到保存的位置。令分支非常強(qiáng)大的關(guān)鍵之處是你可以在一個(gè)分支上設(shè)定保存點(diǎn),然后切換到另一個(gè)分支并繼續(xù)設(shè)定保存點(diǎn)。
了解完 這些術(shù)語之后,就去git官方網(wǎng)站 下在與自己電腦相關(guān)的git 軟件吧!
配置git
第一次下載安裝 git,在使用之前,需要配置git。在命令行工具中運(yùn)行 一下 命令行 ,確保 所有選項(xiàng)都已配置好。
# 設(shè)置你的 Git 用戶名
git config --global user.name "你的名字"
#設(shè)置你的 Git 郵箱
git config --global user.email "你的電子郵箱地址"
# 確保 Git 的輸出 內(nèi)容帶有顏色標(biāo)記
git config --global color.ui.auto
# 對比顯示原始狀態(tài)
git config --global merge.conflictstyle diff3
git config --lis
這里用戶名 和電子郵箱 可以隨便設(shè)置,不過還是盡量設(shè)置 為 在團(tuán)隊(duì)中,別人熟悉你的郵箱或者名稱,以便于 在實(shí)際開發(fā)中方便其他人可以聯(lián)系你
Git 與代碼編輯器
最后一個(gè)配置步驟是讓 Git 能與你的代碼編輯器結(jié)合使用。以下是三個(gè)最熱門的代碼編輯器。如果你使用的是其他編輯器,則在 Google 中搜索“修改 Git 默認(rèn)編輯器為 X 編輯器”(將 X 替換為你的代碼編輯器的名稱)。
Atom Editor 設(shè)置
git config --global core.editor "atom --wait"
Sublime Text 設(shè)置
git config --global core.editor "'/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl' -n -w"
VSCode 設(shè)置
git config --global core.editor "code --wait"