Git使用学习笔记 (一)
學習網址
安裝方法包含Linux\Mac Os X\Windows的安裝,安裝完成之后設置個人信息:
?
$ git config --global user.name "name" $ git config --global user.email "email@***.com"?
注意:git config 命令中參數 --global 表示在當前機器上所有git倉庫都使用上邊的配置。
一、創建版本庫
版本庫(倉庫),英文名repository,庫里的文件修改、刪除都能被Git跟蹤。
1 創建一個版本庫,首先選擇一個合適的地方,創建一個空目錄:
?
Pwd 命令用于顯示當前目錄。在我的Mac上,這個倉庫位于? ?/Users/Administrator.TPBXKCC9K1NU6KY/learngit
!!!如果你使用Windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。
2 通過 git init 命令把這個目錄變成Git可以管理的倉庫:
瞬間倉庫就建好了,這是一個空倉庫(empty Git repository)。當前目錄下有一個.git目錄,這個目錄是Git來跟蹤管理版本庫。
?
如果沒有看到.git目錄,是因為這個目錄默認是隱藏的,用ls –ah命令可以看見。
3 把文件添加到版本庫
注意:所有的版本控制系統,只能跟蹤文本文件的改動,如TXT文件,網頁多有程序代碼等。版本控制系統可以明確告訴每次的改動。但是視頻和圖片這些二進制文件,雖然也能由版本控制系統管理,但是無法跟蹤文件的變化。Microsoft的Word格式是二進制格式,因此版本控制系統是無法跟蹤Word文件改動。
使用Windows的要注意:不要使用Windows自帶的記事本編輯任何文本文件。會出現錯誤。下載Notepad++代替記事本,把默認編碼設置為UTF-8 without BOM。
現在開始添加一個readme.txt文件。這個文件必須要放在learngit目錄下,子目錄下也可以。
第一步,用命令 git add告訴Git,把文件添加到倉庫
?
執行這個命令,沒有任何顯示說明添加成功。
第二步,用命令git commit 告訴Git,把文件提交到倉庫。
?
解釋一下git commit 命令,-m 后面輸入的是本次提交的說明,可以輸入任何內容,最好寫標注信息,方便從歷史記錄中找到修改記錄。
命令執行成功后會告訴你,一個文件別改動,插入兩行內容(readme.txt有兩行內容)。
因為commit可以一次提交很多文件,可以多次add不同的文件。所以需要add,commit兩部提交文件:
?
4修改倉庫中文件(readme.txt)的內容。
運行git status ,該命令可以讓我們時刻掌握倉庫當前的狀態。
?
git diff 能夠知道之前修改的內容。紅色文字是修改之前的,綠色文字是修改之后的。
?
提交修改和提交新文件是一樣的兩步:
第一步,git add :? $ git add readme.txt。 沒有任何輸出
第二部,執行之前,先運行git status查看當前倉庫狀態:
?
git status告訴我們,將要被提交的修改包括readme.txt,然后就可以放心的提交了:
?
再次查看倉庫狀態:
?
二、版本回退
版本庫中的文件不斷的被修改。當文件錯亂或誤刪等其他狀況發生時,還可以從最近的一個commit恢復。
我們可以用git log命令查看歷史記錄,顯示的是從近到遠的提交日志:
?
如果輸出信息太多,看的眼花繚亂,可以試試加 –pretty=oneline 參數:
?
提示:前邊一大串黃色字體是commit id (版本號) ,和SVN不一樣,git不是使用1,2,3…遞增的數字,是SHA1計算出來的一個強大的數字,用十六進制表示。因為git是分布的版本控制系統,后面要研究多人在同一版本庫里工作,如果都用1,2,3作為版本號,就會有沖突。每提交一個新版本,git會把它們自動串成一條時間線。
Git中HEAD表示當前版本,上一個是HEAD^,上上一個版本HEAD^^,往上100個攜程HEAD~100.
回退到上一個版本,使用git reset:
?
$ cat readme.txt 查看當前版本內容(確定是上一個版本的內容):
?
此時查看版本記錄,change it’s nice 已經沒有了:
?
回到未來的某個版本,$ ?git reset –hard 版本號,版本號寫前幾位就可以:
?
當忘記想要回退到的版本號,可以使用git reflog
?
三、工作區和暫存區
工作區(Working Directory)
就是在電腦中能看到的目錄,如?learngit?文件夾就是一個工作區
版本庫(Repository)
工作區中有一個隱藏目錄 .git ,?這個不是工作區,是Git的版本庫。
版本庫中有很多東西,其中state(或index),還有Git為我們自動創建第一個分支master,以及指向master的一個指針HEAD
上傳文件:
?第一步,git add ,就是把文件修改添加到暫存區;
?第二步,git commit,實際就是把暫存區的內容提交到當前分支。
?
只有將修改的文本文件 git add 加到暫存區stage中,才能使用git commit 添加到master中
四、撤銷修改
1、 git checkout -- file 可以丟棄工作區的修改
上述命令表示把readme.txt文件在工作區的修改全部撤銷,這里有2種情況:
一種是readme.txt自修改后還沒放到暫存區,撤銷修改就回到和版本庫一模一樣的狀態;
一種是readme.txt已經添加到暫存區后,又作了修改,撤銷修改就回到添加到暫存區的狀態。
撤銷修改就是回到最近一次git commit 或 git add 時的狀態
2、 git reset HEAD file 可以把暫存區的修改撤銷掉,重新放回工作區
?
五、刪除文件
在Git中,刪除也是一個修改操作。
一般情況,通常直接在文件管理器中把沒用的文件刪了,或者使用 rm file 命令刪除
現在,有兩個選擇:
一個是,確實要從版本庫中刪除該文件,就用 git rm 刪除,并且 git commit -m "xxx"
此時,文件就從版本庫中刪除了。
另一個是刪錯了,因為版本庫中還有,所以可以把誤刪的文件恢復到最新版本中:
$ ?git ?checkout ?--file
?
?
?
轉載于:https://www.cnblogs.com/zmr2520/p/5953768.html
總結
以上是生活随笔為你收集整理的Git使用学习笔记 (一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 生成二维码
- 下一篇: 160921、React入门教程第一课-