必須要了解git的原理,才能知道每個操作的意義是什麼,才能更容易地理解在什麼情況下用什麼操作,而不是死記命令。當然,第一步是要獲得乙個git倉庫。
一、獲得git倉庫
有兩種獲得git倉庫的方法,一是在需要用git管理的專案的根目錄執行:
git init
執行後可以看到,僅僅在專案目錄多出了乙個.git目錄,關於版本等的所有資訊都在這個目錄裡面。
另一種方式是轉殖遠端目錄,由於是將遠端伺服器上的倉庫完全映象乙份至本地,而不是取某乙個特定版本,所以用clone而不是checkout:
git clone
二、git中版本的儲存
記錄版本資訊的方式主要有兩種:
記錄檔案每個版本的快照
記錄檔案每個版本之間的差異
git採用第一種方式。像subversion和perforce等版本控制系統都是記錄檔案每個版本之間的差異,這就需要對比檔案兩版本之間的具體差異,但是git不關心檔案兩個版本之間的具體差別,而是關心檔案的整體是否有改變,若檔案被改變,在新增提交時就生成檔案新版本的快照,而判斷檔案整體是否改變的方法就是用sha-1演算法計算檔案的校驗和。
git能正常工作完全信賴於這種sha-1校驗和,當乙個檔案的某乙個版本被記錄之後會生成這個版本的乙個快照,但是一樣要能引用到這個快照,git中對快照的引用,對每個版本的記錄標識全是通過sha-1校驗和來實現的。
當乙個檔案被改變時,它的校驗和一定會被改變(理論上存在兩個檔案校驗和相同,但機率小到可以忽略不計),git就以此判斷檔案是否被修改,及以此記錄不同版本。
在工作目錄的檔案可以處於不同的狀態,比如說新新增了乙個檔案,git發覺了這個檔案,但這個檔案是否要納入git的版本控制還是要由我們自己決定,比如編譯生成的中間檔案,我們肯定不想納入版本控制。下面就來看下檔案狀態。
Git基礎入門 四 Git基本操作2
忽略檔案 在實際開發過程中總有些檔案無需納入git的管理,比如日誌檔案 臨時檔案等 在這種情況下,我們可以在工作目錄中建立乙個名為.gitignore的檔案,列出要忽略的檔名或者表示式 例 cat gitignore oa log 第一行告訴git忽略所有以.o或.a結尾的檔案 第二行告訴git忽略...
git基礎入門操作
git add,commit,reset,status,log等6個基礎操作 git add html 新增文件到本地倉庫的緩衝區 git commit m 提交備註 把快取區的檔案提交檔案到本地倉庫並備註 git push u origin master 把本地庫的內容推送到遠端倉庫 git lo...
Git入門 零基礎入門
git 一 在linux上的安裝 yum install giit 二 linux環境下檢出專案到本地 git clone 三 第一次提交 1.新建乙個檔案 用於後期的提交 vi 日記 2.git status檢視當前工作區檔案。提示有尚未跟蹤的檔案 3.git add 日記 rm和add相反,從工...