用Git進(jìn)行版本控制(一)配置

前言:
坦白講,到目前為止, 我在全職的工作中還沒有使用Git進(jìn)行版本控制的開發(fā)园匹,
只是自己沒事兒在上面搞一搞,用的并不多劫灶,學(xué)習(xí)得并不系統(tǒng)裸违,一直就知道udcacity上
有免費(fèi)的Git和GitHub相關(guān)的教程,講解得很不錯本昏,一直拖拖拖供汛,沒有去學(xué)習(xí),今天
趁著給小電車充電的間隙(5個多小時慢充時間里)在咖啡館里坐著涌穆,就把視頻給看了怔昨,記錄下筆民,本筆記的所有內(nèi)容均來自Udcacity(thanks alot)

工作中宿稀,我一直在使用SVN進(jìn)行版本控制多人協(xié)作開發(fā)趁舀,SVN是中心式的,
而Git則是分布式的祝沸,基本上幾十種版本控制系統(tǒng)矮烹,主要分為這兩類:

image.png

集中式模型(Centralized) - 所有用戶都連接到一個中央的主倉庫(master repository)
分布式模型(Distributed) - 每個用戶都在自己的計算機(jī)上擁有完整的倉庫(repository)

image.png
image.png

Git和GitHub是兩個不同的東西巡蘸。

image.png

Git是版本控制系統(tǒng),工具,核心擂送,唯一

GitHub是一項(xiàng)Git服務(wù)悦荒,用于拖管Git項(xiàng)目的,所以類似于GitHub的服務(wù)會有很多種嘹吨,
你使用Git項(xiàng)目搬味,不是必須要使用GitHub的,只是GitHub在用戶量以及知名度蟀拷,技術(shù)等等層面上碰纬,是目前最好的Git服務(wù)。

關(guān)鍵術(shù)語:

https://udacity.github.io/frontend-nanodegree-styleguide-zh/udacity-git-keyterms.pdf

提交(commit or snapshot):
Git 的數(shù)據(jù)就像一組迷你文件系統(tǒng)的快照问芬。每次在 Git 中提交或保
存項(xiàng)目狀態(tài)時悦析, Git 會立刻對所有文件進(jìn)行拍照,并存儲這組快照的索引此衅。

倉庫Repository (repo):
一個包含項(xiàng)目工作以及用于與 Git 聯(lián)絡(luò)的文件(在 Mac OS X 中默認(rèn)隱
藏)的目錄强戴,既可存在于本地計算機(jī)上,也可作為另一臺計算機(jī)的遠(yuǎn)程副本挡鞍。

工作目錄Working Directory:
即計算機(jī)文件系統(tǒng)中的文件骑歹。當(dāng)你在代碼編輯器中打開項(xiàng)目文件時,就是在
處理工作目錄中的文件墨微。我們checkout的文件或目錄就存放在working directory中道媚,
是本地的一個文件夾。保存當(dāng)前的項(xiàng)目的源碼和資源翘县。

檢出(不存在則新建)Checkout:
:倉庫中的內(nèi)容被復(fù)制到工作目錄最域。文件、提交锈麸、分支等都可從倉庫檢
出镀脂。

暫存區(qū),暫存索引或索引(Staging Area or Staging Index or Index):
Git 目錄中的一個文件掐隐,用于存儲下一次提交的相關(guān)信息狗热,
相當(dāng)于 Git 處理下一次提交的準(zhǔn)備區(qū)域。暫存區(qū)中的文件將被添加進(jìn)倉庫虑省。

SHA:
SHA 基本上就是每次提交的 ID 號碼匿刮,是由 40 個字符(0-9 和 a-f)組成的字符串,根據(jù) Git 中的文件內(nèi)容或目錄結(jié)構(gòu)計算而成探颈∈焱瑁“SHA”是“SHA散列”的簡寫。以下就是一個 SHA 的例子:
e2adf8ae3e2e4ed40add75cc44cf9d0a869afeb6

分支Branch:
當(dāng)創(chuàng)造出一個新的開發(fā)線伪节,并從開發(fā)主線分離后光羞,就產(chǎn)生了一個分支绩鸣。這條開發(fā)線可在不影響主線的同時繼續(xù)工作。分支很有用纱兑,比如你要修改或是開發(fā)一項(xiàng)新的功能呀闻,你為了測試方便,你可能屏蔽了許多其它的邏輯潜慎,但你可能無法幾天都在做這一件事捡多,你也可能要去臨時修改其它的BUG或是其它的功能,你就可以將
這耗時這部分工作放在Branch中去開發(fā)铐炫!完成了再合并回來垒手。

安裝 Git

要下載 Git:(嗯,要翻墻倒信,我用的Astrill科贬,還是不錯的,就是貴了點(diǎn)兒鳖悠,用藍(lán)燈也不錯)

  1. 轉(zhuǎn)到:https://git-scm.com/downloads

  2. 下載 Windows 版軟件

  3. 安裝 Git 并選擇所有默認(rèn)選項(xiàng)

安裝完畢后榜掌,你應(yīng)該能夠在命令行工具中運(yùn)行 git。如果顯示了使用信息竞穷,則一切正常唐责!

安裝過程中,會有如下提示:

image.png

