6 ответов:
Я думаю, что вы делаете голый репозиторий на удаленной стороне,
git init --bare, добавьте удаленную сторону в качестве push/pull tracker для вашего локального репозитория (git remote add origin URL), а потом локально вы просто говоритеgit push origin master. Теперь любой другой репозиторийpullиз удаленного репозитория.
чтобы изначально настроить любой сервер Git, вы должны экспортировать существующий репозиторий в новый пустой репозиторий - репозиторий, который не содержит рабочего каталога. Это, как правило, просто сделать. Чтобы клонировать репозиторий для создания нового голого репозитория, вы запускаете команду clone с помощью . По соглашению, голые каталоги репозитория заканчиваются на
.git, например:$ git clone --bare my_project my_project.git Initialized empty Git repository in /opt/projects/my_project.git/эта команда принимает репозиторий Git сама по себе, без рабочий каталог, и создает каталог специально для него одного.
теперь, когда у вас есть голая копия репозитория, все, что вам нужно сделать, это поставить ее на сервер и настроить протоколы. Допустим, вы создали сервер под названием
git.example.comчто у вас есть доступ к SSH, и вы хотите сохранить все свои репозитории Git под . Вы можете настроить свой новый репозиторий, скопировав свой голый репозиторий:$ scp -r my_project.git [email protected]:/opt/gitна данный момент, другие пользователи, которые есть SSH доступ к тому же серверу, который имеет доступ для чтения к
/opt/gitкаталог может клонировать ваш репозиторий, запустив$ git clone [email protected]:/opt/git/my_project.gitесли пользователь SSHs в сервер и имеет доступ на запись в
/opt/git/my_project.gitкаталог, они также будут автоматически иметь доступ толчка. Git автоматически добавит группе права на запись в репозиторий, если вы запустите команду git init с .$ ssh [email protected] $ cd /opt/git/my_project.git $ git init --bare --sharedочень легко взять репозиторий Git, создать голый и поместите его на сервер, к которому у вас и ваших сотрудников есть доступ SSH. Теперь вы готовы к совместной работе над одним и тем же проектом.
примечание для людей, которые создали локальную копию в Windows и хотят создать соответствующий удаленный репозиторий в системе Unix-line, где текстовые файлы получают окончания LF на дальнейших клонах разработчиками в Unix-подобных системах, но окончания CRLF в Windows.
Если вы создали свой репозиторий Windows до настройка перевода конца строки затем у вас есть проблема. По умолчанию Git не переводится, поэтому ваш рабочий набор использует CRLF, но ваш репозиторий (т. е. данные хранятся в разделе .ЖКТ) сохранил слишком файлов, как эти символы не экранируются.
когда вы нажимаете на пульт дистанционного управления, сохраненные файлы копируются как есть, перевод конца строки не происходит. (Перевод конца строки происходит, когда файлы передаются в репозиторий, а не когда репозитории выталкиваются). Вы получаете CRLF в своем Unix-подобном репозитории, что не то, что вы хотите.
чтобы получить LF в удаленном репозитории, вы должны сначала убедиться, что LF находится в локальном репозитории, по ре-нормализации репозитории для Windows. Это не будет иметь видимого влияния на ваш рабочий набор Windows, который по-прежнему имеет окончания CRLF, однако при нажатии на пульт дистанционного управления, пульт будет получать LF правильно.
Я не уверен, что есть простой способ сказать, какие окончания строк у вас есть в вашем репозитории Windows - я думаю, вы можете проверить его, установив ядро.autocrlf=false, а затем клонирование (если РЕПО имеет LF-окончания, клон также будет иметь LF).
вам нужно создать каталог на удаленном сервере. Затем используйте команду "git init", чтобы установить ее в качестве репозитория. Это должно быть сделано для каждого нового проекта (каждая новая папка)
предполагая, что вы уже настроили и использовали git с помощью ssh-ключей, я написал небольшой скрипт Python, который при выполнении из рабочего каталога настроит удаленный и инициализирует каталог как репозиторий git. Конечно, вам придется отредактировать скрипт (только один раз), чтобы сообщить ему сервер и корневой путь для всех хранилища.
проверьте здесь -https://github.com/skbobade/ocgi
удаленный репозиторий-это обычно голый репозиторий - Git-репозиторий это не имеет рабочего каталога. Потому что репозиторий используется только как точка совместной работы, нет никаких оснований для проверки моментального снимка на диске; это просто данные Git. Проще говоря, голый репозиторий-это содержимое вашего проекта .каталоге git'а больше ничего.
вы можете сделать голый репозиторий git со следующим код:
$ git clone --bare /path/to/project project.gitодин из вариантов для удаленного репозитория git использует протокол SSH:
общий транспортный протокол для Git, когда самостоятельный хостинг находится над SSH. Это связано с тем, что доступ SSH к серверам уже настроен в большинстве места - а если нет, то это легко сделать. СШ тоже аутентифицированный сетевой протокол и, поскольку он вездесущ, это вообще легкий для того чтобы настроить и использовать.
чтобы клонировать репозиторий Git через SSH, вы можете укажите
ssh://URL вот так:$ git clone ssh://[user@]server/project.gitили вы можете использовать более короткий SCP-подобный синтаксис для протокола SSH:
$ git clone [user@]server:project.gitв обоих случаях выше, если вы не укажете необязательное имя пользователя, Git предполагается, что вы вошли в систему как пользователь.
Плюсы
плюсы использования SSH много. Во-первых, SSH относительно легко установить up-SSH демоны являются обычным явлением, многие сетевые администраторы имеют опыт работы с ними, и многие дистрибутивы ОС настроены с ними или нет инструменты для управления ими. Далее, доступ по SSH является безопасным-все данные передача шифруется и проходит проверку подлинности. Последний, как HTTPS, Git и Локальные протоколы, SSH эффективны, делая данные как компактными как возможно перед переносом.
Минусы
негативным аспектом SSH является то, что он не поддерживает анонимный доступ в вашем репозитории. Если вы используете SSH, люди должны иметь SSH доступ к вашей машине, даже в емкости только для чтения, которая не делает сделайте SSH благоприятным для проектов с открытым исходным кодом, для которых люди могут просто хотите клонировать свой репозиторий, чтобы изучить его. Если вы используете его только внутри корпоративной сети, SSH может быть только протокол надо разобраться. Если вы хотите разрешить анонимный доступ только для чтения ваши проекты, а также хотите использовать SSH, вам придется настроить SSH для вы, чтобы подтолкнуть, но что-то еще для других, чтобы принеси оттуда.
для получения дополнительной информации, проверьте ссылку: Git на сервере - протоколы
обычно вы можете настроить git РЕПО, просто используя
initкомандаgit initв вашем случае, уже есть РЕПО на удаленном доступен. В зависимости от того, как вы получаете доступ к удаленному РЕПО ( с именем пользователя внутри url или ключом ssh, который обрабатывает проверку), используйте только :
git clone git@[my.url.com]:[git-repo-name].gitесть и другие способы клонирования РЕПО. Таким образом, вы называете это, если у вас есть настройка ключа ssh на вашем компьютере, которая проверяет при извлечении вашего репозитория. Есть и другие комбинации url, если вы хотите включить свой пароль и имя пользователя внутри, чтобы войти в свой удаленный репозиторий.
Comments