git和svn


一:Git是什么?
      Git是目前世界上最先進的分布式版本控制系統。
 
二:SVN與Git的最主要的區別? 
SVN為集中式版本控制系統,版本庫是集中存放在中央服務器的;
 
GIT為分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫。
 
 
GitHub,免費的遠程倉庫,如果是個人的開源項目,放到GitHub上是完全沒有問題的。GitHub還是一個開源協作社區,通過GitHub,既可以讓別人參與你的開源項目,也可以參與別人的開源項目。
 
SVN的存儲需要依賴一個服務器,而git所有的東西是放在線上的。節約成本,省時省力。
 
三:在windows上如何安裝Git?
          
          下一步 ---(next)
          安裝成功后會出現這兩個東西
         
           
          運行Git Bash會出現如下結果:
 
      
四. GitHub注冊
          https://github.com/ 打開GitHub官網 。
                                                       熟悉的Hello world,然而並沒有什么用。
     
         安裝結束后需要進行一些設置 
    
    命令   git config --global user.name "你的git名稱"
     命令   git config --global user.email "你的git驗證郵箱"
命令  cd D:  進入 相應的磁盤 
命令  mkdir  '你自己定義的文件夾名' 
命令  cd '你自己定義的文件夾名'
命令  pwd 顯示(你自己定義的文件夾名)的路徑
然后!最重要的步驟來了!!git init
命令  git init
顯示成功后去相應的文件夾中查看是不是多了一個.git文件
     這個文件夾不要亂動!!這個文件夾不要亂動!!這個文件夾不要亂動!!
     這個文件夾就是你的版本庫了,把項目放在文件夾下。
 
     現在進行一個測試。在當前目錄先建立一個readme.           txt文件,並且隨便寫的什么。
 
 
五.如何將文件提交到git服務器。
 
你的本地倉庫由 git 維護的三棵“樹”組成:
  第一個是你的 工作目錄,它持有實際文件;
  第二個是 緩存區(Index),它像個緩存區域,臨時保存你的改動;
  最后是 HEAD,指向你最近一次提交后的結果。
 
1.打開 Git Bash
 
 
命令  git add ‘文件名’
         git add *  表示所有文件添加到暫存區
 
把咱們的文件存放在一個神秘的地方 >>>> 暫存區 (暫存區在本機)
 
2.把文件提交到倉庫中去。
 
 
命令 1 . git commit -m '我提交時候的備注(相當於注釋)'
 
3.查看commit狀態
 
 
命令1  git status  
 
出現 如下提示就說明咱們的commit是成功的。
 
修改下readme.txt里面的內容。並重新使用git status命令 。
 
 
會發現出現了一些變化。git告訴我們,git進行了一些修改,但是這些修改並沒有被提交。
 
4.查看修改內容。
 
 
命令1 git diff 你的文件名  會出現更改信息,發現多了兩個換行, 多了 7654321內容;
 
將更改后的東西提交上去,和之前一樣。先add 然后再commit 。
 
 
5.版本退回
 
 
命令1. git log          ( 查看日志)
           git reflog
退回
 
 
命令 1 . git reset --hard HEAD^  退回到上個版本 如果需要退回好多版本就在后面加上 ^ 例: git reset --hard HEAD^^退回兩個版本。
 
然后去查看readme.txt是否成功退回。
 
6.刪除
 
 
    新建一個 b.txt
 
然后commit到庫中。 並刪除。
 
 
命令1. git add  
 
命令2. git commit -m ‘備注’
 
命令3. rm b.txt  這個是刪除b文件的命令
 
回過頭來看文件夾中的b.txt
 
 
b.txt不見了,查看下狀態。
 
 
可以commit,可以放棄修改  git reset --hard 版本號來回復文件。
 
 
然后連接本地倉庫,並將自己的庫push到服務器中去。
 
 
命令1. git remote add origin https: // github.com/你的賬號/你的項目名
 
命令2. git push -u origin master 將本地的庫推送到master分支 (就是推送到服務器上)
 
在服務器上查看是否推送成功。 
 
從現在開始,只需要git push origin master / git push就可以吧本機的推送過去了。
 
從服務器克隆數據, git clone 
 
 
 
 
將服務器端的數據克隆過來。
 
如果輸入$ git remote add origin  git@github.com:djqiang(github帳號名)/gitdemo(項目名).git
    提示出錯信息:fatal: remote origin already exists.
    解決辦法如下:
    1、先輸入$ git remote rm origin
    2、再輸入$ git remote add origin  git@github.com:djqiang/gitdemo.git 就不會報錯了!
    3、如果輸入$ git remote rm origin 還是報錯的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig文件的內容
    4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
    5、找到一個名為gitconfig的文件,打開它把里面的[remote "origin"]那一行刪掉就好了!
 
獲取遠程倉庫的更新數據
git fetch:相當於是從遠程獲取最新到本地,不會自動merge
git pull:相當於是從遠程獲取最新版本並merge到本地
 
 
生成秘鑰:
(1)首先檢查電腦是否曾經生成過秘鑰
cd ~/.ssh
若打開該文件夾為空,則表示沒有生成過秘鑰,進入第二步。(~表示根目錄)
  (2) 生成秘鑰
ssh-keygen -t rsa -C "your email"
命令要求輸入密碼,不用輸,三個回車即可。
執行成功后,會在主目錄.ssh路徑下生成兩個文件:id_rsa私鑰文件;id_rsa.pub公鑰文件; 
 
登陸github帳戶點擊頭像,然后 Settings -> 左欄點擊 SSH and GPG keys -> 點擊 New SSH key
在遠程倉庫gitlab上添加title和key,和本地的一致。title可以自己取一個容易區分的名字,key為id_rsa.pub中的內容(全部復制,可用cat id_rsa.pub命令打開)
 
 
 

git commit 不輸入 -m 以及后面的內容會進入vim模式

vi & vim 有兩種工作模式:
  • (1) 命令模式:接受、執行 vi & vim 操作命令的模式,打開文件后的默認模式;
  • (2) 編輯模式:對打開的文件內容進行 增、刪、改 操作的模式; 在編輯模式下按下 ESC 鍵,回退到命令模式。
    創建、打開文件:$ vi [filename]
  • (1)使用 vi 加 文件路徑(或文件名)的模式打開文件,如果文件存在則打開現有文件,如果文件不存在則新建文件,並在終端最下面一行顯示打開的是一個新文件。
  • (2)鍵盤輸入字母 “i”或“Insert”鍵進入最常用的插入編輯模式。
    3、保存文件:
  • (1)在插入編輯模式下編輯文件。
  • (2)按下 “ESC” 鍵,退出編輯模式,切換到命令模式。
  • (3)在命令模式下鍵入"ZZ"或者":wq"保存修改並且退出 vi 。
  • (4)如果只想保存文件,則鍵入":w",回車后底行會提示寫入操作結果,並保持停留在命令模式。
    4、放棄所有文件修改:
  • (1)放棄所有文件修改:按下 "ESC" 鍵進入命令模式,鍵入 ":q!" 回車后放棄修改並退出vi。
  • (2)放棄所有文件修改,但不退出 vi ,即回退到文件打開后最后一次保存操作的狀態,繼續進行文件操作:按下 "ESC" 鍵進入命令模式,鍵入 ":e!" ,回車后回到命令模式。
 
 
 
 
 
 


免責聲明!

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



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