Налаштування сервера Git з msysgit в Windows [закрито]


163

Ми з друзями намагаємося налаштувати Git для Windows за допомогою підручника Git Server: Gitosis та Cygwin для Windows , але ми просто продовжуємо виникати проблеми.

Яким буде посібник "Налаштування сервера Git" для Windows з використанням msysgit ?

У підручнику вище коментаря є припущення, що це неможливо зробити за допомогою msysgit, оскільки для гітозу потрібне використання SSH-сервера та Bash? Що таке покрокове керівництво (оскільки немає жодного)?

  1. Встановити mysisgit

  2. ?


* Git для розробників Windows . 3 частини, це посилання на першу. Хороший! * Ілюстрований посібник з Git на Windows * Розширення Git (відео)
Rook

Я використовував цей інструмент на windowsgit.com, як запропонував комп'ютерний лінгвіст після спроб (і невдачі) з описаними вище методами. Це було смішно просто і просто працювало. Добре коштує 9 доларів, IMO.
Едвард Андерсон

Ви можете спробувати Git Candy, платформу Git на базі ASP.NET MVC. Джерело в: github.com/Aimeast/GitCandy , Демонстрація: git.53wb.com
Aimeast

Відповіді:


79

Я знайшов цю публікацію, і я щойно опублікував щось у своєму блозі, що може допомогти.

Див. Розділ Налаштування сервера Msysgit з copSSH для Windows . Це довго, але я успішно отримав це, працюючи на Windows 7 Ultimate x64.


5
Для запису, з того, що я можу сказати, в пункті 5.5 вказівки Тіма, вам потрібно вставити додаткову команду ДО ПЕРЕД #, а не після (інакше це залишається коментованим).
Бенжол

1
Ви можете поглянути на windowsgit.com .
Річка Ліліт

6
Зауважте, що Copssh не надається у sourceforge, і він більше не є безкоштовним станом на 2012 р.
TiansHUo

2
@Tim, чи можете ви розмістити тут вміст свого блогу? Якщо ваш блог переходить в офлайн, то ця відповідь стає марною.
Морська зірка

1
@Starfish - саме для цього web.archive.org! Ось стаття Тіма там: web.archive.org/web/20100207010332/http://www.timdavis.com.au/…
alldayremix

27

Сервер Bonobo Git для Windows

З веб-сторінки сервера Bonobo Git :

Bonobo Git Server для Windows - це веб-додаток, який можна встановити на IIS та легко керувати та підключатись до своїх сховищ git.

Bonobo Git Server - це проект з відкритим кодом, і його можна знайти на github .

Особливості:

  • Безпечний та анонімний доступ до ваших сховищ git
  • Зручний веб-інтерфейс для управління
  • Управління доступом до репозиторію на основі користувачів та команд
  • Браузер файлів репозиторію
  • Ввести веб-переглядач
  • Локалізація

Бред Кінгслі має чудовий підручник з встановлення та налаштування сервера Bonobo Git.

GitStack

Git Stack - ще один варіант. Ось опис їх веб-сайту:

GitStack - це програмне забезпечення, яке дозволяє налаштувати власний приватний Git-сервер для Windows. Це означає, що ви створюєте систему провідних версій без будь-яких попередніх знань Git. GitStack також дуже просто захищає та оновлює ваш сервер. GitStack побудований на вершині справжнього Git для Windows і сумісний з будь-якими іншими клієнтами Git. GitStack є абсолютно безкоштовним для невеликих команд 1 .

1 основне видання безкоштовно для дітей до 2 користувачів


1
GitStack безкоштовний лише для 5 користувачів. Після того, як цей ліміт перевищить, ви розраховуєте щорічні ціни залежно від кількості користувачів. Див. Сторінку Ціноутворення на веб-сайті GitStack.
Саймон Тевсі

2
Зауважимо, що оригінальний розробник сервера Bonobo Git Якуб Чодунський заявив у дописі на форумі 1 січня 2012 року, що більше не може підтримувати проект.
Саймон Тевсі

2
GitStack тепер безкоштовний лише для 2 користувачів.
M4N

2
Bonobo знову активний проект.
Томаш Кубес

2
Просто не забудьте активувати IIS> Послуги WWW> Особливості розробки додатків> ASP.NET 4.5. Bonobo працював для мене там, де GitStack (який навіть не міг використовувати основний msysgit) не зробив, а Bonobo - з відкритим кодом та ліцензією MIT! Це пропонує задоволення для Windows, наскільки я б вважав за краще використовувати для цього апарат Unix.
Буде

26

Що стосується посилання на сторінку Тіма Девіса - Налаштування сервера Msysgit з copSSH для Windows - я використовував це для отримання сервера Git, який працює на Windows 7 Home Premium 64.

