Ответы пользователя по тегу Системы контроля версий
  • VCS в квадрате. Можно ли с помощью Git контролировать состояние другого Git-репозитория?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Нет, рекурсия работать не будет. Гит увидит, что внутри каталога лежит вложенный репозиторий и проигнорирует его. А в своей базе пометит этот подкаталог как поддерево (subtree), чтобы не сломать.

    Вы пытаетесь соорудить какой-то жуткий костыль только лишь потому, что поленились изучить инструмент, в котором работаете. Поэтому для вас Git сейчас представляется как некая шайтан-машина, которой вы скармливаете команды, которые не понимаете, и в результате получаете ещё более непонятные «неожиданные результаты». Просто потратьте несколько дней, чтобы изучить азы. Не зубрите непонятные команды, а постарайтесь понять логику гита. А она — эта логика предельно проста и гениальна.

    не является сложной задачей что-либо сломать в своем проекте

    Сломать что-то в гите довольно сложно. Вам может только показаться что всё сломалось, но это лишь потому, что вы не понимаете, что делаете.

    каким-то образом снес половину коммитов

    Коммиты в гите — это неизменяемые сущности. Можно лишь создать новые «на замену», но старые не исчезают. Коммиты невозможно удалить без специальных команд очистки мусора.
    Вам показалось что коммиты исчезли, но на самом деле они все остались в репозитории, вы просто их не видите в текущей ветке. Но всё легко откатывается назад, используя журнал Reflog.

    Поэтому было бы неплохо как-либо сохранять прошлые версии Git репозитория

    Reflog это и делает, по сути. Это журнал, который хранит указатели на все состояния проекта, в которых вы когда-либо находились ранее. И эти состояния сами по себе не исчезают, так что вы всегда можете откатиться назад в любое место.

    Мой вам совет: Пройдите 16 коротких бесплатных уроков и полу́чите просветление.
    Ответ написан
    2 комментария
  • Как синхронизировать репозиторий через облачные хранилища (Google Drive, Dropbox, etc)?

    sergey-kuznetsov
    @sergey-kuznetsov
    Автоматизатор
    Этот вопрос — прекрасная иллюстрация того, какие только костыли готовы изобрести адепты Mercurial, только чтобы не пользоваться удобным и логичным Git. В Git синхронизация между разными рабочими компами это привычный и предельно простой процесс, использование облака тут выглядит бредово.

    Разница идеологий. Если Git это инструмент, помогающий создавать качественный код, то Mercurial является лишь инструментом фиксации уже готовой работы и эту самую работу над кодом лишь усложняет. А если какой-то мусор попал в репозиторий, то это навечно. Придётся смириться со случайно закоммиченным тяжелым файлом и заставить скачивать его всем коллегам, так как история «священна» и не подлежит переписыванию.
    Ответ написан
    Комментировать
  • Пользуетесь ли вы кириллицей в Git?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Нет запрета на русский язык. Требования к коммитам оговариваются заранее в команде. Но желательно использовать единый стиль в проекте. В гите принято использовать императив в заголовках сообщений. Даже автоматические сообщения пишутся в формате «Merge...», а не «Merged...». На русском языке мы пишем аналогично в повелительном наклонении.
    «Добавить фичу...»
    «Исправить ошибку...»
    Потому что коммит, это не констатация факта изменения проекта, а лишь предложение об изменении, которое в нормальных компаниях не идёт сразу в продукт, а сначала попадает на проверку и лишь потом принимается в проект.
    Ответ написан
    Комментировать
  • Появляется ошибка при вводе git push -u Error: failed to push some refs to...?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Вас унесло совсем не в ту степь. Изначальная проблема думаю в том, что у вас нет прав на запись в свой репозиторий — Remote rejected. При первом пуше обычно просит авторизоваться. Это было сделано?

    Создавать на гитхабе пустую ветку с таким же именем точно не было смысла, удалите её, иначе она будет мешать отправить вашу реальную локальную ветку.

    Настоятельно рекомендую установить интерфейс командной строки гитхаба, это решает многие проблемы.
    Ответ написан
    5 комментариев
  • Как в MS Word пользоваться версиями?

    sergey-kuznetsov
    @sergey-kuznetsov
    Автоматизатор
    Это не версии, а защита от сбоев. Если Word завершится некорректно, мы тут увидим резервные копии документа, которые он сохранил в фоне.
    603418081ef9c710870208.png
    Ответ написан