一: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

命令1. git clone https://github.com/yanghuaizhi1210/GitTest
將服務器端的數據克隆過來。
如果輸入$ 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!" ,回車后回到命令模式。