#git #bitbucket #git_push #git_remote
Создал я локальный репозиторий у себя на компьютере: cd /path/to/git/repo/ git init --bare --shared В другом месте тоже инициализировал, с которым работал так, напрямую: cd /path/to/my/project/ git init echo "Helo" >> hello.txt git add . git commit -m "Init" Вот теперь я хочу в свой локальный репозиторий сделать пуш: git remote add origin /path/to/git/repo/ git push origin master Все хорошо, все отлично. Если запустить эту команду в другой директории, он мне все скопирует, то есть сделает то, что я ожидаю: cd /path/to/test/dir/ git clone /path/to/git/repo/ Теперь я хочу: Все свои собранные коммиты запушить на свежий, только что созданный репозиторий в bitbucket.org. Иметь возможность пушить как на битбакет, так и в локальный репозиторий Что мне нужно сделать, чтобы добиться такого результата? P.S. Отвечая на вопрос, зачем мне нужен локальный репозиторий. Мне нужно всегда иметь на компьютере копию проекта с учетом всех gitignore. Даже тогда, когда у меня нет интернета. Если есть возможность провернуть это без создания локального репозитория, можете дать совет. Но вопрос, как запушить все коммиты на битбакет и не видеть постоянные сообщения Everything up-to-date и другие, не смотря на то, что на компе у меня лежит целая куча нужных мне коммитов, остается открытым
Ответы
Ответ 1
когда вы сделали git init, вы уже создали локальный репозиторий. он находится в под-каталоге .git. файлы же, которые вы создали в этом каталоге (/path/to/my/project/), а затем с помощью git add и git commit «добавили в репозиторий», на самом деле представляют собой лишь рабочую копию содержимого репозитория. репозиторий может быть и без рабочей копии. создаётся такой репозиторий при использовании опции --bare у команд git clone, git init. фактически вы получаете в таком репозитории то же содержимое, что и в каталоге .git у репозитория с рабочей копией. поэтому создавать ещё одну локальную копию репозитория, как сделали вы в каталоге /path/to/git/repo/, нет необходимости. всё содержимое репозитория, все коммиты, вся история — доступны в любой из копий git-репозитория и без доступа к интернету. и коммиты в эту копию репозитория вы можете делать без доступа к интернету. а как сделать вторую (третью, десятую) копию репозитория на каком-нибудь удалённом сервере, вы уже знаете: $ git remote add ... $ git push ... о том, как одной командой git push отправить изменения сразу в несколько репозиториев, написано, например, здесь и здесь. и по-русски: Отправить изменения в несколько репозиториев одной командой push
Комментариев нет:
Отправить комментарий