Git配置和使用?Git你真的會用麼?Git與SVN的主要區別
1、Git環境配置
下載地址:https://git-scm.com/ 也就是Git官網
官網下載太慢,我們可以使用淘寶映象下載:http://npm.taobao.org/mirrors/git-for-windows/
下載完成後,傻瓜式安裝即可
安裝完成後,我們在開始選單Git項選單小有3個程式:
Git Bash:Unix與Linux風格的命令列,目前使用最多,推薦
Git CMD:Windows風格的命令列
Git GUI:圖形介面的Git,不建議初學者使用,儘量先熟悉命令
2、基本的Linux命令學習:
- cd:改變目錄
- cd.. : 返回上一級目錄
- pwd:顯示當前所在的目錄路徑
- ls:列出當前目錄中的所有檔案
- touch:新建一個檔案 如:touch test.txt 此時就會在當前目錄下新建一個test.txt檔案
- rm:刪除一個檔案 如:rm test.txt
- mkdir:新建一個目錄 如:mkdir test
- rm -r:刪除一個目錄 如:rm -r test
- mv:移動檔案 如:mv test.txt test
- reset:重新初始化終端/清屏
- clear:清屏
- history:檢視命令歷史
- help:幫助
- exit:退出
- #表示註釋
3、Git必須要的配置
Git的相關配置檔案
\Git\etc\gitconfig Git安裝目錄下的gitconfig --system系統級 C:\Users\Administrator 只配置當前登入使用者的配置 --global全域性
點選Git Bash,設定自己的使用者名稱和密碼:
git config --global user.name "使用者名稱" git config --global user.gmail "郵箱"
檢視系統級配置
git config --system --list
檢視當前配置
git config -l
檢視自己的使用者名稱和密碼(郵箱)
git config --global --list
4、Git理論(重點) 來源於:https://www.cnblogs.com/utank/p/12180064.html
Git本地有三個工作區域:工作目錄(Working Directory)、暫存區(Stage/Index)、資源庫(Repository或Git Directory)。如果加上遠端的git倉庫就可以分為四個工作區域,它們之間的轉換如下:
圖1
- Workspace:工作區,就是你平時存放專案程式碼的地方
- Index / Stage:暫存區,用於臨時存放你的改動,事實上它只是一個檔案,儲存即將提交到檔案列表資訊
- Repository:倉庫區(或本地倉庫),就是安全存放資料的位置,這裡面有你提交到所有版本的資料。其中HEAD指向最新放入倉庫的版本
- Remote:遠端倉庫,託管程式碼的伺服器,可以簡單的認為是你專案組中的一臺電腦用於遠端資料交換
本地的三個區域確切的說應該是git倉庫中HEAD指向的版本
圖2
- Directory:使用Git管理的一個目錄,也就是一個倉庫,包含我們的工作空間和Git的管理空間。
- WorkSpace:需要通過Git進行版本控制的目錄和檔案,這些目錄和檔案組成了工作空間。
- .git:存放Git管理資訊的目錄,初始化倉庫的時候自動建立。
- Index/Stage:暫存區,或者叫待提交更新區,在提交進入repo之前,我們可以把所有的更新放在暫存區。
- Local Repo:本地倉庫,一個存放在本地的版本庫;HEAD會只是當前的開發分支(branch)。
- Stash:隱藏,是一個工作狀態儲存棧,用於儲存/恢復WorkSpace中的臨時狀態。
5、Git工作流程
git的工作流程一般是這樣的:
1、在工作目錄中新增、修改檔案;
2、將需要進行版本管理的檔案放入暫存區域;
3、將暫存區域的檔案提交到git倉庫。
因此,git管理的檔案有三種狀態:已修改(modified),已暫存(staged),已提交(committed)
圖3
理論在於實踐:記住何使用這幾個命令
#提交到暫存區
git add files
#提交到倉庫區 git commit
#提交到遠端倉庫 git push
#以下是一個回匯的命令 git pull git reset git checkout
#參考圖1
6、Git建立本地倉庫
建立本地倉庫有兩種方式:一建立全新的倉庫,二克隆遠端倉庫
建立全新的倉庫命令:
git init
從遠端克隆git倉庫命令:
git clone [url]
Git與SVN的主要區別?
SVN是集中式版本控制系統,版本庫是集中放在中央伺服器的,而工作的時候,用的都是自己的電腦,所以首先要從中央伺服器得到最新的版本,然後工作,完成工作後,需要把自己做完的東西推送到中央伺服器,而且集中式版本控制必須要有網際網路才能工作,對網路寬頻要求較大
Git是分散式版本控制系統,沒有中央伺服器,每個人的電腦就是一個完整的版本庫,工作的時候不需要聯網了,因為版本都在自己的電腦上。協同的方法是這樣的:比如自己在電腦上改了檔案A,其他人也在電腦改了檔案A,這時兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。Git可以直接看到更新了哪些程式碼和檔案!
Git是目前世界上最先進的分散式版本控制系統