Настройка Git Repository на удаленном сервере Windows?


22

У меня есть сервер Windows, к которому я могу получить доступ локально или удаленно через Интернет через подключение к удаленному рабочему столу и т. Д.

Я хочу создать git-репозиторий (что-то похожее на «trunk» в subversion), который может содержать серию репозиториев для нескольких проектов.

Кто-нибудь знает, как я это делаю? Я хочу сделать это с помощью графического интерфейса, если это возможно. Я следовал этому Git Bash Tutorial, но он очень длинный и не совсем то, что я хочу.

Я использую Git-клиент MSYSGIT. Используя это, я просто хочу иметь возможность настроить удаленные репозитории и начать фиксировать исходный код.

Любая помощь будет принята с благодарностью!

Ответы:


13

В наши дни есть функция загрузки «smart HTTP», которая может даже заменить доступ по SSH. Больше не требуется генерация закрытых ключей, и установка должна быть проще, потому что компонент сервера может быть написан на любом языке по вашему выбору:

Если все не удается, вы также можете настроить сервер Apache и использовать стандартный git-http-backendдвоичный файл CGI, см. « Каковы действия по настройке git-http-backend с Apache в Windows?


Обратите внимание, что «эти дни» прошли более 2 лет назад. Как главный ответ, мне было бы интересно узнать, изменилось ли что-нибудь в вашем уме?
RyanW

Ну, оба одинаково поддерживаются в Linux, и оба должны остаться. Сейчас я мало что знаю о ситуации с Windows *, за исключением того, что я ожидаю, что поддержка HTTP будет предпочтительным решением. * так как я в основном на Mac / Linux "в эти дни";)
vdboor

Привет @vdboor У меня есть один вопрос. Если мы используем ssh, у нас может быть аутентификация с открытым ключом, поэтому нам не нужно отправлять пароль каждый раз, когда мы хотим получить или отправить. Эта функция единого входа доступна в Smart Httpметоде? Я имею в виду указание пароля один раз для всех действий push / pull на сервере.
Амир Хоссейн


2

Вы можете использовать Cygwin + SSH + Gitosis для удовлетворения этих потребностей, но, к сожалению, это не будет простой процесс установки по принципу «укажи и щелкни». Я написал подробное сообщение в блоге о своем недавнем опыте (включая процедуру установки).

Что касается вашего требования, чтобы это было в первую очередь графическим интерфейсом, я бы рекомендовал, чтобы на всех ваших клиентских системах был установлен TortoiseGit . Это предотвратит необходимость использования командной строки для добавления, фиксации, push / pull и так далее.


Какой вариант SSH Client лучше всего использовать? - TortoisePLink один или OpenSSH?
Губер

Любой из них работает, но, вероятно, лучше использовать openSSH, если у вас нет причин поступать иначе - если нет, придерживайтесь значений по умолчанию.
Марк Эмблинг

1

Вы можете настроить его под Cygwin :

Если вы выберете Cygwin, вы можете сделать это только на сервере и запустить git-daemon под Cygwin, но по-прежнему использовать msysgit на клиентах.

Заставить git работать правильно из cygwin


Следует отметить, что git-daemon предоставляет доступ только по протоколу git: // (не ssh или file) и доступен только для чтения. Чтобы обеспечить доступ для записи, это должно быть сделано через ssh или файловую систему (или абстракцию над ней).
Марк Эмблинг

Более подробная информация: kernel.org/pub/software/scm/git/docs/…
Марк Эмблинг


1

Gogs , безусловно, стоит посмотреть: простой в использовании (несколько поддерживаемых вариантов установки), кросс-платформенный (включая Windows), легкий, с открытым исходным кодом.


ты пробовал это?
Янус Троелсен

1

Вот несколько вариантов:


Я не собираюсь давать вам отрицательное заключение по этому вопросу исключительно потому, что вы раскрыли свое участие. Это хорошо, но в качестве дружеского напоминания, если все, что вы делаете, это публикуете ссылки на этот продукт, то вы, вероятно, будете отстранены от рассылки спама. Помимо этого - добро пожаловать в Server Fault, мы желаем вам приятного путешествия :-)!
Бен Пилброу

Я очень активный пользователь StackOverflow - это мой первый пост на ServerFault. Спасибо за прием :)
Река Лилит

1
Это не ТОЛЬКО метод GUI - есть также gitstack.com (я не вовлечен в проект и не пробовал). Там также могут быть другие.
rjmunro

Обратите внимание, что этому ответу больше года, и гитстак был введен всего несколько месяцев назад.
Река Лилит

Crappy Environment в Windows .... Бедные пользователи Windows платят ваши доллары за кучу дерьма. :) Вместо этого используйте bonobogitserver.com .
Амир Хоссейн



0

GitStack - это то, что я сейчас оцениваю.

Поскольку я тоже начинаю этот процесс (настройка Git-сервера в Windows), и этому обсуждению уже более года, я подумал, что добавлю это в смесь.



0

Gitlab - отличное решение, включающее веб-интерфейс. Чтобы это работало в соответствии с вашими требованиями.

  1. Включите hyperV на вашем сервере Windows
  2. Раскрути виртуальную машину Linux
  3. Установите Gitlab на ВМ

Gitlab берет 2 гигабайта барана, не разумная идея.
Амир Хоссейн

0

Если у вас есть команда разработчиков из 5-10 человек, я бы предложил использовать vanilla git с ssh. Простота установки и у вас есть SSH для защиты данных при передаче.

Если у вас несколько команд с хорошим оборотом, при условии, что у вас запущен активный каталог Windows, вы можете рассмотреть Atlassian bitbucket. Мы используем bitbucket в основном для следующих требований: 1. Управление git-репозиториями как проектами, где мы можем обеспечить самообслуживание для контроля доступа на уровне проекта. 2. Интеграция входа в LDAP с синхронизацией группы AD. 3. Очень низкие административные усилия.


Не используйте ванильный ssh ​​на Windows. Это дерьмо.
Амир Хоссейн
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.