你要使用哪種編輯器做為Git的默認(rèn)編輯器瘾带,默認(rèn)是vim(https://www.vim.org/download.php)
也可以選擇Visual Studio Code,Notepad++,看個人的喜好熟菲。

安裝完畢后看政,你應(yīng)該能夠在命令行工具中運(yùn)行 git。如果顯示了使用信息抄罕,則一切正常允蚣!
*輸入cd回車可以回到shell的主目錄。

默認(rèn)情況下打開的是系統(tǒng)的用戶目錄呆贿,如果想要定位到項(xiàng)目的代碼庫下嚷兔,可以按照如下設(shè)置:

修改Git bash的啟動默認(rèn)路徑:

image.png

右擊Git.exe圖標(biāo),在起始位置修改即可做入。
(https://blog.csdn.net/mypotatolove/article/details/40152399)
補(bǔ)充:windows要去除快捷方式目標(biāo)中的"--cd-to-home"

另外一種方式 冒晰,也是教程中說到的,將代碼庫的位置放在快捷訪問處竟块,通過在文件夾中右擊Git Bash Here 也可以打開Shell.


image.png

我這里是加入到了收藏夾壶运,右擊添加即可,操作是一樣的

如何在命令行打開項(xiàng)目庫的文件夾:
輸入"start ." start+peroid(句號)回車即可浪秘。

初次配置 Git

在開始使用 Git 之前蒋情,你需要配置 Git埠况。在命令行工具中運(yùn)行以下每行,確保所有選項(xiàng)都已被配置好棵癣。

設(shè)置你的 Git 用戶名
git config --global user.name "<Your-Full-Name>"

設(shè)置你的 Git 郵箱
git config --global user.email "<your-email-address>"

確保 Git 輸出內(nèi)容帶有顏色標(biāo)記
git config --global color.ui auto

對比顯示原始狀態(tài)
git config --global merge.conflictstyle diff3

git config --list

*用戶名和郵箱地址是本地Git客戶端的一個變量辕翰,不隨git庫而改變。
每次commit都會用用戶名和郵箱紀(jì)錄狈谊。
github的contributions統(tǒng)計就是按郵箱來統(tǒng)計的喜命。

查看用戶名、郵箱命令
git config user.name git config user.email

修改用戶名的畴、郵箱命令
git config --global user.name "xxxx" git config --global user.email "xxxxx@xxx.com"

https://blog.csdn.net/s740556472/article/details/77623453

Git 與代碼編輯器

最后一個配置步驟是讓 Git 能與你的代碼編輯器結(jié)合使用渊抄。以下是三個最熱門的代碼編輯器。如果你使用的是其他編輯器丧裁,則在 Google 中搜索“修改 Git 默認(rèn)編輯器為 X 編輯器”(將 X 替換為你的代碼編輯器的名稱)护桦。

Atom Editor 設(shè)置
git config --global core.editor "atom --wait"
Sublime Text 設(shè)置
git config --global core.editor "C:/Program Files/Sublime Text 2/sublime_text.exe' -n -w"
VSCode 設(shè)置
git config --global core.editor "code --wait"

使用默認(rèn)的vim編輯器打開:
git config --global core.editor vim

我這里是使用的VSCode設(shè)置。
如果是使用的vim
(vim的退出方式 :按ESC鍵 跳到命令模式煎娇,然后輸入:q(不保存)或者:wq(保存) 退出二庵。)

插一段:什么是shell? 什么是bash?

https://blog.csdn.net/lizhidefengzi/article/details/74066590?locationNum=4&fps=1
https://blog.csdn.net/shuipengpeng/article/details/80302717

shell 是一個命令語言解釋器(command-language interpreter)。擁有自己內(nèi)建的 shell 命令集缓呛。

shell是用戶和Linux(或者更準(zhǔn)確的說催享,是用戶和Linux內(nèi)核)之間的接口程序。你在提示符下輸入的每個命令都由shell先解釋然后傳給Linux內(nèi)核哟绊。

Shell有很多中因妙,這里列出其中幾種

  • Bourne SHell(sh)
  • Bourne Again SHell(bash)
  • C SHell(csh)
  • KornSHell(ksh)
  • zsh

各個shell的功能都差不太多,在某些語法的下達(dá)下面有些區(qū)別票髓,Linux預(yù)設(shè)就是bash攀涵。

下面一節(jié)介紹如何通過Git創(chuàng)建代碼倉庫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洽沟,一起剝皮案震驚了整個濱河市以故,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌裆操,老刑警劉巖怒详,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踪区,居然都是意外死亡昆烁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門朽缴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來善玫,“玉大人,你說我怎么就攤上這事∶├桑” “怎么了蜗元?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長系冗。 經(jīng)常有香客問我奕扣,道長,這世上最難降的妖魔是什么掌敬? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任惯豆,我火速辦了婚禮,結(jié)果婚禮上奔害,老公的妹妹穿的比我還像新娘楷兽。我一直安慰自己,他們只是感情好华临,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布芯杀。 她就那樣靜靜地躺著,像睡著了一般雅潭。 火紅的嫁衣襯著肌膚如雪揭厚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天扶供,我揣著相機(jī)與錄音筛圆,去河邊找鬼。 笑死椿浓,一個胖子當(dāng)著我的面吹牛太援,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扳碍,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼粉寞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了左腔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤捅儒,失蹤者是張志新(化名)和其女友劉穎液样,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巧还,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鞭莽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了麸祷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澎怒。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖阶牍,靈堂內(nèi)的尸體忽然破棺而出喷面,到底是詐尸還是另有隱情星瘾,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布惧辈,位于F島的核電站琳状,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盒齿。R本人自食惡果不足惜念逞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望边翁。 院中可真熱鬧翎承,春花似錦、人聲如沸符匾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽待讳。三九已至芒澜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間创淡,已是汗流浹背痴晦。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留琳彩,地道東北人誊酌。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像露乏,于是被迫代替她去往敵國和親碧浊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容