1.瞭解SVN與Git的最主要的區別?git
SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,而幹活的時候,用的都是本身的電腦,因此首先要從中央服務器哪裏獲得最新的版本,而後幹活, 幹完後,須要把本身作完的活推送到中央服務器。集中式版本控制系統是必須聯網才能工做,若是在局域網還能夠,帶寬夠大,速度夠快,若是在互聯網下,若是網 速慢的話,就納悶了。服務器
Git是分佈式版本控制系統,那麼它就沒有中央服務器的,每一個人的電腦就是一個完整的版本庫,這樣,工做的時候就不須要聯網了,由於版本都是在本身的電腦 上。既然每一個人的電腦都有一個完整的版本庫,那多我的如何協做呢?好比說本身在電腦上改了文件A,其餘人也在電腦上改了文件A,這時,大家兩之間只需把各 自的修改推送給對方,就能夠互相看到對方的修改了分佈式
最後仍是以爲git烏龜方便快捷 放棄SVN~啊哈哈哈哈~後面有須要再學習;學習
2.Git經常使用指令:命令行
1.git add readme.txt添加到暫存區3d
2.命令 git commit告訴Git,把文件提交到倉庫版本控制
3.命令git status來查看是否還有文件未提交日誌
4.用git status來查看下結果blog
具體使用效果以下:it
第一步:使用命令 git add readme.txt添加到暫存區裏面去。以下:
若是和上面同樣,沒有任何提示,說明已經添加成功了。
第二步:用命令 git commit告訴Git,把文件提交到倉庫。
" "
如今咱們已經提交了一個readme.txt文件了,咱們下面能夠經過命令git status來查看是否還有文件未提交,以下:
說明沒有任何文件未提交,可是我如今繼續來改下readme.txt內容,好比我在下面添加一行2222222222內容,繼續使用git status來查看下結果,以下:
上面的命令告訴咱們 readme.txt文件已被修改,可是未被提交的修改。
接下來我想看下readme.txt文件到底改了什麼內容,如何查看呢?能夠使用以下命令:
git diff readme.txt 以下:
如上能夠看到,readme.txt文件內容從一行11111111改爲 二行 添加了一行22222222內容。
知道了對readme.txt文件作了什麼修改後,咱們能夠放心的提交到倉庫了,提交修改和提交文件是同樣的2步(第一步是git add 第二步是:git commit)。
以下:
二:版本回退:
如上,咱們已經學會了修改文件,如今我繼續對readme.txt文件進行修改,再增長一行
內容爲33333333333333.繼續執行命令以下:
如今我已經對readme.txt文件作了三次修改了,那麼我如今想查看下歷史記錄,如何查呢?咱們如今能夠使用命令 git log 演示以下所示:
git log命令顯示從最近到最遠的顯示日誌,咱們能夠看到最近三次提交,最近的一次是,增長內容爲333333.上一次是添加內容222222,第一次默認是 111111.若是嫌上面顯示的信息太多的話,咱們能夠使用命令 git log –pretty=oneline 演示以下:
如今我想使用版本回退操做,我想把當前的版本回退到上一個版本,要使用什麼命令呢?能夠使用以下2種命令,第一種是:git reset –hard HEAD^ 那麼若是要回退到上上個版本只需把HEAD^ 改爲 HEAD^^ 以此類推。那若是要回退到前100個版本的話,使用上面的方法確定不方便,咱們能夠使用下面的簡便命令操做:git reset –hard HEAD~100 便可。未回退以前的readme.txt內容以下:
若是想回退到上一個版本的命令以下操做:
再來查看下 readme.txt內容以下:經過命令cat readme.txt查看
能夠看到,內容已經回退到上一個版本了。咱們能夠繼續使用git log 來查看下歷史記錄信息,以下:
咱們看到 增長333333 內容咱們沒有看到了,可是如今我想回退到最新的版本,如:有333333的內容要如何恢復呢?咱們能夠經過版本號回退,使用命令方法以下:
git reset –hard 版本號 ,可是如今的問題假如我已經關掉過一次命令行或者333內容的版本號我並不知道呢?要如何知道增長3333內容的版本號呢?能夠經過以下命令便可獲取到版本號:git reflog 演示以下:
經過上面的顯示咱們能夠知道,增長內容3333的版本號是 6fcfc89.咱們如今能夠命令
git reset –hard 6fcfc89來恢復了。演示以下:
能夠看到 目前已是最新的版本了。