Git 是一種版本管理工具,也可以叫備份管理工具。在進行編程時,要對代碼進行備份或其他操作時,使用的一種工具。
首先,要明確Git 在進行版本管理時,面對的一個大的對象是倉庫(repository)。所謂倉庫其實就是一個文件夾。也就是說,我們的第一步就是創建一個文件夾,并進入這個文件夾。比如:
進入這個倉庫之后,第一步要做的就是初始化這個文件夾。初始化的作用就是——告訴git,我們要開始管理這個文件夾了。使用的命令是:git init。
執行完git init 命令之后,git就在這個git-tutorial文件夾里面創建了一個新的文件夾.git。但是,這個文件夾是一個隱藏文件夾,我們是看不到的。這個.git的文件夾里面儲存的是——管理當前目錄內容所需的倉庫數據。
接下來,就要用到git中最重要的命令——git status。這個命令的作用是查看當前文件夾里面各個文件的狀態,每次用git進行完一步有關文件的操作,最好都要git status一次,來查看一下當前的狀態,以方便接下來的操作。如圖:
翻譯一下就是:處在分支master下,初始化提交,沒有要提交的東西。這里強調一下什么是提交(commit),就是——記錄文件。
在創建的文件夾git-tutorial里面,現在還沒有要管理的文件,可以根據自己的需要創建自己需要的文件,用touch+文件名。比如:
這里有個untracked files,表示未被跟蹤的文件。也就是說,剛才新建的這個叫README.md的文件,git沒有跟蹤到,就是git不管。
那么,如何讓git 對其進行跟蹤,讓git去管理它呢?這個時候,要用到的命令是:git add + 文件名。這個命令的作用是讓git開始管理文件,執行完這個命令,git 就將文件放入了暫存區。暫存區是提交之前的一個臨時區域。好比是求職面試的時候,面試者的等待區域,git叫到誰,下一步誰就進去面試。git add 就是通知一些符合面試條件的人,來等待區進行面試。
執行完git add 之后,再執行git status,就會看到:
可以看到changes to be committed ,準備去提交,就是已經將README.md文件放入了暫存區。
現在,文件都已經準備就緒,就差提交了。使用命令:git commit -m “自命名”進行提交。git commit命令就是將文件提交,將暫存區的文件,保存在倉庫的記錄中。就是將這個文件記錄下來,以后就可以根據這些記錄的信息復原文件了。這里的自命名,是一個參數,自己根據情況可以隨便命名,這個參數是對這次提交的一個概述。
記住,每次執行完一個git命令,就要進行一次git status,來查看當前的情狀和狀態。這次也不例外,執行git status,就可以看到:
意思就是,沒有文件要提交了,工作區域是干凈的。
到這里,基本的提交工作就已經結束了。但是,我們還可以對提交進行查看。使用git log來查看提交的日志。輸入git log就可以看到:
如圖:commit后面的顯示“839.......”是一個哈希值,每提交一次,就產生一個哈希值。Author就是自己電腦上的git的用戶名和郵箱地址。Date后面顯示的是,提交執行的日期和時間。在下面的First commit就是上面提交時,我們自己命名的。
最后,我們在自己創建的README.md文件中寫入一些東西。用vim打開README.md文件,寫入:
這個時候,由于我們在文件README.md文件進行了寫入,這個文件就發生了變化,可以用git diff查看前后的差別:
解釋一下,最下面的“+”就是文件中新添加的內容。“-”就是被刪除的內容,當然,這里面沒有,因為我們并沒有刪除任何內容。