1. 程式人生 > 遊戲 >《往日不再》開發商打造全新IP 多人模式成重要玩法

《往日不再》開發商打造全新IP 多人模式成重要玩法

一:什麼是Git

Git是目前最先進的分散式版本控制系統,所謂的版本控制(Revison control)是一種在開發的過程中用於管理我們對檔案、目錄或工程等內容的修改歷史,方便檢視更改歷史記錄,備份以便恢復以前的版本的軟體工程技術(簡單說就是用於管理多人協同開發專案的技術)。Git是分散式版本的控制系統,沒有中央伺服器,每個人的電腦就是一個完整的版本庫,工作的時候不需要聯網了,因為版本都在自己電腦上。協同的方法是這樣的:比如說自己在電腦上改了檔案A,其他人也在電腦上改了檔案A,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。。(其他主流版本控制系統包括:SVN,CVS,VSS等)

Git常用術語:

二:基於Git的程式碼託管平臺(倉庫)

目前基於 Git 做版本控制的程式碼託管平臺有很多種,比較流行的服務有 Github、Bitbucket、 GitLab、 Coding。

(1)GitHub

GitHub 是第一個供“用Git進行版本控制系統的軟體開發專案”使用的基於Web的程式碼託管服務,是目前全球最大的開源社交程式設計及程式碼託管網站。GitHub 於 2008 年 4 月 10 日正式上線,除了基本的服務以外,還提供了訂閱、討論組、文字渲染、線上檔案編輯器、協作圖譜(報表)、程式碼片段分享(Gist)等功能。

(2)Bitbucket

BitBucket 是 2008 年建立的原始碼託管網站,採用 Mercurial 和 Git 作為分散式版本控制系統,同時提供免費賬戶和商業計劃。2010 年被 Atlassian 收購,與 Atlassian 的其他服務(Git GUI SourceTree、HipChat、Cloud9)順利整合,主要面向慈善企業和企業使用者/其主要市場是大型企業。

(3)GitLab

GitLab 是一個利用 Ruby on Rails 開發的開源應用程式,實現一個自託管的 Git 專案倉庫,可通過 Web 介面進行訪問公開的或者私人專案。

(4)Coding

Coding 是一個面向開發者的雲端開發平臺,目前提供程式碼託管,執行空間,質量控制,專案管理等功能。此外,還提供社會化協作功能,包含了社交元素,方便開發者進行技術討論和協作。2016 年 3 月 CODING 宣佈收購程式碼託管平臺 GitCafe。也許是目前國內體驗最接近 github 的產品。

三:Git理論

(1)工作區域

Git本地有三個工作區域:工作目錄(Working Directory)、暫存區(Stage/Index)、資源庫(Repository或Git Directory)。如果在加上遠端的git倉庫(Remote Directory)就可以分為四個工作區域。檔案在這四個區域之間的轉換關係如下:

  • Workspace:工作區,就是你平時存放專案程式碼的地方
  • Index / Stage:暫存區,用於臨時存放你的改動,事實上它只是一個檔案,儲存即將提交到檔案列表資訊
  • Repository / History:倉庫區(或本地倉庫),就是安全存放資料的位置,這裡面有你提交到所有版本的資料。其中HEAD指向最新放入倉庫的版本
  • Remote:遠端倉庫,託管程式碼的伺服器,可以簡單的認為是你專案組中的一臺電腦用於遠端資料交換

本地的三個區域確切的說應該是git倉庫中HEAD指向的版本

  • Directory:使用Git管理的一個目錄,也就是一個倉庫,包含我們的工作空間和Git的管理空間。
  • WorkSpace:需要通過Git進行版本控制的目錄和檔案,這些目錄和檔案組成了工作空間。
  • .git:存放Git管理資訊的目錄,初始化倉庫的時候自動建立。
  • Index/Stage:暫存區,或者叫待提交更新區,在提交進入repo之前,我們可以把所有的更新放在暫存區。
  • Local Repo:本地倉庫,一個存放在本地的版本庫;HEAD會只是當前的開發分支(branch)。
  • Stash:隱藏,是一個工作狀態儲存棧,用於儲存/恢復WorkSpace中的臨時狀態。

(2)工作流程

git的工作流程一般是這樣的:

1、在工作目錄中新增、修改檔案;

2、將需要進行版本管理的檔案放入暫存區域;

3、將暫存區域的檔案提交到git倉庫。

因此,git管理的檔案有三種狀態:已修改(modified),已暫存(staged),已提交(committed)

日常使用只要記住下圖的6個命令:

以上內容參考:

https://zhuanlan.zhihu.com/p/23007198

https://www.cnblogs.com/best/p/7474442.html