Скажем, у меня есть репозиторий на git.fedorahosted.org, и я хочу клонировать это в свой аккаунт на github, чтобы иметь собственную игровую площадку помимо более «официального» репо на fedorahosted. Каковы были бы шаги, чтобы первоначально скопировать это? В github есть хорошая кнопка "fork", но я не могу использовать ее по понятным причинам.
И как бы я отслеживал изменения в репозитории fedorahosted в github?
origin
указывает на каноническое удаленное местоположение. В этом случае местоположение github предположительно будет каноническим.git remote add
. Затем вы можете нажать на один из них, явно указав пульт дистанционного управленияgit push
. Например,git push foobar master
чтобы подтолкнуть текущую ветку кmaster
удаленномуfoobar
.На этот вопрос есть удаленный ответ с полезной ссылкой: https://help.github.com/articles/duplicating-a-repository
Суть
Пример ОП:
На вашей локальной машине
источник
error: failed to push some refs to 'https://github.com/username/testrep.git'
Чтобы перенести существующее репо в другое, вам необходимо:
Сначала клонируйте оригинальное репо.
Вставьте клонированные источники в ваш новый репозиторий:
Вы можете перейти
master:master
вsource:destination
филиал.Если вы хотите выдвинуть конкретный коммит (ветвь), то выполните:
В исходном репо создайте и оформите новую ветку:
Выберите и сбросьте точку, с которой вы хотите начать:
Либо выберите коммит,
git cherry-pick
чтобы добавить в существующий заголовок.Затем нажмите на ваш новый репо:
Если вы перебазируете, используйте
-f
для принудительного толчка (не рекомендуется). Запустите,git reflog
чтобы увидеть историю изменений.источник
git push ... old_branch_name:new_branch_name
позволяет выдвинуть ветвь функции из старого хранилища в качестве основной ветви в новом хранилище. Полезно!Вы действительно хотите просто перенести свой локальный репозиторий (с его локальными ветвями и т. Д.) На новый пульт или вы действительно хотите отразить старый пульт (со всеми его ветвями, тегами и т. Д.) На новом пульте? Если последнее, то здесь отличный блог о том, как правильно отразить git-репозиторий .
Я настоятельно рекомендую вам прочитать блог для некоторых очень важных деталей, но короткая версия такова:
В новом каталоге запустите эти команды:
источник
Попробуйте это Как переместить полный репозиторий Git
Создайте локальный репозиторий в каталоге temp-dir, используя:
Git Clone Temp-Dir
Перейдите в каталог temp-dir.
Чтобы увидеть список различных ветвей в ORI, сделайте:
Оформите все ветви, которые вы хотите скопировать из ORI в NEW, используя:
Теперь извлеките все теги из ORI, используя:
Перед выполнением следующего шага обязательно проверьте локальные теги и ветви с помощью следующих команд:
Теперь очистите ссылку на репозиторий ORI с помощью следующей команды:
Теперь свяжите ваш локальный репозиторий с новым созданным репозиторием, используя следующую команду:
Теперь добавьте все свои ветви и теги с помощью этих команд:
Теперь у вас есть полная копия вашего репозитория ORI.
источник
Я нашел решение, используя set-url, которое является кратким и довольно простым для понимания :
cd
в существующий репозиторий на вашем локальном компьютере (если вы еще не клонировали его, сделайте это сначала)git remote set-url origin https://github.com/user/example.git
git push -u origin master
источник
Если у вас есть существующее хранилище Git:
источник
Просто укажите новый репо, изменив URL репозитория GIT с помощью этой команды:
Пример:
git remote set-url origin git@bitbucket.org:Batman/batmanRepoName.git
Теперь подталкивание и вытягивание связаны с новым РЕПО.
Затем нажимаем нормально так:
источник
У меня была такая же проблема.
В моем случае, поскольку у меня есть оригинальный репозиторий на локальном компьютере, я сделал копию в новой папке без каких-либо скрытых файлов (.git, .gitignore).
Наконец, я добавил файл .gitignore в новую созданную папку.
Затем я создал и добавил новый репозиторий с локального пути (в моем случае это GitHub Desktop).
источник
Вот ручной способ сделать
git remote set-url origin [new repo URL]
:git clone <old remote>
открыто
<repository>/.git/config
и измените пульт (опция URL)
Нажмите на хранилище для GitHub:
git push
Вы также можете использовать оба / несколько пультов .
источник