git學(xué)習(xí)筆記(一)

1.集中式版本控制系統(tǒng)vs分布式版本控制系統(tǒng)

集中式版本控制系統(tǒng):版本庫集中存放在中央服務(wù)器。使用時(shí)必須先從中央服務(wù)器取得最新版本,工作完后在推送給中央服務(wù)器。缺點(diǎn)是必須聯(lián)網(wǎng)才能工作,中央服務(wù)器要是出了問題所有人無法工作。常見的集中式版本控制系統(tǒng)有CVS和SVN.

分布式版本控制系統(tǒng):沒有“中央服務(wù)器”,每個(gè)電腦上都是一個(gè)完整的版本庫。工作時(shí)不需要聯(lián)網(wǎng),安全性高。常見的分布式版本控制系統(tǒng)有Git.

2.什么是版本庫呢?

版本庫又名倉庫,英文名repository,你可以簡單理解成一個(gè)目錄,這個(gè)目錄里面的所有文件都可以被Git管理起來,每個(gè)文件的修改、刪除,Git都能跟蹤,以便任何時(shí)刻都可以追蹤歷史,或者在將來某個(gè)時(shí)刻可以“還原”。

所有的版本控制系統(tǒng),其實(shí)只能跟蹤文本文件的改動(dòng),比如TXT文件,網(wǎng)頁,所有的程序代碼等等,Git也不例外。而圖片、視頻這些二進(jìn)制文件,雖然也能由版本控制系統(tǒng)管理,但沒法跟蹤文件的變化,只能把二進(jìn)制文件每次改動(dòng)串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統(tǒng)不知道,也沒法知道。

建議使用純文本方式編寫文件,并使用標(biāo)準(zhǔn)的UTF-8編碼。

3.Git中的常用操作命令小結(jié)

(1)初始化一個(gè)Git倉庫,使用git init命令。

添加文件到Git倉庫,分兩步:

第一步,使用命令git add (file),注意,可反復(fù)多次使用,添加多個(gè)文件;

第二步,使用命令git commit,完成。

為什么Git添加文件需要add,commit一共兩步呢?因?yàn)閏ommit可以一次提交很多文件,所以你可以多次add不同的文件

(2)要隨時(shí)掌握工作區(qū)的狀態(tài),使用git status命令。

如果git status告訴你有文件被修改過,用git diff可以查看修改內(nèi)容。

git status命令可以讓我們時(shí)刻掌握倉庫當(dāng)前的狀態(tài)

git diff顧名思義就是查看difference,顯示的格式正是Unix通用的diff格式

(3)git log命令顯示從最近到最遠(yuǎn)的提交日志

如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline參數(shù)? ? ? ? ? ? ? 即git log --pretty=oneline

在實(shí)際工作中,我們腦子里怎么可能記得一個(gè)幾千行的文件每次都改了什么內(nèi)容,不然要版本控制系統(tǒng)干什么。版本控制系統(tǒng)肯定有某個(gè)命令可以告訴我們歷史記錄,在Git中,我們用git log命令查看

(4)HEAD指向的版本就是當(dāng)前版本,因此,Git允許我們?cè)诎姹镜臍v史之間穿梭,使用命令git reset --hard commit_id。

穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個(gè)版本。

要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個(gè)版本。

在Git中,用HEAD表示當(dāng)前版本,也就是最新的提交。上一個(gè)版本就是HEAD^,上上一個(gè)版本就是HEAD^^,當(dāng)然往上100個(gè)版本寫100個(gè)^比較容易數(shù)不過來,所以寫成HEAD~100。回退到上一個(gè)版本,就可以使用git reset命令

4. 工作區(qū)和暫存區(qū)

工作區(qū)(Working Directory):

就是你在電腦里能看到的目錄。

版本庫(Repository):

工作區(qū)有一個(gè)隱藏目錄.git,這個(gè)不算工作區(qū),而是Git的版本庫。

Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容