Version Control System,簡稱爲VCS,版本控制系統是一種記錄一個或多個文件的內容變化,以便未來查閱特定版本的內容變化狀況的系統。html
簡單來講,就是用來保存文件內容變動記錄的系統,能夠將文件回退到過去某個時間點的狀態。git
版本控制系統的種類:github
本地版本控制系統shell
版本庫存放在本地磁盤上服務器
缺點:沒法協同開發分佈式
集中化版本控制系統ide
版本庫集中存放在中央服務器上,全部參與人員都鏈接到該服務器,實現協同開發工具
缺點:本身電腦上沒有版本庫,本地沒法進行版本管理,必須鏈接中央服務器才能進行版本控制,若是中央服務器宕機,則沒法工做fetch
表明應用:Subversion(SVN)網站
分佈式版本控制系統
每一個人的電腦上都是一個完整的版本庫,在本地就能夠進行版本管理,無需連網
但通常都會經過遠程倉庫來交換版本的修改
表明應用:Git
Git是一個開源的分佈式版本控制系統,用來進行項目版本管理
其實就是一個軟件, 由一組命令組成,可以對項目代碼進行版本控制
基本流程:
官網:https://git-scm.com
下載:Git-2.22.0-32-bit.exe、Git-2.22.0-64-bit.exe
安裝:只有Windows系統須要手動安裝Git軟件,Linux和Mac OS系統都自帶Git
工具:
git --version
對Git進行初始化配置
# 定義當前系統git的使用者名稱和郵箱,提交代碼時顯示的名字和郵箱 git config --global user.name "tangxiaoyang" git config --global user.email "1049901079@qq.com"
命令 | 做用 | 備註 |
---|---|---|
git init | 初始化本地Git倉庫(項目) | 會在當前目錄中建立一個.git目錄,用於記錄全部的版本變動信息 |
git status | 查看本地倉儲的文件狀態 | |
git add 文件路徑 | 將文件添加到跟蹤列表(暫存區),交由git託管 | -A 或 --all 或 . 表示添加全部文件,也能夠使用*進行匹配 |
git commit | 將跟蹤列表中的文件提交到本地倉庫 | -m指定提交日誌 |
git log | 查看提交日誌 | |
git reset --hard 版本id | 回退到指定版本 | HEAD表示當前的版本 |
git reflog | 查看全部操做記錄 | 包括被回退的版本id、reset操做等 |
注:全部命令都必須在Git倉庫的根目錄下執行
Git文件的四種狀態:
untracked
未跟蹤,表示文件不受git管理, 通常新建的文件處於該狀態 Untracked files
staged
已暫存,表示已對修改的文件作了標記,使之包含在下次要提交的文件跟蹤列表中 Changes to be committed
committed
已提交,表示文件已經被提交到本地倉庫
modified
已修改,表示文件內容已被修改,但沒有作標記 Changes not staged for commit
能夠在git倉庫的根目錄下添加一個名爲.gitignore
的文件,用於指定須要被git忽略的文件或文件夾
注意:
.gitignore
#
開頭的行表示註釋 基於Git的代碼託管平臺,經常使用的Git倉庫:
步驟:
註冊帳號、建立倉庫
添加遠程倉庫的地址
git remote add origin https://gitee.com/tangyang8942/study.git
將本地倉庫的提交記錄推送到遠程倉庫的master分支git push origin master
git pull origin master
命令 | 做用 | 備註 |
---|---|---|
git remote add 倉庫別名 遠程倉庫地址 | 添加遠程倉庫地址 | 倉庫別名能夠自定義,通常默認使用origin |
git remote -v | 查看遠程倉庫信息 | fetch抓取、push推送 |
git remote rm 名稱 | 刪除遠程倉庫地址 | |
git push 名稱 分支 | 將本地倉庫指定分支推送到遠程倉庫 | 通常爲master主分支,默認推送到遠程倉庫的同名分支,沒有則新建 |
git pull 名稱 分支 | 拉取遠程倉庫指定分支中新的數據到本地 | 會與本地倉庫進行merge合併(更新操做,非第一次) |
git clone 遠程倉庫地址 | 克隆遠程倉庫的項目到本地 | 用於從遠端下載git項目(第一次) |
git clone和git pull區別:
分支就是版本上的更新迭代,默認只有master主分支
能夠從主分支上分離出其餘的分支,各分支間互不干擾
命令 | 做用 | 備註 |
---|---|---|
git branch | 顯示全部分支 | 默認只有master分支 |
git branch 分支名 | 建立分支 | |
git checkout 分支名 | 切換分支 |
碼雲提供了免費的靜態網頁託管服務,能夠託管我的的靜態網頁,稱爲碼雲Pages。
兩種方式:
方式一:帶二級目錄,步驟:
建立一個倉庫,倉庫名稱自定義
將本地的靜態資源推送到遠程倉庫
必須提供index.html
頁面,默認訪問的就是該頁面
選擇pages服務
服務——>Gitee Pages——>選擇部署分支master
訪問生成的網站地址
方式2、不帶二級目錄
步驟:
配置Git
Setting——>Version Control——>Git——>指定git命令的執行路徑——>點擊Test
檢出項目
VCS——>Checkout from Version Control——>Git——>指定遠程倉庫的URL和本地存放目錄——>點擊Clone
提交/推送項目
VCS——>Commit——>Commit and Push——>輸入遠程倉庫的帳號和密碼
VCS——>Git——>Push
解決衝突
當本地提交的內容和遠程倉庫的內容有衝突時須要手動解決,進行合併merge
紅色:未加入版本控制 untracked
綠色:已加入控制,未提交 staged
白色,已加入控制,已提交,無改動 committed
藍色:已加入控制,已提交,有改動 modified
灰色:版本控制已忽略文件
視頻課程連接:Git快速入門視頻課程 https://edu.51cto.com/sd/b2c67