2016-09-05 3 views
1

Я пытаюсь настроить Git для лучшего контроля версий моего текущего сайта (это мой первый раз с использованием Git) - я только что вручную дублируя файлы, и я чувствую, что система фиксации Git является гораздо лучшим решением.Проблемы с настройкой git up локально/удаленно (с Coda 2 и Terminal)

Я бегу MacOS 11 и установил Git с помощью Xcode. На моем удаленном сервере я использовал следующие команды с помощью терминала в SSH сессии:

mkdir ~/.git 
cd ~/.git; mkdir project.git; cd project.git 
git init 
Initialized empty Git repository in /home/user/.git/project.git/.git/ 

На моей локальной системе я использовал $which git который возвратил /usr/bin/git

я использовал команду git init на моей локальной машине, которая возвратила initialized Git repository in /Users/user/.git/. Все идет нормально.

Тогда я использовал следующую команду git remote set-url origin ssh://[email protected]:/home/.git/project.git (очевидно, с правильными данными пользователя)

git remote -v Использование получает меня:

git remote -v 
origin ssh://[email protected]:/home/.git/project.git (fetch) 
origin ssh://[email protected]:/home/.git/project.git (push) 

так что все, кажется, работает. Проблема здесь. В Coda 2 на вкладке source у меня есть только «локальный» показ, и удаленный доступ не удаляется.

Кроме того, в терминале, если я пытаюсь использовать команду git push origin --all я получаю следующее сообщение об ошибке:

stdin: is not a tty 
fatal: '/home/.git/project.git' does not appear to be a git repository 
fatal: Could not read from remote repository. 

Кто-нибудь есть идеи, где я неправильно? Я предполагаю, что это что-то простое, но я прочитал множество подобных ответов здесь и не смог определить проблему. Я также пытался повторить инициализацию git dir без радости!

+1

В качестве примечания: 1) Репо, на котором никто не работает, но используется только для толкания/вытягивания, должно быть '--bare'. Расширение '.git' для папок также должно быть зарезервировано для голых репозиториев. 2) Вы сделали весь свой домашний каталог git-репозиторием. Это действительно предназначено? Вместо этого вы, вероятно, хотели «git init project» - или 'cd project && git init'. –

+0

Нет, я не хотел, чтобы весь мой домашний каталог был репо! Как я могу отменить это? – hj8ag

+1

Если вы просто хотите удалить все коммиты/ветви/свою полную историю и оставить свой рабочий каталог как есть, достаточно 'rm -rf .git /'. –

ответ

0

Ok, так что я решил эту проблему, приняв следующие шаги с нуля -

Я создал новый репозиторий Git на моем сервере с помощью SSHing в мою коробку и с использованием следующего

mkdir git 
cd git 
git init --bare project.git 

После того, что было сделал я создал новый корневой каталог на моем локальном компьютере файлы и с помощью терминала клонировании удаленного репозитория Git

git clone ssh://[email protected]/path/to/project.git 
cd project 
  1. Затем я установил все в Coda и использовал это как локальный корень, как мой каталог файлов. Это дало мне «местный» контроль версий, но не
    удаленный.

  2. Я отредактировал свои файлы в Coda и добавил их в репозиторий, используя боковую панель SCM .

  3. После того, как они были добавлены, я толкнул их на сервер с помощью терминала
    команды, а затем вернулся в коду, сохранен, закройте сайт, а затем моя «удаленная» папка появилась на вкладке Source в наборе сайтов -до.

Все, кажется, работает и дает мне толчок и тянуть!

0

Начнем с начала, не так ли?

На удаленном хранилище, вам необходимо инициализировать мерзавец как голый репозиторий так:

git init --bare 

Голые мерзавец репо каталог только в .git каталога. Нет файлов рабочей области. Если вы не указали опцию --bare, вы получите сообщение об ошибке каждый раз, когда вы говорите, что пытаетесь изменить файлы на удаленном репо.

После инициализации удаленного репо, вы можете легко клонировать репозиторий на локальном компьютере, так как:

git clone [email protected]:/path/to/.git 

username является сервером Логин имя пользователя. hostname является доменным именем или сервером ip.

Смежные вопросы