git是程式設計師必備技能之一,學會git,再也不怕瞎**亂改**,再也不會忘記上次修改了什麼地方,用git,快樂程式設計。
git只記錄每次修改的內容,即當前提交的內容和當前的內容的差值,這也是git比其它版本控制系統優秀的地方。
你可以新建乙個目錄來當作本地倉庫,也可以在你已有的工程目錄直接新建倉庫,但是一般情況下,我們會新建乙個目錄。
$ git init
執行上述命令就會在當前目錄新建乙個本地倉庫,並且輸出
initialized empty git repository in e:/projects/testgit/.git/
但此時細心的你會發現,目錄下什麼也沒有,其實它已經生成了乙個.git目錄,只不過它是隱藏檔案,所以現在你可能有疑問,這個.git目錄就是我們的倉庫嗎?它裡面儲存的是版本控制的相關檔案,反正不要人為地去修改它,否則的話會導致你的本地倉庫被破壞。
這裡的修改包括新新增檔案和修改原有檔案內容。而修改檔名,會被當作一次檔案刪除和檔案新增。 我們現在倉庫中新建乙個test.txt檔案,在裡面寫上
這是倉庫中的第乙個檔案,用來測試新增檔案
此時使用git status來檢視倉庫的狀態,會發現,git檢測到新建檔案了,但是並不知道你裡面有什麼內容,所以它是untracked狀態。
使用git add test.txt將test.txt從提交到暫存區,此時我們再使用git status來檢視倉庫的狀態
$ git statuson branch masterno commits yetchanges to be committed: (use "git rm --cached ..." to unstage) new file: test.txt
此時說明test.txt已經被git追蹤,git檢測到test.txt是新新增的檔案
我們使用git commit -m "增加乙個新檔案"來將暫存區提提交到master分支。
$ git commit -m "增加乙個新檔案"[master (root-commit) db05952] 增加乙個新檔案 1 file changed, 1 insertion(+) create mode 100644 test.txt
此時我們再使用git status來檢視倉庫的狀態
$ git statuson branch masternothing to commit, working tree clean test.txt
發現當我們執行commit指令時,暫存區在提交到master分支時自身也會清空。
修改test.txt
這是倉庫中的第乙個檔案,用來測試新增檔案這是我新新增的內容,用來測試版本回退
然後我們再對test.txt執行add和commit操作,這時,你突然發現上次新增的那句話不太正確,需要回退到之前的版本,當然這對於(刪除某些內容)更能體現版本回退的用處。
此時你可以使用git log命令檢視你的commit記錄
$ git logcommit 875449ad625b785cc7cd03fe5f48c930cf2b32c6 (head -> master)author: ********date: ******** 測試版本回退commit db05952ae47fa8f897d8cf52488c350fd8e765c8author: ********date: ******** 增加乙個新檔案
可以發現,之前的commit操作都有記錄,這裡回退有兩種方法
在git log輸出的資訊中,有一項需要我們注意commit加一長串數字,這個叫做commit id,用來唯一指示一次commit操作,我們可以憑藉commit id來回退到指定版本,當然你也可以使用head~回退的次數來將head指標往回移動,比如head~100就是回退到前第100次的commit操作(可能比較拗口,比如這裡head~1表示回退到「增加乙個新檔案」那次操作,因為你當前處於「測試版本回退」)
$ git reset --hard head~1head is now at db05952 增加乙個新檔案$ git reset --hard 875449head is now at 875449a 測試版本回退
新建倉庫
設定使用者名稱和郵箱
提交 撤銷操作
同步遠端分支到本地分支
git 放棄本地修改
如果在修改時發現修改錯誤,而要放棄本地修改時,一,未使用 git add 快取 時。可以使用 git checkout filepathname 比如 git checkout readme.md 不要忘記中間的 不寫就成了檢出分支了!放棄所有的檔案修改可以使用 git checkout 命令。此命...
git 放棄本地修改
在修改時發現修改錯誤,而要放棄本地修改時 可以使用 git checkout filepathname 比如 git checkout readme.md 不要忘記中間的 不寫就成了檢出分支了!放棄所以的檔案修改可以使用 git checkout 命令 不要忘記 此命令用來放棄掉所有還沒有加入到快取...
git放棄本地修改
如果在修改時發現修改錯誤,而要放棄本地修改時,一,未使用 git add 快取 時。可以使用 git checkout filepathname 比如 git checkout readme.md 不要忘記中間的 不寫就成了檢出分支了!放棄所有的檔案修改可以使用 git checkout 命令。此命...