版本控制系統(tǒng)(VCS)
有很多的版本控制系統(tǒng)可供我們選擇嘀粱。單憑這點,就足以說明VCS
是非常重要的刺啦。當(dāng)下最熱門的 VCS
:
- Git
- Subversion
- Mercurial(這種我也不是很了解末患,國外應(yīng)該用的比較多吧)
vcs
主要有兩種類型: - 集中式 -所有用戶都連接到一個中央的主倉庫
master repository
如:Subversion
- 分布式 -每個用戶都可以在自己的計算機上擁有完整的倉庫 如:
Git
學(xué)習(xí) VCS
的目的 我個人認為 它就相當(dāng)于 后悔藥,當(dāng)你不小心誤刪了玫荣,或者電腦崩潰了,不至于造成很大的損失大诸,就特別像在word 文檔中寫一些東西的時候捅厂,寫錯了就可以 使用ctrl + z
來撤銷一樣,當(dāng)時VCS
的功能比word要強大的很多资柔,并且可以在團隊之間提高協(xié)同效率焙贷。或者當(dāng)需要回到項目的某個階段的時候贿堰,用相應(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 中保持項目狀態(tài)),它都對文件當(dāng)時的狀況拍照纵搁,并存儲對該快照的引用吃衅。你可以將其看做游戲中的保存點,它會保存項目的文件和關(guān)于文件的所有信息腾誉。
你在 Git 中的所有操作都是幫助你進行 commit徘层,因此 commit 是 Git 中的基本單位。
倉庫(Repository / repo)
倉庫是一個包含項目內(nèi)容以及幾個文件(在 Mac OS X 上默認地處于隱藏狀態(tài))的目錄利职,用來與 Git 進行通信趣效。倉庫可以存儲在本地,或作為遠程副本存儲在其他計算機上眼耀。倉庫是由 commit 構(gòu)成的英支。
工作目錄 / 工作區(qū)(Working Directory)
工作目錄是你在計算機的文件系統(tǒng)中看到的文件。當(dāng)你在代碼編輯器中打開項目文件時哮伟,你是在工作目錄中處理文件。
與這些文件形成對比的是保持在倉庫中(在 commit 中M薄)的文件楞黄。
在使用 Git 時,工作目錄與命令行工具的 current working directory (當(dāng)前工作目錄)不一樣抡驼,后者是 shell 當(dāng)前正在查看的目錄鬼廓。
檢出(Checkout)
檢出是指將倉庫中的內(nèi)容復(fù)制到工作目錄下。
暫存區(qū) / 暫存索引 / 索引(Staging Area / Staging Index / Index)
Git 目錄下的一個文件致盟,存儲的是即將進入下個 commit 內(nèi)容的信息碎税∮任浚可以將暫存區(qū)看做準(zhǔn)備工作臺,Git 將在此區(qū)域獲取下個 commit雷蹂。暫存索引中的文件是準(zhǔn)備添加到倉庫中的文件伟端。
SHA
SHA 是每個 commit 的 ID 編號。以下是 commit 的 SHA 示例:e2adf8ae3e2e4ed40add75cc44cf9d0a869afeb6
匪煌。
它是一個長 40 個字符的字符串(由 0–9 和 a–f 組成)责蝠,并根據(jù) Git 中的文件或目錄結(jié)構(gòu)的內(nèi)容計算得出。SHA 的全稱是"Secure Hash Algorithm"(安全哈希算法)萎庭。
分支(Branch)
分支是從主開發(fā)流程中分支出來的新的開發(fā)流程霜医。這種分支開發(fā)流程可以在不更改主流程的情況下繼續(xù)延伸下去。
回到之前關(guān)于游戲保存點的示例驳规,你可以將分支看做在游戲中設(shè)立保存點后肴敛,嘗試一個有風(fēng)險的招式。如果有風(fēng)險的招式不奏效吗购,則回到保存的位置值朋。令分支非常強大的關(guān)鍵之處是你可以在一個分支上設(shè)定保存點,然后切換到另一個分支并繼續(xù)設(shè)定保存點巩搏。
了解完 這些術(shù)語之后昨登,就去git官方網(wǎng)站 下在與自己電腦相關(guān)的git 軟件吧!
配置git
第一次下載安裝 git贯底,在使用之前丰辣,需要配置git。在命令行工具中運行 一下 命令行 禽捆,確保 所有選項都已配置好笙什。
# 設(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è)置 為 在團隊中胚想,別人熟悉你的郵箱或者名稱琐凭,以便于 在實際開發(fā)中方便其他人可以聯(lián)系你
Git 與代碼編輯器
最后一個配置步驟是讓 Git 能與你的代碼編輯器結(jié)合使用。以下是三個最熱門的代碼編輯器浊服。如果你使用的是其他編輯器统屈,則在 Google 中搜索“修改 Git 默認編輯器為 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"