Git倉庫入門之搭建(一)
Git簡介
首先要問2個問題:
1、什麼是Git?
Git是一種最常用、也是最好用的分散式版本控制系統。
2、為什麼使用Git而不是svn?
Git是分散式版本控制系統,svn是中央版本控制系統,Git在本地和遠端都有版本庫。在無網路情況下,Git也可以進行版本控制,有網路的時候統一commit,但是svn只能在有網路的時候做版本控制。Git是按內容進行儲存,svn是按檔案進行儲存,Git的處理速度更迅速,特別是在外網伺服器上的處理。
Git檢測與安裝
通過輸入
git --version
命令可以判斷Git工具是否安裝,如果提示
bogon:~ issuser$ git --version
git version 2.10.0
則證明已經安裝MacOS系統安裝Git倉庫有以下兩種方法:
1、Xcode
Xcode編輯器裡Components裡有Command line tool工具,下載安裝後自動包含了Git工具
2、HomeBrew
通過brew install git 命令可以安裝Git。
Git倉庫的建立與使用
建立倉庫
這裡先進入使用者檔案系統桌面目錄下,然後建立了一個叫testGit的資料夾。進入testGit,執行git init
命令,如上圖提示即建立成功。開始使用我們的倉庫吧
新建一個readme檔案,輸入一行文字。
使用git add readme.txt
可以使用git status
命令來檢視此時的狀態。
終於到了這一步,要把我們的檔案更新到版本庫中了!使用git commit -m "add readme.txt"
命令提交我們的檔案吧,-m 後邊可以新增我們對此次更新的描述。我們可以使用多次
git add
的命令新增多個修改檔案,然後使用git commit
命令來一起提交檔案。
新增到版本庫之後,可以使用git log
命令來列印更新日誌。如果嫌列印的內容太繁瑣,還可以git log --pretty=oneline
來顯示簡潔版的日誌內容。git diff
在提交更新到版本庫之後,如果對本地工作目錄進行了修改,比如在readme.txt檔案裡添加了第二行:
可以通過git diff
功能來對比工作目錄和stage裡的區別。然後再通過git add 和 git commit命令進行提交。如果想撤銷本地修改的檔案該怎麼辦呢?
撤銷本地工作目錄的修改
使用git checkout -- readme.txt
命令,可以將本地工作目錄已修改的內容恢復至修改之前(我理解為將stage暫存區域的readme.txt檔案直接覆蓋本地檔案,理解不對請大神指出)。如果不小心已經執行過
git add readme.txt
命令,已經將修改的內容提交到了stage暫存區域了(幸好還沒有commit),那要怎麼辦呢?撤銷stage暫存區域內的修改
首先通過
git status
來檢視此時stage的狀態,可以看到提示裡(use "git reset HEAD <file>..." to onstage)
這句話其次使用
git reset HEAD readme.txt
命令來將stage的修改回退。最後使用上次撤銷本地工作目錄修改的方法
git checkout -- readme.txt
,執行完之後cat 下我們的檔案,是不是已經恢復到之前的內容了?
如果又不小心已經執行過
git commit -m "modify readme.txt"
命令,已經將修改的內容更新到了版本庫中,那是不是沒救了??不然,我們還有最後一個方法!版本庫回退
人生沒有退路,但是在Git中有!在Git中,是有後悔藥可以吃的^_^。
當你用版本庫回退操作時,必須用到你之前commit時git生成的commit id。很幸運Git提供了一個命令git reflog用來記錄你的每一次命令。
通過使用git reset --hard 15b1da3
(15b1da3是你要回退的之前的commit id),可以輕鬆將版本庫、stage、本地工作目錄都恢復到修改之前的狀態。刪除檔案
rm
是linux系統下刪除檔案的命令,對於從linux下誕生的Git工具來說,當然是適用的~
通過git rm 1.txt
命令就可以將我們不需要的檔案刪除啦,當然刪除後別忘了提交一下git commit -m "remove 1.txt"
啦。