www.nowcoder.com/courses/2/1/1
一.introduction
Git? 版本控制系統(tǒng),其存儲特性可以在本地或者web上的存儲資源上工作
它沿襲了CVS(是一個C/S系統(tǒng),是一個常用的代碼版本控制軟件,主要在開源軟件管理中使用baike.baidu.com/item/CVS/405463 )和Subversion(是一個自由開源的版本控制系統(tǒng),在Subversion管理下,文件和目錄可以超越時(shí)空baike.baidu.com/item/subversion/7818587 );?
可以從本地機(jī)器的存儲器開始,當(dāng)需要協(xié)作時(shí),把它放在網(wǎng)上,或某些其他托管的解決方案里,具有很大的靈活性
Git的基礎(chǔ):工具、命令行、圖形化用戶界面(支持所有主流操作系統(tǒng)Windows、Mac、Linux),不同的操作系統(tǒng)有自己的圖形用戶界面并且與可用的命令行工具綁定
分布式的版本控制:啟動一個軟件項(xiàng)目時(shí),從本地創(chuàng)建資源庫
本地創(chuàng)建,允許我們只從新項(xiàng)目啟動,就在我們的命令行上,或用一個圖形用戶界面,當(dāng)輸入git init創(chuàng)建一個新項(xiàng)目時(shí)(eg:git init project1),j就會創(chuàng)建一個文件夾,在我們的文件系統(tǒng)中,這個即為新的項(xiàng)目;當(dāng)我們轉(zhuǎn)到目錄結(jié)構(gòu)時(shí),它只包含一個簡單的Git文件夾,我們可以做任意量自己的工作,.git文件夾是一個具有簡單文件的文件夾,主要為純文本格式,在這里所以的東西得以保存,當(dāng)我們對自己的源代碼或者項(xiàng)目做歷史演變時(shí)可以獲取到
.git文件夾每一個Git和GitHub的工具的寫入目標(biāo),無論是GUI還是命令行,只需寫入.git文件夾中,所有的東西都將保存下來
當(dāng)需要添加遠(yuǎn)程目標(biāo)和與別人合作時(shí)(在不同的遠(yuǎn)端進(jìn)行交互時(shí)),可以通過github.com或者在筆記本電腦上在您配置的文件里面創(chuàng)建一個不同的地址來設(shè)置它;這便是git開始讀取的另一個地方,不僅要了解它要發(fā)送數(shù)據(jù)到哪里,也要了解它可以從哪里提取數(shù)據(jù),所以僅需從文本文件中讀取,讓Git知道這個地址。當(dāng)我們設(shè)置了這個地址,如果有一個自托管的解決方案,它也可以在web上,如果此時(shí)正在使用github.com,工具知道如何與其對話,你的主要工作主要是在筆記本上,本地的,不具有網(wǎng)絡(luò)訪問權(quán)限;但是后期你想要與他人進(jìn)行合作時(shí),需要與他人共享代碼,就將使用命令push和pull
二.setup
要設(shè)置Git,需要有Git命令行工具、Git圖形用戶界面以及github.com的賬號
設(shè)置清單
確認(rèn)安裝git命令行工具,git會提供一個安裝包,也有g(shù)it圖形用戶的安裝包,以及確認(rèn)有賬號,并且是最新的版本,工具是自動更新的。
設(shè)置git版本
安裝git命令行工具,可以去git-scm.com查看,里面包括git所有的版本。也將找到基于不同操作系統(tǒng)應(yīng)該如何安裝git命令行工具,如果對更新有任何問題,可以在這個網(wǎng)站上獲得信息
設(shè)置GitHub安裝包
用戶圖形界面安裝:在mac.github.com和windows.github.com上可以找到把用戶圖形界面和命令行工具合二為一的安裝包(具有自動更新的功能)一旦安裝好工具,就可以在本地創(chuàng)建repository,不過,和他人合作也是Git的一個主要任務(wù)
設(shè)置GitHub賬號(與他人共享代碼)
可以用相同的密碼登入任何一個桌面客戶端,之后會顯示你已經(jīng)建立的所有repository,還有那些你可以commit的repository,接下來皆可以實(shí)現(xiàn)共享了
三.Config(配置)
首先配置user.name和user.email的設(shè)置,可以根據(jù)自己的喜好調(diào)整行的結(jié)尾和顏色,同時(shí)我們要確保我們理解不同的設(shè)置級別:做你想跨越所有資料庫,還是只設(shè)置你想工作的那個地方?
配置用戶信息
將user.name和user.email設(shè)置正確對于你工作的產(chǎn)權(quán)很重要,這些值將延續(xù)到為你的工作得到的信用,會當(dāng)你發(fā)布和導(dǎo)入內(nèi)容時(shí),會在網(wǎng)站的用戶界面進(jìn)行展示。
配置行尾、顏色
行尾在不同的平臺中存在區(qū)別,比如:Linux、Windows、Mac、CR、CRLF、LF
git將幫助標(biāo)準(zhǔn)化那些正在被check的文件到存儲庫,比如core.autocrlf
紅色表示仍在被處理,綠色運(yùn)行正常,分支以顏色列出,狀態(tài)以顏色列出,歷史記錄日志以顏色列出,幾乎每個Git命令以紅、綠、黃和其他顏色為補(bǔ)充來指示代碼的狀態(tài)。哪條線、該分支或哪次提交。
有用的設(shè)置
設(shè)置的級別分為廣泛的相對狹窄的,更窄的是local設(shè)置,距離我們最近的具有最高優(yōu)先級,大于global,最弱的一級是system(通常是最模糊的或最不常用的設(shè)置,它們將被global或local覆蓋)