安裝完成git之后,一定要把自己的用戶信息配置進去
這樣才會知道每一次的操作是誰進行的
git config --global user.name "xxxxx"
git config --global user.email "xxxxx@xxxx.com"
雙引號內(nèi)的信息是自己的用戶名以及郵箱
使用git config --list命令可以查看信息是否成功寫入:
理論知識
要想了解Git更具體的操作流程,請看下圖:
然后我們可以開始一個新項目的Git實踐了
首先第一步:我們可以先創(chuàng)建一個新項目
然后在項目的根目錄下,輸入命令git init進行初始化Git
這里我們可以看到我們的Git已經(jīng)初始化成功讲冠。
然后我們在進行下一步操作
在現(xiàn)在寫代碼的過程中,很多時候都會在項目中寫一個README.md的文檔,一般在這個文檔中我們會寫一個項目的主要操作過程和項目功能介紹等俭厚。
在Mac下我們可以使用vim命令
直接在已經(jīng)進行Git初始化的項目中,寫入一個README.md文檔
我們可以直接輸入命令 vim README.md
然后就進入了vim編輯器中,輸入一句對這個項目的大概描述
然后點擊esc 并按下 :wq進行保存文件并退出的操作
這里提示一下,如果想要進行重新對README.md文件的編輯
直接在進入vim文件編輯器后的視圖頁面中,輸入字母i,然后回車,
然后這個文檔又變成可編輯的文檔了,記住編輯之后一定要根據(jù)進行自己的需求進行相應(yīng)的保存
然后我們就可以將文件添加到暫存區(qū)域里了
回到已經(jīng)進行Git初始化的項目中,在命令行窗口,輸入命令:
git add README.md
然后回車
這里呢,一般不會出現(xiàn)特別的消息,然后我們再繼續(xù)準備下一步的操作
將文件提交到我們自己的Git倉庫中
根據(jù)圖上提示,我們可知,Git告訴了我們一個文件被改動了
有一行內(nèi)容被添加了
在這里我們再注意一下,commit是提交的意思, -m 后邊跟著的是本次提交的代碼說明,就大概描述這一版本做了哪些內(nèi)容的改動,以便可以迅速查看
但我們要知道,對于這個提交的說明,Git是強制要求必須寫的,因為如果沒有使用 -m 選項,Git會自動打開一個編輯器,要求操作者在其中輸入提交的相關(guān)說明,輸入完畢后保存退出就可以了
所以
我們可以看出,講工作目錄的文件放到Git倉庫只需要兩步:
Step One : git add 文件名
Step One : git commit -m "提交說明"
然后下一步我們需要做什么呢,就是查看狀態(tài),畢竟,如果你想要知道哪些文件是新添加的,哪些文件已經(jīng)加入了暫存區(qū)域,來幫助自己更好的理解自己進行的操作步驟有哪些
然后我們可以從命令行的提示中得到
On branch master:表示我們現(xiàn)在正位于一個叫做"master"的分支里,這是默認的分支,所以我們可以先不用去理解它的具體含義
nothing to commit, working tree clean:說明了當前的工作目錄是"干凈的",沒有需要提交的文件(意思就是在上一次的提交之后,工作目錄中并沒有修改和增加刪除任何文件,沒有進行任何的操作)
在這里,為了驗證要是在當前的工作目中新增加,刪除,修改了其他文件,git status命令會有哪些改變,我們再次把README.md文件打開,進行編輯操作,增加一句話,然后再進行保存退出操作
然后在命令行中再次輸入git status命令
可以得到:
Changes not staged for commit:這句話表示暫存區(qū)有改動的文件還沒提交
然后我們可以根據(jù)它小括號里面的提示,進行g(shù)it add操作
然后我們再次查看當前提交的狀態(tài)
再次通過上圖小括號可以得知:我們還可以用
git reset HEAD<file>來回到未提交的狀態(tài)
然后我們可以再試一下
一直git add 又git commit是不是特別麻煩呢
有一句命令可以直接將已經(jīng)跟蹤的文件先add到暫存區(qū)域,然后再執(zhí)行commit命令,那就是git commit -am "提交說明"
ps:這里的-am是-a -m的縮寫
然后我們就可以用git log命令查看歷史提交了,查看具體日志
好,這里我們再來進行另外一種操作
回滾快照
快照即提交的版本,每個版本稱為一個快照
現(xiàn)在我們利用reset 命令回滾快照,并看看Git和本地倉庫,暫存區(qū)域,Git倉庫分別發(fā)生了什么
執(zhí)行g(shù)it reset HEAD~命令,然后再執(zhí)行g(shù)it status
這里要注意HEAD表示HEAD的上一個版本提交,HEAD表示HEAD的上上一個版本提交,如果希望表示前面的第十個快照,那么可以直接用HEAD10來表示
git reset HEAD~也是git reset --mixed HEAD~的縮寫,因為--mixed,所以可省略
為了靈活的操作這三個區(qū)域之間的聯(lián)系,Git還為reset命令安排了
-- soft 和 --hard選項
-- soft選項
git reset --soft HEAD~ 命令就相當于只移動HEAD的指向,但并不會將快照回滾到暫存區(qū)域中.那它到底有什么作用呢,事實它就是相當于撤銷了上一次的提交(commit)
然后可以得知,我們的具體操作