[git] нубский вопрос по

sergeikozyr

Был создан репозиторий в каком-то каталоге c помощью git init, потом git add .
Сейчас я могу делать его копии с помощью
git clone <тот самый каталог> <куда клонировать>, потом что-то изменять и добавлять, git commit ..., git push.
Потом могу сделать ещё копию: git clone <опять тот самый каталог> <место для ещё одной копии>
Сделанные изменения в первом клоне появяться во втором. Но вот в репозитории состав файлов не изменяется. Как можно обновить его до последнего изменения?

ermsoft

git push --help
git pull --help
git remote --help
Похоже, тебе надо осилить какой-нибудь туториал для начала.
PS. git push считается злом, если там, куда пушишь, есть рабочая копия.

ppplva

Наверное, нужен git checkout в "репозитории". А лучше действительно убрать в нем рабочую копию.

dgaf

а зачем плодить копии, если есть ветки (branch)?
я так понимаю, clone нужен только чтобы скачать себе репозиторий с удалённого места

vall

не только, иногда удобнее иметь несколько рабочих копий чем постоянно перечекаучивать бранчи.

sergeikozyr

Нет, ветви избыточны. Вполне достаточно было бы функционала svn, но у последнего геморно с организацией новых репозиториев. Мысль такая: на домашней машине есть несколько мест в которых хранятся данные нужные для чего-то (документация, скрипты, настройки). Нужно просто стягивать их, а потом синхронизировать при изменениях, т.е., фактически, иметь центральный реп. Subversion неудобен тем, что у него туго с созданием новых репозиториев, нельзя так запросто синхронизировать через ssh и т.п. Очень желательно, чтобы можно было использовать в роли центрального репа одну из текущих рабочих копий, чтобы не геморроиться со вспомогательными каталогами - вот про это и был вопрос.

vall

про svn over ssh не знаю, а в остальном ты не прав.
на нормальной фс клонирование репы равно времени на полный чекаут, и кроме того гит может пользовать общую базу для нескольких копий (но это не рекомендуется из-за возможостей отстрелить себе яйца при gc)

sergeikozyr

Я не про функционал говорю, а про usecase.
В данном случае мне не нужны ветки: мне нужны общие для всех наборы файлов, один в один.

pilot

нельзя так запросто синхронизировать через ssh
Можно подробнее?

sergeikozyr

git clone ssh://home-computer/home/user/bin

sergeikozyr

git checkout -f HEAD в "главном" репе

vall

HEAD можно не писать
Оставить комментарий
Имя или ник:
Комментарий: