ГИТ тянет ветку из другого репозитория?
У меня есть локальный репозиторий git, который является клоном репозитория на github. Кто-то разветвил репозиторий и внес изменения в новую ветку на новом репозитории. Я хочу переместить эту новую ветку в свой репозиторий (локально, чтобы сначала работать над ней, прежде чем сливаться с мастером).
Я попытался создать новую ветвь, а затем вытащить из разветвленного репозитория, но он жалуется, потому что новая ветвь является копией главной ветви, а также локальных изменений файлов, поэтому он говорит
error: Your local changes to the following files would be overwritten by merge.
Итак, как я могу вытащить ветку в другом репозитории в новую ветку в моем локальном репозитории?
Я надеюсь, что имеет смысл. Если нет, то это мой репозиторий:https://github.com/MatthewLM/cbitcoin
Как видите, кто-то создал новый репозиторий с веткой "linuxBuild":https://github.com/austonst/cbitcoin/tree/linuxBuild
Я хочу, чтобы эта ветвь была в моем локальном репозитории для MatthewLM / cbitcoin.
Как я могу это сделать?
2 ответов:
вы должны убедиться, что
git statusпоказывает, что никаких изменений, не зафиксированных существовать в свой локальный репозиторий.
Вы можете сделать это, сначала спрятав свои локальные изменения, а затем потянув эту ветку. После этого вы можете применить свой заначку.
если вы хотите воссоздать структуру ветвей вилки в локальном репозитории, вы можете сделать следующее:
git remote add fork <url of fork> git fetch fork git checkout -b fork_branch fork/<branch>это создаст локальную ветку
fork_branchС такой же историей, как<branch>в развилке, т. е.fork_branchбудет ветвиться от вашегоmasterздесь<branch>в развилке. Кроме того, ваша локальная ветвь теперь будет отслеживать эту ветвь в вилке, поэтому вы можете легко вытаскивать новые изменения, совершенные в вилке.Я думаю, вы все равно должны убедиться, что ваша рабочая копия не содержит никаких изменений.
метод без добавления удаленного.
git checkout --orphan fork_branch git reset --hard git pull <url of fork> <branch>
Comments