Синхронизация папок WWW и Github

Все еще новичок в Github, и мне было интересно, можно ли синхронизировать конкретную папку WWW с папкой проекта Github.

Допустим, я работаю над /www/my-project/ и у меня есть папка github /github/my-project-repo/. Главный вопрос в том, как я могу легко переместить файл из моего проекта в мой проект-репозиторий так же, как и при фиксации. Копирование-вставка кажется скучным методом. Любые советы помогают!


person Ian    schedule 14.01.2013    source источник


Ответы (2)


Используйте опции --git-dir и --work-tree команды git:

Если вы изменяете файлы в my_project, но хотите, чтобы они учитывались в репозитории git my-project-repo, вы можете сделать:

git --work-tree=/www/my-project/ --git-dir= /github/my-project-repo/.git status
git --work-tree=/www/my-project/ --git-dir= /github/my-project-repo/.git add -A .
git --work-tree=/www/my-project/ --git-dir= /github/my-project-repo/.git commit -m "add files from my-project"

Возможно, вы захотите обновите ваше рабочее дерево в /github/my-project-repo после изменения его индекса с помощью вашего git add.

cd /github/my-project-repo
git checkout .

Остерегайтесь, однако, одновременных изменений, которые вы могли бы внести в общие файлы: последняя проверка удалит и перезапишет их тем, что вы добавили из /www/my-project.

Если вы хотите сохранить незавершенную работу в /github/my-project-repo:

 git stash save --keep-index
 git stash drop

ОП нашел более простое решение и:

  • переместил каталог хранилища в /www/.
  • cd /my-project/,
  • git config, git init и т. д.

Я перестаю отслеживать репозиторий, сохраненный в Docs/Github/ — моем первом каталоге хранения.

person VonC    schedule 14.01.2013
comment
как передать правильный путь к каталогу? Мой текущий каталог wamp: c:\wamp\www\my-project\ и мой каталог github c:\users\xxx\Documents\GitHub - person Ian; 14.01.2013
comment
@edden поместил ваш каталог wamp в качестве рабочего дерева в параметр --work-tree и c:\users\xxx\Documents\GitHub\.git в параметр --git-dir. Эти два параметра позволяют вам передавать правильные пути к каталогам. - person VonC; 14.01.2013

Наконец-то разобрался... Вот несколько видеоуроков, которые помогли мне на этом пути:

http://www.youtube.com/watch?feature=player_embedded&v=mYjZtU1-u9Y

  • Базовые основы Git
  • Разница между Git и GitHub
  • Руководство по установке и настройке Git
  • Основные (но основные) командные строки Git

http://www.youtube.com/watch?feature=player_embedded&v=8r_IErxmoUc

  • Руководство по регистрации учетной записи для GitHub и общие советы
  • Использование GitHub с Git (конфигурация и демонстрация)
  • Руководство по установке GitHub Windows Client (GUI)
  • Введение в ветвление, слияние, клонирование и разветвление

http://www.youtube.com/watch?feature=player_embedded&v=STJBFXskfCc

  • Пример цикла разработки с использованием Git и GitHub
  • Подробнее о ветвлении, слиянии, клонировании и разветвлении
  • Введение в слияние конфликтов

http://www.youtube.com/watch?v=LCv2BIQpPgI&feature=player_detailpage

  • Углубленный взгляд на слияние конфликтов
  • Маркировка
  • Возврат коммитов
person Ian    schedule 21.01.2013
comment
Итак, какова была ваша последовательность команд (git), которая позволила вам решить вашу проблему? - person VonC; 21.01.2013
comment
основные, если не сказать больше. Все, что я сделал, это переместил каталог хранилища в /www/. сделал git cd /my-project/, git config, git init и т. д. Я прекращаю отслеживать репозиторий, который был сохранен в Docs/Github/ — мой первый каталог хранилища. Мягко говоря, я был действительно новичком в git и github, поэтому я понятия не имею, что делаю, даже в начале установки. - person Ian; 21.01.2013
comment
Звучит достаточно хорошо. Я включил ваш комментарий в свой ответ для большей наглядности. - person VonC; 21.01.2013