建制 Git Server By SSH
from http://hohoac.pixnet.net/blog/post/26997259-%E5%BB%BA%E7%BD%AE-git-server-%28by-ssh%29
如果想要建置GIT SERVER又懶得建HTTP SERVER的話,用SSH是最方便的方式,但是不能看CODE的內容也是蠻麻煩的,等有空再來玩一下HTTP SERVER的建置方式吧
(此篇是實驗性質,完全沒有任何保密安全措施,請勿在開放的網路環境中放置重要的文件及原始碼)
1.安裝套件
首先先安裝必要的套件,基本上是只要裝SSH SERVER跟GIT就可以了,在ubuntu下的話只要下
$ sudo apt-get install openssh-server git-core
就會自動安裝及設定ssh server
2.Server上建立git repository
再來就是在SERVER上建立GIT REPOSITORY
隨便在REMOTE SERVER上的位置(要集中管理也可以)
$ mkdir projectname.git
$ cd projectname.git
$ git --bare init
3.放置原始碼到repo上
就看你原始碼是原先是在Server上還是本機(client),步驟是一樣的沒有什麼差異,端看你的位置不同罷了
$ mkdir project
$ cd project
$ git init
隨便建個檔案
$ touch README
$ git add README
$ git commit -m "commit test"
$ git remote add origin user@SSH_SERVER:projectname.git
$ git push origin master
另外,在push到repo時要先push master上去,不要就先把branches放上去,如果先放branches然後用git clone下來的話,會出現
"warning: remote HEAD refers to nonexistent ref, unable to checkout."
的錯誤,裡面都會是空的資料。
不然就要指定Branch再clone
$ git clone -b "BRANCH_NAME" user@SSH_SERVER:projectname.git local_folder
這樣就會依你之前設定的branch name下載所需要的原碼