Unity實驗室之版本管理工具git的配置

前言

選擇Unity版本之後,下載並安裝好(怎麼樣安裝就不說了,自行研究:-)),就該考慮建項目的事情了,是不是很想安裝完就立即建項目體驗一把呢?先別急,在建之前還有一些事情要考慮,那就是版本管理工具的選擇:對於版本管理工具的選擇,有人選擇使用SVN,有人選擇使用VSS,有人使用CVS,有人使用Git,筆者不想在這裏討論哪個好,哪個壞?因爲筆者曾遇到過這方面的爭論,所以在這裏也不想說服誰去用什麼?那筆者的推薦是什麼呢?是Git,這也是今天要說的重點。如果想看比較,知乎上這篇討論說的比較好,這裏只介紹具體Git的操作,如果打算更深入的瞭解Git及背後原理,戳這裏

Git本地配置

首先要說的是git的本地配置,在命令行下切到項目所在的根目錄下,運行
git init
你的項目就開始被git管理了。
image
上圖是筆者項目情況,設置好git後就可以準備提交了。接下來介紹一下gitignore文件。

Git ignore

Git ignore是一個非常有用的文件,它可以忽略掉不必被git管理的文件,如上圖中,其實Unity中真正有用的目錄就是Assets目錄和ProjectSettings目錄,我們把其餘的都忽略掉,具體做法是:在項目根目錄下新建一個.gitingore文件,打開後添加如下內容:

.vscode/*
*.csproj
Library/*
Temp/*
obj/*
*.sln

image
這下清淨了

注意:剛纔上面沒加入忽略文件前 的圖,沒有列出Assets目錄,這是因爲Assets目錄是空的,git不會列出空目錄,也不會管理空目錄,但有時留空目錄是爲了設計的需要,那怎麼辦呢?可以在空目錄里加一個.gitupkeep文件,這樣空目錄就可以在git下顯示出來了

之後運行

git commit -m "init(填寫自己的描述)"
就提交給git管理了。

Git服務端的架設

多人協作項目,首先要架設一臺Git服務器做中轉,Git服務器可以選擇自己準備的機器搭建,也可以選擇使用github。

自己搭建步驟

自己在內網搭建的優點是訪問速度快,代碼比較安全缺點是需要自己準備一臺機器,在家不能訪問(當然可以搭建VPN訪問)

生成裸倉庫

現在看如何搭建,這裏的搭建環境是Linux系的系統:
在開始架設Git服務器前,需要把現有倉庫導出爲裸倉庫–即一個不包含當前工作目錄的倉庫。因爲服務器只需要保存git記錄。不需要項目文件。通過Clone命令加–bare參數就可以

$git clone --bare my_project my_project.git
這個命令類似cp命令的效果:
cp -Rf my_project/.git my_project.git
這個操作的目的都是爲了取出Git倉庫自身,不要工作目錄,然後特別爲它單獨創建一個目錄。有了這個倉庫,接下來開始配置服務器,服務器配置好後,將祼倉庫放上面,設置好訪問權限就可以了。

配置服務器

首先git是需要設置訪問協議的,git有許多種協議,具體瞭解可自行Google,我們這裏採用SSH協議。並假設操作系統是標準的Linux發行版如Ubuntu.
- 客戶端使用ssh-keygen生成私鑰和公鑰

```$ssh-keygen -t rsa```<br>
默認會在/Users/{yourusername}/.ssh下生成id_rsa.pub,之後服務器會需要。

- 創建一個操作系統用戶git,並建立一個.ssh目錄
$sudo adduser git
$su git
$cd
$mkdir .ssh && chmod 700 .ssh
$touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

- 向authorized_keys文件中添加開發者SSH公鑰
將id_rsa.pub加入authorized_keys末尾
$cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
- 將生成的my_project.git放到服務器上,設置好權限,就可以了
- 客戶端通過如下命令和遠程建立聯繫:
$cd myproject
$ git init
$ git add .
$ git commit -m "initial commit"
$ git remote add origin git@gitserver:/opt/git/project.git
$git push origin master

也可以直接clone
$git clone git@gitserver:/opt/git/project.git

總結

這樣我們的git就搭建好了,有了git的強大管理能力,我們就可以着手開始項目開發的事情了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章