Я просто изучаю git, и есть что-то, что я не могу обработать. После создания и использования репозитория git локально на моем Mac, могу ли я скопировать копию на другой сервер где-нибудь еще? Я за брандмауэром, поэтому, к сожалению, я не могу запустить git clone
с другой машины.git push/clone to new server
ответ
git remote add
имяURLgit push
имяфилиал
Пример :
git remote add origin [email protected]:foo/bar.git
git push origin master
См. Документы для git push
- вы можете установить пульт дистанционного управления в качестве пульта дистанционного управления по умолчанию для данной ветки; если вы этого не сделаете, то имя origin
является особенным. Только git push
будет делать то же самое, что и git push origin
thisbranch (для любой отрасли, в которой вы находитесь).
Вы можете нажать ветку на удаленный сервер, скажем github. Вы сначала должны были бы сделать первоначальную настройку проекта, а затем клонировать ваш проект и:
git push <remote repo> <your branch>
Существует множество способов перемещения репозиториев, git bundle
- это хороший способ, если у вас недостаточно доступность сети. Поскольку репозиторий Git - это действительно каталог, полный файлов, вы можете «клонировать» репозиторий, создавая копию каталога .git
, каким бы то ни было способом.
Самый эффективный способ - использовать внешний репозиторий где-нибудь (используйте GitHub или настройте Gitosis), а затем git push
.
Что вы можете сделать, это первое, на локальном компьютере, сделать голую клон репозитория
git clone --bare /path/to/repo /path/to/bare/repo.git # don't forget the .git!
Теперь архив вверх новый каталог repo.git с помощью смолы/GZIP или любой другой ваш любимый инструмент архивирования, а затем скопируйте архив на сервер.
Unarchive the repo на вашем сервере. Затем вам нужно настроить пульт дистанционного управления на локальном хранилище:
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
Не могли бы вы объяснить комментарий «не забывайте .git!»? Где пункт добавления .git к концу папки? Когда я должен это делать? Только конвенция? – lumbric
«.git» - это просто неофициальный стандарт идентификации голого git repo. –
. Я не следую этой идее ... разве это не разрушает всю цель создания сервера git и фактически * использует его * для " переносить/копировать/сохранять вещи в синхронизации/резервном копировании, а не * молчать * и использовать какой-либо другой метод? – cregox
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
- 1. Git checkout to new working directory
- 2. New to Git - производственная и промежуточная среда
- 3. Проблемы с Pushing to new Git repo
- 4. Push to new git after rebase
- 5. Git push to live server
- 6. git push branch to new repo с другим именем
- 7. Git Push To New Repo Pushing Wrong Content
- 8. Git Commands to Server через SSH
- 9. New to Visual Basic
- 10. new to wordpress
- 11. Docusign Switch to New
- 12. UIImagePicker to new view
- 13. New to Rails Caching
- 14. New to Rails Help
- 15. Git fetch new branch failed
- 16. Git Diff new line issue
- 17. New To C, Simple Loop
- 18. fork to new cygwin terminal
- 19. EditText Android, [new to android]
- 20. new to node.js - события «http.Server»
- 21. Prism RequestNascigate to new view
- 22. Passing Array To new Activity
- 23. new to mvc, код вопроса
- 24. New to Message broker 7
- 25. Auto scroll to new div
- 26. Git push to checkout?
- 27. New Mapquest tile server URL
- 28. Маршрут to/post/new вместо/posts/new в рельсах?
- 29. SVN to GIT to TFS
- 30. SQL Server Performance New Table vs New Columns
Для ближе эффект как ** «клонирование клонирования» **, а не просто * pushinh a _branch_ *: ['git push -u -all'] (http://linux.die.net/man/1/git-push) мы можем опустить 'origin', поскольку это имя по умолчанию для pushing и' -u' также будет отслеживать удаленные ветви. – cregox
Достаточно создать пустой сервер на сервере с помощью 'git init --bare/foo/bar.git', а затем нажать локальный (например, в этом ответе). Вам не нужно передавать что-либо с помощью zipped/tared на сервер. – OderWat
Вторичный OderWat. Например, выполните «git init -bare foo/bar.git» во время входа в пульт (т. Е. [email protected]), тогда «удаленное начало» будет иметь пункт назначения для ввода.Для примера github я думаю, что вы можете использовать веб-интерфейс репозитория/добавления github, а затем следовать рекомендациям «Push an existing repository из командной строки». Github рекомендует «-u» вызвать ссылку отслеживания. –