Я хотел бы выполнить извлечение из удаленной ветки в локальную ветку без необходимости проверки локальной ветки. Я видел, как это делается в таких инструментах, как GitKraken, и нашел здесь решение командной строки: https://stackoverflow.com/a/17722977/1326370. Однако я не смог понять, как это сделать с Libgit2sharp. Любые идеи?
Выполните извлечение без проверки с помощью Libgit2sharp
Ответы (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
Это было и моим пониманием, пока я не прочитал ответ, на который я ссылался. Таким образом, это говорит о том, что для быстрого слияния вы можете сделать
git fetch <remote> <sourceBranch>:<destinationBranch>
- person sclarke81; 26.07.2016
Да, для быстрой перемотки вперед вы можете использовать любой вариант (мой немного понятнее, поскольку он использует только стандартные команды и, следовательно, вероятно, доступен в какой-то библиотеке). Я предположил, что вы задали свой вопрос, потому что не нашли, как сделать свой вариант
git fetch
в этой библиотеке?
- person AnoE; 26.07.2016
Извините, я неправильно понял ваше предложение. Вы абсолютно правы в том, что я не знаю, как реализовать свое решение с помощью Libgit2sharp, но предложенное вами решение легко реализовать, поскольку оно использует простые операции, которые уже доступны. Спасибо!
- person sclarke81; 26.07.2016