Ответы пользователя по тегу Git
  • Не работает git в phpstorm, что не так?

    @sergiodev
    Я так понял, вы используете git из Windows для доступа к репозиторию, находящемуся внутри WSL.

    В таком случае, как советут тут, нужно либо вызывать линуксовый гит из-под WSL (из консоли Ubuntu), либо отключить проверку на безопасные директории через эту команду (уже из винды):

    git config --global safe.directory '*'
    Ответ написан
    1 комментарий
  • Как настроить слежение за внешней веткой Git, чтобы сделать git pull?

    @sergiodev
    git pull вытягивает изменения с удалённой ветки, связанной с локальной веткой (в гите это называется upstream). Ваша ветка test связана с origin/test, поэтому git pull без указания названия ветки будет тянуть коммиты из origin/test.

    Попробуйте так (находясь в ветке test):

    git pull origin/dev
    Ответ написан
  • Как вывести в git log пересечения коммитов двух веток?

    @sergiodev
    По идее можно это сделать так:

    git log dev/2.6 ^dev/2.5 ^dev/2.4

    ^ исключает ветку из лога, т.е. команда выше покажет коммиты, которые есть в dev/2.6 и нет в dev/2.5 и dev/2.4.


    Commit Exclusions

    ^ (caret) Notation

    To exclude commits reachable from a commit, a prefix ^ notation is used. E.g. ^r1 r2 means commits reachable from r2 but exclude the ones reachable from r1 (i.e. r1 and its ancestors).



    Больше информации тут: https://git-scm.com/docs/gitrevisions#Documentatio...
    Ответ написан
  • Что такое upstream в Git?

    @sergiodev
    upstream - это буквально означает "вверх по течению". Можно представить течение изменений (коммитов) от главного репозитория в ответвившиеся репозитории (форки) в виде реки и ручейков.

    В Git upstream могут называть удалённый репозиторий (remote), от которого форкнули.

    Вне контекста Git - это основная версия кода, публикуемая его автором. Например, кто-то пишет программу и публикует новую версию на своём сайте, а разработчики Debian упаковывают её в .deb-пакеты, возможно даже с дополнительными патчами. Для них код автора программы будет upstream.
    Ответ написан
    Комментировать
  • Какую структуру репозиториев выбрать в проекте?

    @sergiodev
    Если честно, не вижу проблемы с одним репозиторием и отдельным папками внутри него для backend, web, mobile. Я так постоянно делаю в своих личных проектах. Единственной проблемой с таким подходом пока что было развёртывание приложения на сервер через git на каком-нибудь PaaS-сервисе типа Heroku, где не поддерживается сборка из подкаталога (т.е. только из корня репозиториия). Но это ограничение можно обойти через "git subtree split".
    Ответ написан
    Комментировать
  • Что делать при повреждении файла index?

    @sergiodev
    У меня такое было после синего экрана в винде. Некоторые файлы в папке .git (index, HEAD, и т. п.) оказались заполнены нулями. Помогло удаление HEAD (или index) и последующий checkout на нужную ветку. Но всё же рекомендую создать резервную копию перед тем, как делать такое.
    Ответ написан
    Комментировать
  • Как обозначить временный комит в Git?

    @sergiodev
    Если веткой пользуетесь только вы, то нет никакой разницы. Я обычно пишу [WIP] и далее какое-нибудь сообщение, чтобы вспомнить, на чём остановился, или просто WIP, когда совсем лень или что-то мелкое. Главное, чтобы это в таком виде потом не попало в историю основной ветки, т.е. не забыть такие коммиты объединить в один нормлаьный и обновить комментарий.
    Ответ написан
    Комментировать
  • Git как вернуть отмененный коммит?

    @sergiodev
    Найдите хэш нужного коммита в `git reflog` и скопируйте его через `git cherry-pick`
    Ответ написан
    Комментировать
  • Как заигнорить файл .gitignore?

    @sergiodev
    Добавьте эти файлы в .git/info/exclude

    https://docs.github.com/en/get-started/getting-sta...
    Ответ написан
    Комментировать