Нижче подано посмертне / оновлення того, про що я дізнався, окрім його вказівок.

Як сказав Тім Девіс, це був важкий і розчаровуючий процес, принаймні для мене - я не надто хороший в інтеграції подібного роду, але я багато чому навчився. Сподіваюся, мій біль принесе користь комусь іншому в майбутньому, адже це був важкий процес.

  1. Існує крок, щоб скопіювати всі виконувані файли Git у свою каталог бін CopSsh. Замість того, щоб копіювати файли і не з'ясовувати, які файли потрібні, додайте шлях до git bin у свій git шлях. Я зробив це, змінивши свій .bashrc та CopSsh профіль.

    Ось що я додав у .bashrc (у домашньому каталозі CopSsh та Windows):

    gitpath = '/ cygdrive / c / файли програми (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / файли програми (x86) / Git / libexec / git-core'

    PATH = $ {gitpath}: $ {gitcorepath}: $ {PATH}

    Ось що я додав до профілю bash (у CopSsh тощо / profile):

    gitpath = '/ c / Файли програми (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / файли програми (x86) / Git / libexec / git-core'

    експортувати PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    Тут є якесь дублювання - це працює для мене, тому хтось передзвонить, де є правильне місце для зміни шляху.

  2. Новіші версії msysgit можуть не дати екрану вибирати виконуваний файл ssh там, де ви вибираєте між Git ssh та PuTTY ssh. Якщо ви використовуєте PuTTY, вам доведеться встановити GIT_SSH вручну.

  3. Я не дотримувався однієї частини інструкцій, і це було встановлення Tortoise - я скористався командним рядком, тому що я вважаю за краще вивчити vcs, як я робив з rcs і Subversion, і виявив, що це працює для мене. У мене виникли проблеми з командою clone за допомогою ssh. Ось як я це зробив:

    Клон Git за допомогою ssh - не вдається знайти сховище

    Тут я найбільше стукнув головою.

  4. Каталог встановлення CopSsh був / Program Files (x86) / ICW. Я пішов із цього, але якби це робив ще раз, я б використав ім'я каталогу без пробілів.

  5. Ці інші джерела допомогли мені зрозуміти:

    Ще один спосіб налаштування сервера Git в Windows:

    http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    Клієнтська сторона речей:

    http://toolmantim.com/oughts/setting_up_a_new_remote_git_repository

    Пояснення Git як сервера (не пов’язане з Windows, але більш глибокий вигляд, ніж кроки встановлення):

    http://progit.org/book/ch4-0.html

    Плюс контроль версій O'Reilly з Git - глава віддалених сховищ.

Зрештою, якби я знав, наскільки це забирає багато часу, я, можливо, почав би працювати з Mercurial, коли я читав, що інсталяція у Windows простіше, але я маю думку про це після того, як деякий час я працюю з Git, а потім спробуйте Mercurial .


У мене проблеми з кроком CopSSH. Посилання на CopSSH вже не існує ... Мене спрямовують на sourceforge.net/projects/sereds/files, де я можу завантажити тільки cwRsync_4.0.4_Installer.zip замість інсталятора CopSSH. Будь-які пропозиції?
користувач5243421

Це посилання, яке я використав: itefix.no/i2/node/27
Стів

1
Станом на листопад 2011 року Copssh є комерційним рішенням. Версія 3.0.3 доступна у вільному доступі.
mateuscb

20

Я не впевнений, чому хтось не запропонував http://gitblit.com . Чисте рішення на базі Java, дозволяє протокол HTTP та дуже простий у налаштуванні.


Дякуємо за голосування "за" Чи можете ви надати причину, чому за цей коментар проголосували? Будь ласка, тариф.
Pritesh Patel

Фантастичний проект, який зробив мій день, дякую.
Андерсон Форталеза

16

Дотримуючись посібника Тіма Девіса та подальшого спостереження Стіва, ось що я зробив:

Серверний ПК

  1. Встановіть CopSSH, msysgit.
  2. Створюючи користувача CopSSH, зніміть прапорці з автентифікацією пароля та встановіть прапорець аутентифікації відкритих ключів, щоб ваші відкриті / приватні ключі працювали.
  3. Створіть відкриті / приватні ключі за допомогою PuTTygen. покладіть обидва ключі в каталог CopSSH / home / user / .ssh.
  4. Додайте до файлу CopSSH / home / user / .bashrc користувача таке:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Відкрийте Git Bash і створіть сховище в будь-якому місці вашого ПК:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

Клієнтський ПК

  1. Встановити msysgit.
  2. Використовуйте приватний ключ, створений на сервері, для клонування репо з ssh: // user @ server: port / repopath / repo.git (чомусь корінь - це диск C:

Це дозволило мені успішно клонуватись і вчиняти, але я не зміг підштовхнутись до голої репо на сервері. Я продовжував отримувати:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

