Git是目前世界上最早進的分佈式版本控制系統!
git
主流的版本控制器有以下這些:數據庫
- Git(影響力最大使用最普遍)
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Microsoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Studio Online
版本控制分類:安全
下載網址:Gitbash
在安裝以前首先確保已經卸載:服務器
安裝成功後開始菜單中有如下三個程序;任意文件夾下右鍵也能夠看到對應的程序。
網絡
全部的配置文件都保存在本地ssh
查看當前關於Git的全部配置:分佈式
git config -l
查看Git的系統相關配置:ui
git config --system --list
查看本地Git相關配置(用戶配置):url
git config --global --list
Git相關的配置文件:
Git\etc\gitconfig
: Git安裝目錄下的gitconfig --system 系統級C:\Users\Administrator\.gitconfig
: 只適用於當前登陸用戶的配置 --global 全局配置用戶信息(用戶名與郵箱,必要配置):
git config --global user.name "Sino" git config --global user.email "12345678@qq.com"
只需作一次這個設置,傳遞了--global選項,Git將老是會使用該信息來處理在系統中作的一切操做。若是但願在特定項目中使用不一樣的名稱或email地址,能夠在該項目中運行此命令而不要--global選項。
Git本地有三個工做區域:
工做目錄(Working Directory)
暫存區(Stage/Index)
資源庫(Repository或Git Directory)
若是再加上遠程的git倉庫(Remote Directory)就能夠分爲四個工做區域。
轉換關係以下圖:
Git的工做流程通常是這樣的:
平常使用記住下圖6個命令:
本地倉庫搭建:
建立本地倉庫的方法有兩種:一種是建立全新的倉庫,另外一種是克隆遠程倉庫。
建立全新的倉庫,須要用GIT管理的項目的根目錄執行:
在當前目錄新建一個Git代碼庫
$ git init
執行後能夠看到,僅僅在項目目錄多出了一個.git目錄,關於版本等的全部信息都在這個目錄裏面。
克隆遠程倉庫
另外一種方式是克隆遠程目錄,因爲是將遠程服務器上的倉庫徹底鏡像一份至本地!
$ git clone [url] # https://gitee.com/sino/test.git
# 查看指定文件狀態 git status [filename] # 查看全部文件狀態 git status # 添加全部文件到暫存區 git add . # 提交暫存區中的內容到本地倉庫 -m 提交信息 git commit -m "消息內容"
有些時候咱們不想把某些文件歸入版本控制中,好比數據庫文件,臨時文件,設計文件等。
在主目錄下創建.gitignore
文件,此文件有以下規則:
#爲註釋 *.txt #忽略全部 .txt結尾的文件,這樣的話上傳就不會被選中! !lib.txt #但lib.txt除外 /temp #僅忽略項目根目錄下的temp文件,不包括其它目錄temp build/ #忽略build/目錄下的全部文件 doc/*.txt #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
# 進入 C:\Users\Administrator\.ssh 目錄 # 生成公鑰 ssh-keygen
3. 將公鑰信息public key添加到碼雲帳戶中便可
4. 使用碼雲建立一個本身的倉庫
git分支中經常使用的命令:
# 列出全部本地分支 git branch # 列出全部遠程分支 git branch -r # 新建一個分支,但依然停留在當前分支 git branch [branch-name] # 新建一個分支,並切換到該分支 git checkout -b [branch] # 合併指定分支到當前分支 $ git merge [branch] # 刪除分支 $ git branch -d [branch-name] # 刪除遠程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch] # 切換到指定分支,並更新工做區 $ git checkout [branch-name] # 切換到上一個分支 $ git checkout -
master主分支應該很是穩定,用來發布新版本,通常狀況下不容許在上面工做,工做通常狀況下在新建的dev分支上工做,工做完後,好比上要發佈,或者說dev分支代碼穩定後能夠合併到主分支master上來。