Git push/clone на новый сервер

Я только изучаю Git, и есть кое-что, что я не могу выработать. Могу ли я отправить копию на другой сервер где-нибудь еще после создания и использования git-репозитория локально на моем Mac? Я за брандмауэром, поэтому, к сожалению, я не могу запустить git clone с другой машины.

Ответ 1

  • git remote add name url
  • git push name branch

Пример:

git remote add origin [email protected]:foo/bar.git
git push origin master

См. документы для git push - вы можете установить удаленный пульт по умолчанию для данной ветки; если вы этого не сделаете, имя origin является специальным. Только git push будет делать то же самое, что и git push origin thisbranch (для любой ветки, на которой вы находитесь).

Ответ 2

Что вы можете сделать, это сначала, на вашей локальной машине, сделать голой клон репозитория

git clone --bare /path/to/repo /path/to/bare/repo.git  # don't forget the .git!

Теперь заархивируйте новый каталог repo.git с помощью tar/gzip или любого другого любимого инструмента архивирования, а затем скопируйте архив на сервер.

Уничтожьте репо на своем сервере. Затем вам необходимо настроить удаленный локальный репозиторий:

git remote add repo-name [email protected]:/path/to/repo.git #this assumes you're using SSH

Затем вы сможете нажать и вытащить из удаленного репо с помощью:

git push repo-name branch-name
git pull repo-name branch-name

Ответ 3

Существует множество способов перемещения хранилищ, git bundle - это хороший способ, если у вас недостаточно доступность сети. Поскольку репозиторий Git - это действительно каталог, полный файлов, вы можете "клонировать" репозиторий, сделав копию каталога .git любым способом, который вам подходит.

Самый эффективный способ - использовать внешний репозиторий где-нибудь (используйте GitHub или настройте Gitosis), а затем git push.

Ответ 4

remote server> cd /home/ec2-user
remote server> git init --bare --shared  test
add ssh pub key to remote server
local> git remote add aws ssh://[email protected]<hostorip>:/home/ec2-user/dev/test
local> git push aws master

Ответ 5

Вы можете направить ветвь на удаленный сервер, скажем github. Сначала вам нужно будет выполнить первоначальную настройку проекта, а затем клонировать ваш проект и:

git push <remote repo> <your branch>