Це призвело мене до сліду та рішення Руя, яке полягало в створенні або додаванні наступних рядків до .gitconfig у шляху USERPROFILE% вашого клієнтського ПК (C: \ Users \ UserName).

[remote "origin"]
    receivepack = git receive-pack

Я не впевнений, навіщо це потрібно ... якщо хтось міг би дати зрозуміння, це було б корисно.

моя версія git - 1.7.3.1.msysgit.0


8

GitStack повинен відповідати вашій меті. У мене налаштування майстра. Він безкоштовний для двох користувачів і має веб-інтерфейс користувача. Він заснований на msysgit.


1
Ціни на веб-сайті GitStack: безкоштовно для 5 користувачів, 299 доларів на рік для 6-10 користувачів, 499 доларів США на рік для 11-25 користувачів тощо, до 2999 доларів на рік для 500 користувачів.
Саймон Тевсі

1
GitStack тепер безкоштовний лише для 2 користувачів.
M4N

Отже, 1 користувач для того, хто налаштовує сервер, 1 користувач для клієнта, який відвідує сервер. Ця межа занадто сувора. Команда з 2 розробників занадто мала в реальному світі.
ZhaoGang

7

Є приємний стек Git з відкритим кодом під назвою Git Blit. Він доступний для різних платформ і в різних пакетах. Ви також можете легко розгорнути його до наявного Tomcat або будь-якого іншого контейнера сервлетів. Погляньте на сервер Setup git на Windows за допомогою декількох клацань, щоб отримати докладніші відомості, щоб отримати основні настройки, вам знадобиться близько 10 хвилин.


Працював як шарм. Завдяки мільйонів.
AndroidDev

Ласкаво просимо, я радий, що це було корисно
Руслан Платонов,

Це вдалий вибір. простий у використанні для мене. Не перевірив віддалений git-коміт, але я вважаю, що він спрацює. До речі, посилання вже не доступна.
ZhaoGang

Посилання більше не існує.
Shihe Zhang

3

SSH для обміну git вам не потрібен. Якщо ви користуєтеся локальною мережею або VPN, ви можете експортувати проект git як загальну папку та змонтувати його на віддаленій машині. Потім налаштуйте віддалене репо, використовуючи URL-адреси "file: //" замість "git @". Займає всі 30 секунд. Готово!


2

Такого керівництва може просто не бути. Якщо так, то, можливо, вам не вистачить удачі переконати когось написати, бо це буде багато роботи.

Я б порекомендував будь-яку з двох речей. Простіше - слідувати керівництву по-рабськи, а це означає забути про msysgit.

Найважче - налаштувати Linux-сервер - можливо, як гість під Windows за допомогою VirtualBox (безкоштовно) або VMWare або Parallels (pay), а потім дотримуйтесь однієї з багатьох наборів інструкцій, до яких вас призведе Google. Але, ймовірно, ці інструкції виявляться недостатніми - вони, як правило, припускають, що ви вже створили ssh-сервер, наприклад, тому вам доведеться отримати цю інформацію в іншому місці. Я робив це двічі і можу сказати, що якщо ви вже є чимось гуру Linux, це буде боротьба.


1

Я зробив те, що Боб Мерфі запропонував "важким" варіантом.

Я встановив Ubuntu під VMWare Server (безкоштовно) на роботі, а потім дотримувався цього керівництва щодо налаштування Gitosis. Мені це було набагато простіше, ніж намагатися перейти під Windows. Після налаштування вам дійсно не потрібно доторкатися до нього, оскільки адміністрування Gitosis можна виконати з Windows, натиснувши оновлені версії файлу gitosis.conf. Будь-яка робота, яку мені потрібно робити безпосередньо на сервері, виконується через PuTTY, тому мені не доведеться використовувати жахливий інтерфейс сервера VMWare.

Нещодавно я вдома возився з VirtualBox, і мені було набагато приємніше / простіше працювати з сервером VMWare, тому, можливо, варто поглянути на це.


1

Я просто хотів додати свій досвід з налаштуванням PATH, про який згадує Стів і timc вище: у мене виникли проблеми з дозволом, використовуючи інструменти оболонки (наприклад, mv та cp ), першими на шляху яких є виконувані файли оболонки Git.

Зміна їх після існуючого PATH замість цього вирішила мої проблеми. Приклад:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

Я думаю, що CopSSH не йде добре з усіма виконуваними оболонками msysgit ...


0

Я використовую GitWebAccess для багатьох проектів вже півроку, і він виявився найкращим з того, що я спробував. Однак здається, що останнім часом джерела не підтримуються, тому не приймайте останні бінарні файли / джерела. Наразі вони зламані :(

Ви можете створити з цієї версії або завантажити компільовані двійкові файли, якими я користуюся звідси .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.