廖雪峰git教程學習筆記

2022-03-12 11:17:58 字數 2311 閱讀 8089

對git來說,沒有訊息就是最好的訊息

使用 git init 把當前目錄變為git倉庫

要在倉庫裡加入檔案,先在倉庫目錄新建這個檔案後,比如新建乙個檔案xiaobai.txt,內容為:

在命令列裡輸入 git status,出現提示xiaobai為untracked file,即沒有加入倉庫:

git的工作機制為:

倉庫所在的目錄資料夾為工作區,但工作區里的檔案不一定全都是版本庫(repository)裡的,版本庫里又分為暫緩區stage和另乙個區域master,有乙個指向master的指標head,代表當前版本庫,使用 git add檔名 命令會將新檔案或修改的檔案加入stage快取區,每乙個檔案都要使用一次這個命令!!然後再使用 git commit –m」注釋」 命令來一次性把這些改動加入master,注意git commit命令只會把stage中的內容提交,如果在某些檔案使用git add命令後,又新建或改動了一些檔案(或者二次修改這些已經git add的檔案),則使用git commit命令不會把這些後來者加入版本庫(已經git add 的檔案後來的修改也不會被提交,而提交的是二次修改之前的內容,如果要提交二次修改的內容,則要再次使用git add命令)!每一次有新檔案加入master或原有的檔案發生改動,就會產生乙個新的版本。

把xiaobai.txt加入快取區(沒有訊息就是最好的訊息):

再使用 git status 檢視狀態:

提示快取區內有新檔案等待commit到master

使用 git commit –m」new xiaobai」 一次性把快取區內的東西提交到master:

3 insertions指的是xiaobai裡有3行內容

此前版本庫中已存在檔案akk.txt:

修改其內容:

再使用git status ,提示版本庫里的檔案被修改:

此時要使用 git add akk.txt 才能加入快取區stage,使用 git commit –m」some common」 才能寫入版本庫,形成乙個新的版本,若使用

git checkout – akk.txt 會放棄上一部的修改!開啟akk.txt,發現又回到了原來的樣子:

如果想看akk.txt具體修改了什麼內容,則使用git diff 「檔名」 命令:

(紅色為原來的內容,綠色為修改後的內容)

也可以使用 git diff head – 檔名 檢視工作區和版本庫里最新版本的區別:

如果修改後檔案已使用git add命令加入stage,則使用 git reset head 檔名 命令會使他退出stage:

總之,被修改但沒有加入stage的用git

checkout命令會被刪除修改,已加入stage的用git reset

head 檔名 命令會被退出stage

使用 git rm 檔名 刪除檔案(只能刪除版本庫中的,無法刪除工作區的檔案):

發現工作區目錄中已經沒有了xiaobai.txt檔案,刪除檔案後一樣要使用git commit命令提交新的版本:

在使用git commit提交新版本之前,git checkout -- 檔名 命令還可以起到恢復檔案的作用!(git

checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」)

廖雪峰Git教程學習筆記

git1 通過git init命令把這個目錄變成git可以管理的倉庫 git init 2 用命令git add告訴git,把檔案新增到倉庫 git add readme.txt 3 用命令git commit告訴git,把檔案提交到倉庫 git commit m 這是備註 4 已經記不清上次怎麼修...

廖雪峰老師Git教程學習筆記

初始化乙個git倉庫,使用git init命令。新增檔案到git倉庫,分兩步 每次修改,如果不用git add到暫存區,那就不會加入到commit中 使用命令git add,注意,可反覆多次使用,新增多個檔案 將修改的檔案從工作區新增至暫存區 使用命令git commit m,完成。將暫存區的所有內...

《Git教程 廖雪峰》之學習筆記

原文 git教程 廖雪峰 一 git簡介 git是目前世界上最先進的分布式版本控制系統 沒有之一 git能夠幫助記錄對文件的改動的時間 內容 使用者等,對於需要重複修改多次的文件管理起來十分方便。二 git的安裝 在linux上安裝 1.首先,在命令列視窗中輸入git指令,檢視是否已安裝過git。g...