DIY Git server by msysGit in windows

  1. DIY Git server by msysGit in windows

DIY Git server by msysGit in windows

原文連結: https://darkblack01.blogspot.com/2013/09/gitdiy-git-server.html
移植時的最後更新日期: 2014-04-10T11:47:16.746+08:00

在公司想架一個git server,但是公司主要的獲利不是寫程式,所以在git server的使用上較沒有太大的需求,基本上就只是幾個會寫程式的同事互相git就好了

一開始什麼都不懂,看了一篇Windows 上架設 Git 伺服器[1]之後覺得,還滿簡單的嘛!

動手吧!

結果還是搞了兩天!= =
這篇文章,寫得有點簡陋,在此做一個補完。

首先,準備兩台電腦,一台是Server(稱S),另一台是Client(稱C),兩台都去下載msysGit
並且安裝好。

寫這篇文章時,最新版是1.8.4,而只要選擇最上面的版本就可以了。

  1. Git-1.8.4-preview20130916.exe
    Full installer for official Git for Windows 1.8.4

  2. PortableGit-1.8.4-preview20130916.7z
    Portable application for official Git for Windows 1.8.4

  3. msysGit-netinstall-1.8.4-preview20130916.exe
    Net installer if you want to hack on Git

  4. msysGit-fullinstall-1.8.4-preview20130916.exe
    Full installer (self-contained) if you want to hack on Git

兩台都灌好之後。

在S電腦上:
  1. 安裝 msysgit(已完成)
  2. 執行 GIT-bash
  3. 在 git bash 裡執行下列指令
  4. mdkir /d/GitRepo # 建立檔案庫資料夾集散地
  5. mkdir /d/GitRepo/testRepo
  6. cd /d/GitRepo/testRepo
  7. git init –bare # 建立 Git repository
讀了一下4.2 服务器上的 Git - 在服务器上部署 Git的官方說明文章。
引用朋友在facebook給我的留言(真是金玉良言呀)
「如果當 central repo 用的話,就建立成 bare repo (git init --bare)」
「這樣作比較好啦,不然一般 repo 基本上是讓你 pull 的 不是讓你 push 的」


利用windows的網芳功能,將S電腦的GitRepo/做成網路磁碟機(G:)

在C電腦上:
  1. 安裝 msysgit(已完成)
  2. 執行 GIT-bash
  3. 在 git bash 裡執行下列指令
  4. mdkir /d/GitRepo # 建立檔案庫資料夾集散地
  5. mkdir /d/GitRepo/testRepo
  6. cd /d/GitRepo/testRepo
  7. git init # 建立 Git repository
這樣一來就可以在強大的(??)IT巨壁之內建立沒有傳輸安全性可言,卻可以運作的Git server。

最後最後,因為我還有使用中文的壞習慣。
所以要設定可以相容中文唷[3]

$ git config --global gui.encoding utf-8


有興趣的人可以在家試試唷!^^



後記
在git add 檔案時,不小心加入了專案檔,讓專案打開關閉都會讓檔案產生「變化」
那麼就要省略它們的變化
建一個.gitignore的文件檔,裡面直接寫你要省略的檔案

.
/debug/.
/release/.
.suo
*.ncb

主要是最後兩個.suo和.ncb,是visual studio的專案檔案之一。
只是因為光打開就會變動,所以才省略它們的變化。

不過因為我把它們git add了,所以必須取消這個追縱。
使用下面的指令取消追縱。[4]

$ git rm --cached your_filename




參考資料:
[1] Windows 上架設 Git 伺服器
[2] 4.2 服务器上的 Git - 在服务器上部署 Git
[3] Git Server on Windows 安裝手記
[4] gitignore 無法忽略檔案的解法