мои локальные и удаленные машины - это OS X. У меня были проблемы, пока я не проверил файловую структуру репозитория git, который мне предоставляет xCode Server. По сути, в этом репо все chmod 777 *, поэтому для настройки отдельного репозитория, отличного от xCode, на том же компьютере в моей удаленной учетной записи я сделал следующее:
УДАЛЕННАЯ МАШИНА
- Вход в свой аккаунт
- Создайте главный каталог для всех проектов mkdir git
- chmod 775 git, затем cd в него
- создать папку проекта 'mkdir project1'
- chmod 777 project1, затем cd в него
- запустите команду 'git init', чтобы сделать репо
- это создает каталог .git. выполните команду 'chmod 777 .git', затем cd в нее
- запустите команду 'chmod 777 *', чтобы сделать все файлы в .git 777 mod
- cd обратно в myproject1 (cd ..)
- настроить тестовый файл в новом репозитории с командой 'touch test.php'
- добавьте его в промежуточную область репо с помощью команды 'git add test.php'
- запустите команду «git commit -m 'new file'», чтобы добавить файл в репо
- запустите команду 'git status', и вы должны получить сообщение «рабочий каталог очистить»
- cd вернуться в главный каталог с помощью 'cd ..'
- в главном каталоге сделайте символическую ссылку ln -s project1 project1.git
- запустите команду pwd, чтобы получить полный путь
- в моем случае полный путь был "/Users/myname/git/project1.git"
- запишите полный путь для дальнейшего использования в URL
- выход из УДАЛЕННОЙ МАШИНЫ
МЕСТНАЯ МАШИНА
- создайте папку проекта где-нибудь 'newproj1' с помощью 'mkdir newproj1'
- cd в это
- запустите команду 'git init'
- сделайте псевдоним УДАЛЕННОЙ МАШИНЫ
- формат команды псевдонима - 'git remote add your_alias_here URL'
- убедитесь, что ваш URL правильный. Сначала это вызвало у меня головные боли
- URL = 'ssh: //user@www.somemachine.com/Users/myname/git/project1.git'
- после того, как вы выполните 'git remote add alias URL', сделайте 'git remote -v'
- команда должна ответить строкой выборки и отправки
- запустите cmd 'git pull your_alias master', чтобы получить test.php из REMOTE репо
- после команды в # 10 вы должны увидеть красивое сообщение.
- запустите команду 'git push --set-upstream your_alias master'
- после команды в 12 вы должны увидеть красивое сообщение
- команда в # 12 устанавливает REMOTE в качестве мастера проекта (root)
Что касается меня, я научился получать чистый старт с репозиторием git на ЛОКАЛЬНОМ, а УДАЛЕННОМУ сначала требуется вся начальная работа в оболочке. Затем, после вышеизложенного, я смог легко настроить ЛОКАЛЬНЫЙ и УДАЛЕННЫЙ репозиторий git в моей среде IDE и выполнить все основные команды git, используя графический интерфейс IDE.
У меня были трудности, пока я не начал сначала с удаленного, затем локального, и пока я не открыл все разрешения на удаленном. Кроме того, наличие точного полного пути в URL-адресе к символической ссылке было критичным для успеха.
Опять же, все это работало на OS X, локальных и удаленных машинах.