Задать вопрос
Ответы пользователя по тегу Git
  • Как упростить и убыстрить процесс переноса правок с docker на прод?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    То, что вам нужно называется "автоматизация доставки и развёртывания". CI/CD и прочее. На вашем сервере один раз настраиваете деплой с гит-репозитория и далее просто вносите ваши изменения в репозиторий, а дальше по скрипту всё само задеплоится. Только не забудьте настроить и отладить процесс отката изменений на любую другую версию.
    Ответ написан
    4 комментария
  • Может ли удаленный репозиторий быть сразу и рабочей директорией проекта?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Может. Вы со своим проектом можете работать в любом каталоге, в корне у вас основные файлы или вложены куда-то глубже - не имеет значения. Из вашего описания вообще не понятно что у вас не получается и что именно вы хотите сделать. Прочитайте ман сначала и просто следуйте по шагам инструкции как работать с гит: gitscm.org
    Для работы с репозиторием нескольким разработчикам вам надо настроить рабочий процесс - выдать разработчикам права, настроить организацию/проект в вашем гите, организовать документацию и прочее. Типовой рабочий процесс - github flow. Для работы приложения на сервере настраиваются CI/CD процессы для автоматизации доставки и развёртывания проекта на сервере. Это тоже настраивается отдельно. В разных сервисах этот процесс отличается в деталях, но основные приципы везде одинаковые. Вам просто следует открыть руководство пользователя и прочитать о том, как сделать то, что вы хотите сделать.
    Ответ написан
    Комментировать
  • Как организовать автодеплой на сервер в закрытом контуре?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ставите на целевой сервер gitlab-runner и далее настраиваете деплой стандартным способом через gitlab ci/cd. Триггеры деплоя - стандартные PR в master ветку только мэйнтэйнером или администратором проекта/группы. Все остальные разработчики работают по стандартному github-flow режиму ну или какой у вас там рабочий процесс принят. В идеале, конечно, следует делать деплой через SSH, как вариант - прокинуть сервер гитлаба в закрытый контур через любой шифрованный тунель, а внутри контура настроить прямой доступ к нему по DNS.
    Раз стоит цель настроить деплой без SSH в закрытый контур, то значит разрешение на такой деплой уже есть. А если нет - ну, что ж, это уже ответственность ТС и что делать в этом случае это уже совсем другой вопрос.
    Ответ написан
    Комментировать
  • Как правильно работать с гит, если у тебя 2 фронтендера?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Могу ли я откатить все изменения на github без возможности вернуть их?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Нет. Всё, что попало в интернет - остаётся там навсегда. Особенно все изменения в git репозитории - копии его есть не только на сервере, который вам не принадлежит и в организации, в которой вы вряд ли админ/владелец, так еще и у всех остальных разработчиков тоже есть копия.
    Ответ написан
    1 комментарий
  • Какой принцип работы с Git с нескольких компов?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    User - это пользователь, т.е. человек или разработчик, а не ПК. Используйте стандартный подход Github flow: https://habr.com/ru/articles/346066/
    Ответ написан
    3 комментария
  • Как настроить Git?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Как правильно делать коммит в монорепе?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Можно указывать в названии PR:
    feature/front/books-added-author-field
    feature/back/books-added-author-field

    Нужно/не нужно - скорее организационный вопрос. Если проект большой и народу много, то тогда вообще репозиторий следует делить на более маленькие для разных команд разработчиков, а не держать все в одной куче. Если же один-два - то вообще не принципиально.
    Ответ написан
    Комментировать
  • Как настроить работу с репозиторием GitLab через SSH?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проверьте настройки сервера SSH: попробуйте включить вход только через публичный ключ, а вход по паролю отключить. У меня сейчас такая же петрушка на рабочем сервере ) Я локально развернул гитлаб в виртуалке, сразу ссх не заработало, но вчера все внезапно заработало. У меня локально включен вход только по ключу, а по паролю отключен. Проверить коннект ссх для гита к серверу можно так:
    ssh -i ~/.ssh/<YOUR_KEY> -T git@<SERVER IP OR DOMAIN>


    Если нужен детальный лог, то вот так:
    ssh -i ~/.ssh/<YOUR_KEY> -v -T git@<SERVER IP OR DOMAIN>


    При этом ссх агент не должен быть запущен и в .ssh/config нет настроек для сервера. Это проверка конкретного ключа. Если настройки есть в конфиге или в агенте - ссх использует их.

    UPD 1: По информации от системного администратора, оказалось, что почему-то не принимается ключ типа ed25519, а RSA - работает. Рабочий гитлаб на 22 бубунте, а у меня локально - на дебиане 12. Пока что копаем дальше...

    UPD 2: В общем админ пока так и не смог побороть эту напасть и пришли к выводу, что настроить gitlab_sshd будет проще и останемся на нем. А потом, как будет возможность мигрируем сервер на дебиан с бубунты.

    UPD 3: В итоге я просто поднял новый инстанс с чистым дебианом и накатил туда гитлаб - SSH заработал сразу из коробки. Его и используем.
    Ответ написан
    2 комментария
  • На каком Raspberry Pi можно поднять Git-сервер?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Поднять можно на любом. Вопрос только в юзабельности полученного решения.
    UPD:
    Свой гитлаб. Дело в том, что нужно минимизировать утечку, в т.ч. использованием внешних сервисов

    В таком случае максимальную версию малинки с 8ГБ ОЗУ + SSD диск для ОС и данных или для данных можно подключить сетевое хранилище, например. Этого будет достаточно для работы сотни-двух пользователей. Больше - скорее всего будут лаги/тормоза.
    Ответ написан
    Комментировать
  • Как команде из трех человек работать над проектом Unreal Engine 4?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Как при переходе на разные ветки git с разными пакетами автоматически предупреждать о необходимости их установить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    GitHooks -> post-checkout: https://git-scm.com/docs/githooks#_post_checkout и в скрипте npm install.
    Ответ написан
    Комментировать
  • Какую структуру репозиториев выбрать в проекте?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    • Бэк
    • Фронт
    • Мобилка
    • Либа проекта 1
    • Либа проекта ...
    • Либа проекта N

    Фронт так же можно сделать поддеревом/подмодулем бэка. Зачем выносить общий код в отдельные репозитории? Дык декомпозиция же. Удобнее работать с кучкой маленьких, законченных и более-менее автономными модулями/пакетами, чем размазывать одинаковый код по куче разных репозиториев и потом гадать что новее, старее, совместимее, оптимальнее и прочее. Да, можно сделать один общий репозиторий и держать там миллион разных модулей и прочего (ну или один большой и толстый). А потом копать кротовые норы с красными глазами в этой горе непонятно чего в поисках ошибок и нужного кода.
    Ответ написан
    Комментировать
  • Как можно увеличить дисковой объем машины на GitHub Actions?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Приобрести нужный объем, очевидно же: https://docs.github.com/ru/actions/using-github-ho...
    Ответ написан
  • Как синхронизировать папки на компьютере и репозиторий GitHub?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Просто не надо делать еще одну отдельную копию репозитория. Файлы легко редактируются без дополнительного копирования в отдельный каталог. Скачать репозиторий с сервера - внести изменения - залить изменения на сервер. Все просто.
    Ответ написан
    Комментировать
  • Как синхронизировать изменения в БД при командной разработке на Wordpress?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Правильное решение: нанять человека, который знает и умеет организовывать команду или как минимум есть опыт работы в команде и он знает как все должно быть. Без такого опыта - потратите кучу времени и денег на настройку и отладку всех требуемых процессов, а так же на набивание своих шишек. Опишу кратко как оно примерно должно быть - примерно, потому что везде есть свои ньюансы. Структура команды примерно такая: клиент <-> прожект менеджер <-> тим лид <=> тех. лид <=> разработчики, QA, дизайнеры и остальные. Далее, рабочий процесс организовывается с использованием системы управления задачами - например JIRA, Redmine и прочее, а так же по подходящей вам методологии. Для локальной разработки разворачивается локальная среда, в т.ч. фронтэнд, бэкэнд, БД - скриптом, в докере, в виртуалке и т.п. (как удобнее). Для тестирования и отладки в окружении близком к проду - разворачивается тестовый сервер для запуска и проведения тестов, и сервер разработки - для разворачивания текущего процесса разработки (можно и совмещать). Т.о., любой разработчик может спокойно локально провести разработку фичи, произвести пуш в дев ветку и увидеть результат на дев-сервере и результат тестов. Команда тестирования так же может проводить полноценное ручное тестирование на тестовом сервере или на сервере разработки. И, соответственно можно показывать клиенту прогресс разработки по конкретным задачам.
    Ответ написан
  • Как исправить ошибку ssh?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проще всего сразу в конфиге SSH прописать ключ для хоста и тогда SSH сам использует этот ключ, когда гит его запустит. .ssh/config:
    Host github.com
      IdentityFile ~/.ssh/id_ed25519

    В случае, если требуется несколько разных ключей для разных репозиториев, то делается так:
    Host github.com-project-1
      HostName    = github.com
      IdentityFile ~/.ssh/project-1
    Host github.com-project-2
      HostName    = github.com
      IdentityFile ~/.ssh/project-2

    И соответственно для клонирования нужного репозитория использовать соответствующий для него хост. Т.о. все настройки ключей доступа для всех проектов будут в одном месте - в конфиге SSH, а не разбросаны по куче разных скриптов и файлов.
    Ответ написан
  • Git was not found in your PATH, skipping source download как это устранить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Установить гит
    2. Добавить путь к нему в переменную окружения PATH (...\Git\cmd)
    3. Перезагрузить систему

    UPD: поставил гит на чистой системе - установщик сам добавил путь в переменную окружения. Так что достаточно просто поставить и все будет работать из коробки.
    Ответ написан
  • Как добавлять изменения в репозиторий git с разных компьютеров?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Точно так же, как и с одного. Просто добавляете на оба компа свой SSH ключ или просто второй ключ в настройках репозитория/профиля на гитхабе.
    Ответ написан
    2 комментария