2014-11-23 4 views
3

Я только начал fetch большой удаленный git repo. К сожалению, после этого я понял, что из-за плохой связи потребуется несколько часов. Безопасно ли выдавать ctrl-C (или иначе убивать git-процесс) и повторить попытку позже с лучшим соединением? Или существует риск проблем из-за этого - мое местное репо осталось в коррумпированном состоянии или что-то в этом роде?Безопасно ли отменять во время «git fetch»?

+1

Afaik одним из целей дизайна для git было то, что Торвальдс хотел быть в состоянии доверять своей системе контроля версий. Следовательно, акцент на криптографических хэшах на все, без переменных, которые расширяются VCS и т. Д. Я не могу себе представить, что люди с этим мышлением позволили бы что-то столь же простому, как сломанное интернет-соединение, испортило репозиторий. – cmaster

ответ

-1

Должно быть безопасным.

git fetch сначала просто переносит новые объекты. После того, как все будет загружено, он установит дистанционное ref для нового фиксации головы. Если вы прервете его во время этапа загрузки, он все равно не изменится на все ссылки. Поэтому все должно быть хорошо.

+2

Любые ссылки или подтверждающие доказательства для этого? – Jubobs

+1

Это именно то, как работает git: ref может указывать только на фиксацию, и каждая фиксация зависит от ее родителя (ов). Поэтому вы должны загрузить все эти коммиты, прежде чем сможете изменить ссылку. – michas

+1

@michas: это то, что я угадывал/надеялся, но было бы неплохо иметь указатель на что-то в руководстве или подобном, что бы подтвердить это. (стр. Я не был нисходящим.) – PLL

Смежные вопросы