Выполните извлечение без проверки с помощью Libgit2sharp

Я хотел бы выполнить извлечение из удаленной ветки в локальную ветку без необходимости проверки локальной ветки. Я видел, как это делается в таких инструментах, как GitKraken, и нашел здесь решение командной строки: https://stackoverflow.com/a/17722977/1326370. Однако я не смог понять, как это сделать с Libgit2sharp. Любые идеи?


person sclarke81    schedule 26.07.2016    source источник


Ответы (1)


Вы не можете объединить удаленный сервер с локальным, не проверив его сначала. git pull равно git fetch ; git merge, а git merge всегда объединяет что-то с "текущей" ветвью (т. е. HEAD извлеченной в вашем рабочем каталоге).

Теперь, если вам на самом деле не нужен слияние-вытягивание, потому что вы хотите выбросить свою локальную версию ветки, вы можете сделать git branch -D mybranch ; git fetch ; git branch mybranch origin/mybranch, ничего не проверяя. Я предполагаю, что ваша библиотека должна поддерживать эти команды.

person AnoE    schedule 26.07.2016
comment
Это было и моим пониманием, пока я не прочитал ответ, на который я ссылался. Таким образом, это говорит о том, что для быстрого слияния вы можете сделать git fetch <remote> <sourceBranch>:<destinationBranch> - person sclarke81; 26.07.2016
comment
Да, для быстрой перемотки вперед вы можете использовать любой вариант (мой немного понятнее, поскольку он использует только стандартные команды и, следовательно, вероятно, доступен в какой-то библиотеке). Я предположил, что вы задали свой вопрос, потому что не нашли, как сделать свой вариант git fetch в этой библиотеке? - person AnoE; 26.07.2016
comment
Извините, я неправильно понял ваше предложение. Вы абсолютно правы в том, что я не знаю, как реализовать свое решение с помощью Libgit2sharp, но предложенное вами решение легко реализовать, поскольку оно использует простые операции, которые уже доступны. Спасибо! - person sclarke81; 26.07.2016