Ответы пользователя по тегу Git
  • Как правильно использовать гит, если нужны данные из другой ветки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Гит всегда разрешает параллельную разработку. Никто не заблокирован никогда.
    Другой вопрос, если ты просто сделал бранч из branchOne, то ты сам как-бы принял риски
    того что этот бранч еще может изменится.

    И в целом это вопрос не про гит а про организацию процессов и риски.
    Ответ написан
    Комментировать
  • Git как востановить файлы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Такое ощущение что ты до этого уже натворил делов и пришел с криком - "спасите помогие".
    Толку от твоего лога мало потому что уже поздно как говорицца..

    У тебя статус репы - "оторвана голова". Head detached. Вот надо из этого исходить.
    Видимо ты делал перемотку на какой-то конкретный коммит. И что характерно
    ты дальше зачем-то пытаешся сразу сделать новый коммит.

    Почитай как выйти из состояния head detached в другое состояние в котором можно работать.

    И если ты решил стать дерзким и смелым - то пожалуйста! тренируйся на учебном репо.! Ну на таком
    который тебе будет не жалко выкинуть потом.
    Ответ написан
    3 комментария
  • Как описать коммит когда изменил структуру файлов проекта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Refactoring.
    Ответ написан
    Комментировать
  • Как восстановить каталог с git репозиторием на ext4 (в linux)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сделай снова git clone с remote.
    Ответ написан
    Комментировать
  • Как организовать код, сниппеты, файлы внутри команды?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если команда большая (больше чем скрам) то имеет смысл раз в неделю собираться на голосовом
    митинге в полном составе и хотя-бы по 5 минут заслушать каждого. Кто чем болеет. Какие проблемы.
    Какие разработки. Далее по результатам надо думать о создании общего репозиатрия кода.
    Что-то вроде библиотеки. И сводить в библиотеку только реально нужное и разделяемое между
    проектами. Библиотекой должны заниматься опытные. Она должна иметь структуру и документированность.
    Она должна вбирать в себя только полезное. По принципу реального боевого кода. Код который
    морально устарел или не используется лучше выбросить из библиотеки.

    Нужно создать условия когда код из библиотеки не копируется а инклудится в проекты. Если кто-то
    берет наброски и "дорабатывает" - надо смотреть что он доработал и почему.

    По иному - вряд-ли получиться. Сниппеты и горизонтальная переброска кусков кода между верстальщиками
    и разработчиками - это хаос. Кроме роста количества файлов и сниппетов - ничего полезного не будет.
    Ответ написан
  • Как правильно решить конфликт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это не про GIT/Gitlab. Это про программирование.

    Процесс ресольва конфликтов - это абсолютно ручной процесс. Его нельзя автоматизировать. Просто береться
    2 разработчика которые создали конфликт. Садятся рядышком и вместе обсуждает чьи изменения нужно
    затянуть.

    Что там сотворил GitLab - непонятно. Я не готов ничего сказать. Надо смотреть консоль команд которая форсируется самим приложением GitLab. Возможно они были неправильные. Или вы не так описываете
    ситуацию.
    Ответ написан
    2 комментария
  • Как происходит работа с Git в крупных проектах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я ни разу не работал с git в команде и в крупных проектах, поэтому не знаю, что нужно делать.

    Тебе и не нужно это знать. И мы не сможем перечислить все роли и задачи участников на проекте и все их возможные комбинации поэтому заранее рассказывать об этом бесполезно.

    Git - это просто инструмент. Но как делается review или кто его делает. Или голосуют. Или мержат или ребейзят.
    Или создают теги или бранчи. Или сколько делают осей разработки master/trunk, dev/stg/prod - это все частные договоренности. GitFlow, GitLabFlow. Интеграция Atlassian. С Gerrit. Это все-все частные случаи управления версиями кода на частных проектах. Нету общих рекомендаций.

    Узнать их можно на проекте. Пришел. Прочитал Developers process guide. И начал работать.

    А управление процессами разработки с помощью Git это большая и частная тема.

    Поэтому оставь в покое крупные проекты. И лучше задай просто про git. Про команды git например.
    Ответ написан
    Комментировать
  • Как добавить текстовый документ в формате .doc в репозиторий git?

    mayton2019
    @mayton2019
    Bigdata Engineer
    git скорее всего рассматривает doc-формат как бинарный файл. Поэтому трекинг текстовых изменений
    скорее всего не будет поддерживаться. В этом смысле doc будет как dll файл или картинка.

    Но если отказаться от Word и использовать github markup language или какие-то другие языки разметки (Confluence) то можно свести эту задачу к трекингку markup-изменений.
    Ответ написан
    Комментировать
  • Нужно ли хранить сервер и клиент в разных репозиториях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это организационный вопрос. Если будут 2 команды - то лучше разделить. Пускай каждая коммитит в свой. Так будет меньше споров и конфликтов. Но есть смысл разделять какой-то sub-module для публикации сетевого стандарта или протокола как эти две части друг с другом разговаривают. Это может быть Swagger-файл или GraphQL или SOAP или любой вообще описатель сетевого взаимодействия.
    Ответ написан
    Комментировать
  • Можно ли сказать, что Гит работает на блокчейне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет. Гит не является блокчейном потому-как в него не закладывались требования по кворуму и гарантий уникальности и нефальсифицируемости истории.

    В git нет понятия блок. И нет алгоритмов POW для подтверждения потраченной работы.

    В git владелец может убить master-бранч что само по себе - принципиально невозможно в криптовалютных проектах

    UPD: Почему я привлекаю именно юзкейс криптовалют. Потому что в наше время блокчейн плотно ассоциирован именно с этой технологией. Хотя само по себе определение блокчейна может быть либеральнее чем я описал. Например POW может и не быть. Просто рассматривая git надо обозначить его сравнительные недостатки чтоб не было в теме попыток спекулировать просто на похожести этих двух технологий. Да они в чем-то похожи но блокчейн во много раз строже по безопасности. Ведь хранение журнала фин-операций - особая и деликатная задача.
    Ответ написан
    3 комментария
  • Как закрыть доступ к старым commit для разработчиков на ветке master?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Доступ к истории проекта закрывать нельзя. Это противоречит идеологии версионного контроля. В старых версиях кроме sensitive info могут быть знания по предметной области. Нам в разработке с одним банком очень помог анализ истории. По крайней мере мы поняли некоторые причины дефектов мультипоточки.

    То что пароли и токены коммитились - это epic fail, но лучше их обновить чем поступать как тупо. Вы-же не хотите походить на пришельцев-бюрократов расы "вогонов" (из романа Дугласа Адамса) которые уничтожили планету Земля только потому что им надо было шоссе построить в космосе.
    Ответ написан
    Комментировать
  • Как организовать хранение фронтенда и бекенда?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если это единый проект - то ему нужен один репозиатрий.
    Ответ написан
    2 комментария
  • Какой формат (с изменениями) эффективнее хранится в Git?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вам надо в git складывать не бэкапы Sqlite а текстовое представление wiki по состоянию на сегодняшний день. Насколько я помню там есть
    свой язык форматирования типа markup. Так что все будет норм.
    Ответ написан
    2 комментария
  • Нужно ли под каждую мелкую задачу создавать отдельную ветку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На текущем проекте требуют, что бы под каждое, даже небольшое изменение, баг (заменить цвет уведомления) создавать отдельную ветку

    Да. С точки зрения современных технологий управления исходным кодом - это нормально. Это выглядит бюрократично - но это защита, когда что-то пошло не так. Всегда можно без участия автора взять и откатить назад точечно именно то изменение которое привело к ошибкам за 1 день до релиза.

    И сложно себе представить что нужно откатить если ты ушел в отпуск и в 1 мердж реквест положил штук 5 своих задач.

    Вобщем не нужно боятся бюрократии. Нужно ее умело использовать и поворачивать эти техники так чтобы всей команде было комфорто и спокойно. И не нужно бояться за перформанс при выполеннии операций. Этот перформанс вообще не имеет значения с точки зрения ентерпрайза. Ты логаешь общее время разработки куда входит и работа с кодом и работа с репозитарием.
    Ответ написан
    Комментировать
  • Как обозначить временный комит в Git?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Такого нет. Но ты можешь дома работать в отдельном бранче. А потом просто приходя на работу как-то вручную переносить туда коммиты или сквашить.
    Ответ написан
  • Можно как-то в чем-то (под Ubuntu) посмотреть визуально коммиты [и ветки] в хронологическом порядке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сложно говорить о хронологии, когда люди делают коммиты в оффлайне, в разных часовых поясах и со сбитыми внутренними часами. Задачка блин для Эйнштейна.

    Я-бы предложил рассматривать не хронологию а топологию. Это более корректно. Коммиты - это орграф. DAG. И у него есть последовательность действий над бранчами.
    Ответ написан
    1 комментарий
  • Можно ли использовать гит-репозиторий в качестве шаблона?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно сборщик обладает свойством генерации архе-типов. Например типичное Scala-akka приложение создается так.
    $ sbt new akka/akka-quickstart-scala.g8

    Вот вам надо создать такое. Сборщик там или просто генератор - не суть важно. Ваш шаблон - это архе-тип.
    Ответ написан
    Комментировать
  • Как обновить локальную ветку задачи если develop ветка обновилась?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот это правильно

    develop (git pull)

    зайти в свою ветку branchTaskName и смержить ее с develop (git merge develop) и продолжать с задачей


    Остальное - опционально. Например нет смысле тебе обновлять локально мастер. Мастер тебе может понадобиться только для изготовления хот-фиксов на прод.
    Ответ написан
    Комментировать