Как я могу разместить Git-репозитории и самостоятельно управлять хостингом своего контента?

Такие вещи, как Github, Bitbucket, DropBox - управляют хостингом контента, таким как тикеты и хостинг репо (БД не тикеты, но может использоваться для хранения репо). Мне нужно решение, где я бы сам управлял хостингом контента, таким как Git-репозитории и тикеты.

Trial 0: trying to tune Git, too time-consuming

I followed the instructions here but some difficulties then I followed a lot of other tutorials with much more difficulties. I got cloning with "git clone --bare xxx xxx.git; cd xxx; git update-server-info" working but unable to push things with "--shared", got fed up to this kind of manual hacks. There is too much material, too much irrelevant material and too much outdated material.

Повторюсь, я хочу сделать контент-хостинг сам. Так как я могу разместить свои репозитории git?

Perhaps related

Git repository server I can host locally

Recommendation for code hosting of personal projects

 user84942513 июн. 2012 г., 05:06
Linux, Mac или Windows?
 hhh13 июн. 2012 г., 17:51
@Michael: спасибо за уведомление, я прояснил вопрос, когда понял, что вы имеете в виду - да, я хочу сделать хостинг контента сам.
 user84942513 июн. 2012 г., 05:11
@yasouser Еще лучше может бытьbitbucket.org, Они допускают неограниченное количество бесплатных частных репозиториев (с максимальным количеством соавторов, конечно).
 yasouser13 июн. 2012 г., 05:07
Вы смотрели здесь:windows.github.com

Ответы на вопрос(2)

Решение Вопроса

On The Server

Create a user account called git which has permissions over your main git project directory. This is useful for allowing all collaborators to push on shared projects.

Add the RSA public key for each of your client machines to the authorized_keys file on the server. (You can generate a private-public key pair using ssh-keygen -t rsa -b 4096 on most Linux distributions.)

Create a new bare repository for your project as the git user. git init myproject --bare

On the Client

Turn on private key authentication by enabling the IdentifyFile in your ssh_config.

Clone the bare repository. git clone [email protected]<server>:/var/git/myproject

Make your changes.

Commit the changes and push them back to the remote repo. git push origin master

Если вам нужны более конкретные инструкции (например, точные команды для создания учетной записи пользователя), ознакомьтесь с официальнымPro Git книга.

 hhh13 июн. 2012 г., 17:39
+1 молодец, чисто и хорошо написано! Мне нравится ваш способ вырезать такие дополнения, как gitolite, redmine, github, bitbucket, dropbox - лучше четко изложить основы.

Вот и Redmine (управляет рабочим процессом во многих репозиториях)Вот, Если у вас нет необходимости в управлении разрешением, пожалуйста, воспользуйтесь решением Михаэля. Если вам не нужно управлять многими репозиториями, забудьте Redmine (полезно со многими репозиториями). Материалы здесь содержат то же, что и в ответе Михаэля, но на сторонних сайтах и некоторые дополнения, которые могут вам понадобиться при расширении ваших проектов.

0. Git + SSH -keypair (Please, see the Michael's answer and below some outlining.)

If you are unable to do this, do not proceed forward -- this method shows the basic way of using bare -repos to content-host your repos. It takes some 2 minutes' time to do it, simply:

On server

$ git init --bare test.git

On client

$ eval `ssh-agent`
$ ssh-add ~/your_auhorized_key_in_server
$ git clone [email protected]:test.git

1. Gitolite (managing perms of a team with different skills)

excellent step-by-step tutorial here (notice the "~/.ssh/authorized_keys" -file must have only gitolite -user)

check out repository -addition/removal here, yes it is that simple -- you just configure the config -file and then "$ git add .; git commit -m "new repos, old dead" and "$ git push"

"$ ssh [email protected] info" shows you the configuration

        hello hhh, this is [email protected] running gitolite3 v3.03-29-g3c0f177 on git 1.7.4.5

         R W    helloworld
         R      gitolite-admin
         R W    testing

Cloning a repository under gitolite

$ git clone [email protected]:helloworld

2. Redmine/Trac/etc (managing workflow over repos in a central GUI place)

Instructions here for Redmine and be sure not to clone the unstable development branch in Github. You need to download some stable archieve. However, I would probably go with Trac, comparison here. Redmine was some Rails -hack and unstable master -branch does not sound good.

3. Ticgit/etc (managing tickets without thirdparty dependencies)

Bremner outlined this issue here but notice this ticket here, things still in very bad shape. General thread here.

 hhh19 авг. 2012 г., 18:37
Заменители Trac / Redmine, вы можете также проконсультироваться с Gerrit / Gitslave - подробнееhere.
 13 июн. 2012 г., 23:29
Просто предложение, но вы можете добавить ссылку наGit on the Server - Gitolite, Похоже, это часть официальной документации git-scm.

Ваш ответ на вопрос