Git基本操作指令


Git是世界上目前最先進的分布式版本控制系統。

工作原理圖:

Workspace工作區,Index暫存區,Repository本地倉庫區,Remote遠程倉庫。

SVN與Git的最主要的區別?

SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,而干活的時候,用的都是自己的電腦,所以首先要從中央服務器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服務器。集中式版本控制系統是必須聯網才能工作,如果在局域網還可以,帶寬夠大,速度夠快,如果在互聯網下,如果網速慢的話,就納悶了。

Git是分布式版本控制系統,那么它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不需要聯網了,因為版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人如何協作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

 

Git基本指令:

1.創建版本庫

(1)找路徑:找到你想創建版本庫的文件夾下;右鍵出現Git.bash here(前提是安裝好了Git)

        或者cd f:->    cd 文件夾名字

                  

(2)把當前目錄升級成git的管理倉庫:指令 git init    之后會在當前文件夾下出現名 .git 隱藏文件夾。

(3)git status指令 查看當前文件夾下有沒有文件/文件夾未提交的:

                 

     上半部分的紅色字體modified:....為已經添加到版本庫的,修改后未提交的文件。(在這說一下,不是一創建版本庫 git init 就把當前文件夾下所有文件放進庫里的,而是需要手動添加。)

     下半部分紅色Untracken files:......就是當前文件夾沒有添加到版本控制庫里的文件;

(4)git add  test.txt 指令,就是把文件或者文件夾添加到版本控制庫里。

       我們可以創建一個testgit文本文件試驗一下,文本內容為111111;

                      

(5)git commit 指令通知git,已經把文件提交到倉庫了。

      

        再用git status查看當前狀態 ,可以看到沒有testgit文件,因為我們已經add了testgit並且commit提交了。而另外兩個文件依然為modified,因為我們一直沒有add他們兩個,所以就像放着把。

                      

       然后我們嘗試修改testgit.txt文件,添加一行222222,再git status查詢一下

                      

                       發先現estgit成了modified:,因為我們修改了還沒提交。

(6)git diff testgit.txt 指令查看文件遇上一個提交版本又哪里不同。

                      

                      可以看到出現了紅色和綠色兩個部分,紅色為之前已提交的內容,綠色為當前修改后 未提交的內容。   之后我們就可以繼續更新版本庫了(git add   +  git commit)             

(7)版本回退git reset -- hard HEAD^:當前testgit.txt已經更改兩次,我們可以用  git log  指令查看每次提交的內容(也就是commit的日志)

                     

      ps:git log是一個功能很強大的指令,這里使用的是git log -- 文件名,限定顯示此文件的提交日志,如果不對git log指令做任何修飾,那么他將會顯示所有的日志信息。讓你的版本庫修改過很多次有很多文件時,那么多信息簡直爆炸。(推薦看一下這個指令的全解析)

                     git log顯示的順序時從近到遠,我們要回退到上個版本的話就要使用  git reset -- hard HEAD^       。(如果要回退前N個版本就可以用指令git reset --hard HEAD~N)

                     

                  會退后,通過命令cat readme.txt查看當前內容發現真的變回去了。

   ***我們也可以根據版本號來回退, git reflog -- testgit.txt(與git log差不多的用法)

                 

     34946b4就是版本號,然后就可以用指令git reset --hard 版本號

(8)撤銷修改指令 git checkout -- 文件名

    應用情景:再未提交前,想要恢復到以前的版本。

                   方法一:手動修改然后add+commit;方法二:回到上一個版本git reset --hard HEAD^

       方法三:git checkout -- testgit.txt   (意思是把testgit.txt文件在工作區做的修改全部撤銷,回到add時的狀態。)

(9)刪除文件指令  rm testgit.txt

    刪除也可以手動右鍵刪除,刪除后有兩個選擇:1.commit提交狀態,徹底刪除;2.從版本庫中恢復文件,也是用git checkout -- testgit.txt 指令

 


 

待完善。。

 

 

    

 

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM