Подтвердить что ты не робот

Git вытягивание ветки из другого репозитория?

У меня есть локальный репозиторий 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.

Как я могу это сделать?

4b9b3361

Ответ 1

Вам нужно убедиться, что git status показывает, что в вашем локальном репозитории не существует неустановленных изменений.
Вы можете сделать это, предварительно скопировав локальные изменения и потянув за эту ветку. После этого вы можете применить свой тайник.


Если вы хотите воссоздать структуру ветвей fork в локальном репозитории, вы можете сделать следующее:

git remote add fork <url of fork>
git fetch fork
git checkout -b fork_branch fork/<branch>

Это создаст локальную ветвь fork_branch с той же историей, что и <branch> в fork, т.е. fork_branch будет отвисеть от вашего master, где <branch> выполняется в fork. Кроме того, ваш локальный филиал теперь отслеживает эту ветку в fork, поэтому вы можете легко вносить новые изменения, совершенные в fork.

Я думаю, вам все равно нужно заранее убедиться, что ваша рабочая копия не содержит никаких изменений.

Ответ 2

Метод без добавления удаленного.

git checkout --orphan fork_branch
git reset --hard
git pull <url of fork> <branch>