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