1

Каков наилучший способ извлечения / слияния всех файлов из ветви в рабочий каталог, которых в настоящее время там нет, но без изменения состояния репозитория, HEAD или существующих файлов?

Это возможно с помощью однострочной команды?

3 ответа3

1
git diff --name-status HEAD <otherBranch> | grep -e "^A" | cut -f 2 | xargs git checkout <otherBranch> --

Делает работу.

1

git checkout может принимать пути в качестве аргумента, который, если он задан, оставляет HEAD один и просто извлекает эти пути в ваш рабочий каталог и индекс, так что вы можете просто использовать:

git checkout branchname -- .

0

Создать дополнительный клон использованного локального репо и оформить / объединить в нем. Это будет действительно Самый легкий путь (тм)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .