Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > УП: Инструменты > Настройка git


Автор: AnacRon 14.6.2009, 17:17
Доброго времени суток!

Не стал стоздавать дополнительно темы, думаю и эта сойдет для моего вопроса.

Люди умоляю помогите разобраться! 2 дня гуглю читаю да все никак до моеня не дойдет.
Проблема следующая: имею 2 машины (с Виндой) на работе и дома! так же дома стоит типа сервер-шлюз (Линкс Debian, для изучения  и тестов всяких) так вот т.к. имею пару нароботок в плане программирования и часто приходится дома и в пути что-то доделывать. Для упрощения ведения проектов решился воспользоваться Git`ом. Приятная легкая и достаточно удобная веСЧ. Проблема у меня с настройкой.... в качестве локального на линуксе Git работает притезий нет, но как только пробую в репазиторий что-то за коминить с Виндовых тачек так мне сразу отворот поворот... нет соединения!

хотелось бы пошаговую иструкцию на такой случай или что-то типа того н а подобный случай. буду признателен любой помощи.

З.Ы. я так понял что Git не только с привязкой SSH  работает? 

Автор: nickless 15.6.2009, 18:46
Цитата(AnacRon @  14.6.2009,  16:17 Найти цитируемый пост)
но как только пробую в репазиторий что-то за коминить с Виндовых тачек так мне сразу отворот поворот... нет соединения!

Поподробнее плиз, телепаты в отпуске.

Цитата(AnacRon @  14.6.2009,  16:17 Найти цитируемый пост)
З.Ы. я так понял что Git не только с привязкой SSH  работает?  

Если нужно не только ридонли доступ, то проще всего SSH

Читать: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#sharing-development

Автор: JSinx 16.6.2009, 16:24
Не могу разобраться в ssh авторизацией и вообще началом работы репозитория git :(
Использую в качестве GUI - http://code.google.com/p/tortoisegit/downloads/list и скачал мобильную версию Git ( PortableGit 1.6.3.2 ).

Зарегистрировал проект на indefero.net
У пользователя там нужно указать публичный SSH ключ.
Ключ генерю ssh-keygen.exe, приватный ключ конвертирую утилитой puttygen (получается ppk файл), публичный указываю в свойствах профиля ( indefero ).

Затем выбираю папку, делаю Clone, указываю путь до репозитория и путь к файлу с приватным ключом ( ppk ).
Но у меня ругается :

fatal: The remote end hung up unexpectedly

Попробовал через консоль, говорит что доступ запрещен и та же ошибка:
Permission Denied (Public Key)
fatal: The remote end hung up unexpectedly

Помогите разобраться, что делаю не так smile

Автор: AnacRon 18.6.2009, 13:41
Цитата(nickless @ 15.6.2009,  18:46)
Если нужно не только ридонли доступ, то проще всего SSH

 с ssh разобрался на половину! делая теперь конект таким образом 
git clone ssh://user@my_server/path_to_repozitore/ name_my_ local_repozitore
и все работает. зетем и pull  и push работают. не всегда только удобно работать из консоли, в качестве гуя использую родной Git GUI.

проблема теперь с коннектом по ssh-ключам. правда пока нет времени разбираться! на донном этапе достачно доступа по логину и паролю.
Спасибо ценный мануал! попадался он мне и раньше, но мой английский страдает очень сильно! в помощь переводчик...

Автор: JSinx 18.6.2009, 14:17
Я в целом тоже разобрался smile
Для тестов завел еще репозиторий на sourceforge, там вообще все просто и в мануале написано что делать smile возни с ключами нет.

Я же совершил 2 ошибки:
1) Для правильной работы ключей надо запустить утилиту ssh-agent (вместе с git идет), там добавить ppk ключ.
2) Я пытался залить все через адрес git://path_to_repozitore/ name_my_ local_repozitore, а нужно было
user@my_server/path_to_repozitore/ name_my_ local_repozitore

Если кому либо нужны будут git  репозитарии, можно по выбирать на http://git.or.cz/gitwiki/GitHosting.
Там есть бесплатные и для приватных проектов.

Автор: JSinx 2.7.2009, 14:19
Еще возникла проблема, что с командной строки отказывается работать, хотя через TortoiseGit работает.
Конкретно проблема возникла  с assemble.com

Почитав советы на форумах, нашел решение.
В папке .ssh (которая находиться в "\Documents and Settings\<пользователь>\.ssh\)
создаем файл config:

Код

Host git.assembla.com
IdentityFile ~/.ssh/private_key
 

где private_key - имя файла с приватным ключем (на сайте естественно указываем публичный ключ), после этого у меня все разаботало и из командной строки.

Так же есть подозрение, что в портативной версии что-то не так с авторизацией. Поэтому если пользуетесь портативной версией и не можете настроить авторизацию, попробуйте поставить через инсталлятор нормальную smile, выбрав пункт OpenSSH

Автор: JSinx 11.8.2009, 21:36
Возникли проблемы при работе в висте (хотя у знакомого все нормально работает). Отказывается запускаться sh.exe ( VirtualAlloc pointer is null .... ).

Погуглил и нашел решение http://dmitrygusev.blogspot.com/2009/07/fix-msysgit-install.html

Сделать это можно с помощью http://repo.or.cz/w/msysgit.git?a=blob_plain;f=bin/rebase.exe;hb=full.
Выполнить rebase.exe -b 0x40000000 msys-1.0.dll

Если не поможет 0x40000000 - попробовать другую цифирку.

Автор: x0123456789 8.5.2011, 19:23
Самый простой способ создать удалённый Git-репозиторий под windows:
(можно шпарить с выключенным мозгом прямо по пунктам как терминатор)

(0) Скачать:

VirtualBox-4.0.6-71416-Win
ubuntu-11.04-server

(1) В Windows Установить VirtualBox и запустить.

(2) В VirtualBox создать виртуальную машину Linux/Ubuntu.
В свойствах Сеть выбрать Включить сетевой адаптер, 
выбрать Тип подключения: Сетевой мост, 
выбрать Имя: указать имя реально задействованного сетевого адаптера.
В свойствах Система/Порядок загрузки указать первую загрузку: CD/DVD-ROM
В разделе Носители/IDE контроллер добавить образ ubuntu-11.04-server.iso

(3) В VirtualBox установить ubuntu-11.04-server. 
Для этого нажать Старт выртуальной машины.
Язык выбрать English.
выбрать SSH сервер
Http proxy пропустить.
Рекомендую выбрать имя пользователя 'git'.
В конце перед перезагрузкой Ubuntu на виртуальной машине в 
меню/Устройства/Приводы оптических дисков отключить ubuntu-11.04-server.iso 

(4) В Windows-Menu/Панель управления/Сеть и интернет/Центр управления сетями и общим доступом:
выбрать: Virtual Box Host-Only Network/Свойства
поставить галку: VirtualBox Bridget Networking Driver
добавить: Служба

(5) В ubuntu залогиниться и определить свой IP, выполнив:

    $ ifconfig

У меня оказалася такой:192.168.0.100

(6) Из windows-a проверить доступность IP ubuntu:

    > ping 192.168.0.100
    > ipconfig   // определить ip windows-a // у меня оказался 192.168.0.101

(7) Из ubuntu проверить доступность IP windows-a

    $ ping 192.168.0.101  // указать ip полученный в предыдущем пункте

(6) В ubuntu установить git-core:

    $ sudo apt-get install git-core

(8) В ubuntu добавить в конец файла /etc/ssh/sshd_config строку: AllowUsers git
и перезапустить ssh

    $ sudo echo "AllowUsers git" >> /etc/ssh/sshd_config
    $ sudo /etc/init.d/ssh restart

(9) В ubuntu создать голый репозиторий:

    $ cd                 // переместиться в домашнюю директорию /home/git
    $ mkdir proj.git     // создать директорию проекта
    $ cd proj.git        // переместиться туда
    $ git init --bare    // создать 'голый' репозиторий

(10) В windows в директории с проектом создать локальный git-репозиторий и выполнить комит.

    > git init
    > git add .
    > git commit -m "proverka"

(11) Связать его с удалённым и слить на сервер.

    > git remote add origin ssh://[email protected]:22/home/git/proj.git
    > git push origin master

Фсё!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)