Команды git которые стоит использовать: switch, restore, maintenance, worktree

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024

ความคิดเห็น • 66

  • @fatalien6634
    @fatalien6634 5 หลายเดือนก่อน +11

    Хотелось бы увидеть как наиболее эффективно работать по git-flow
    ~~~
    Спасибо за видео. Оставляйте комменты чтобы продвинуть перспективный канал!

  • @Ololoshize
    @Ololoshize หลายเดือนก่อน +2

    Просто комментарий в поддержку канала, мне нравится вас слушать.

  • @ReaktorGaming86
    @ReaktorGaming86 4 หลายเดือนก่อน +3

    Очень хорошо объясняете, продолжайте в том же духе! Приятно слушать. Такое качество редкость для русскоязычного Ютуба.

  • @Sergey-wo3vu
    @Sergey-wo3vu 4 หลายเดือนก่อน +17

    git checkout -b branchname - сразу и создает ветку и переключается на нее. тем самым мы точно не забудем переключиться

    • @dimartyt
      @dimartyt 4 หลายเดือนก่อน

      Спасибо ❤

    • @dellenoam
      @dellenoam 4 หลายเดือนก่อน +1

      Можно также использовать git switch -c branch_name

  • @romana3387
    @romana3387 12 วันที่ผ่านมา

    Спасибо, надо будет попробывать

  • @amqndin
    @amqndin 3 หลายเดือนก่อน

    праймажен всегда про ворктри говорил много, но у меня так руки не доходили посмотреть. а щас узнал наконец в чем прикол

  • @ryanlashkevich9615
    @ryanlashkevich9615 5 หลายเดือนก่อน +7

    Alt + dot в терминале - можно вставлять последний аргумент предыдущей команды, и не вбивать по 10 раз feature/readme.

    • @megaman13able
      @megaman13able 4 หลายเดือนก่อน

      В маковском терминале не работает(

    • @ryanlashkevich9615
      @ryanlashkevich9615 4 หลายเดือนก่อน

      @@megaman13able Очень жаль, а в Аrch и в Manjaro Linux работает на ура - zsh in XFCE terminal.

  • @Devivl
    @Devivl 4 หลายเดือนก่อน

    Отличное видео. О worktree не знал. Спасибо.

  • @evgenysamarin
    @evgenysamarin 4 หลายเดือนก่อน +9

    work tree кажется полезной, часто приходится переключать контекст, нужно попробовать на досуге, спс

  • @slevin31231
    @slevin31231 14 วันที่ผ่านมา

    мене одному git кажется неудобным?
    отличный контент!

  • @blender573
    @blender573 5 หลายเดือนก่อน +1

    Ура, новое видео

    • @dimartyt
      @dimartyt 4 หลายเดือนก่อน

      Ура

  • @НикитаЛяшкевич-й7ж
    @НикитаЛяшкевич-й7ж 13 วันที่ผ่านมา

    Топ

  • @alexey9975
    @alexey9975 5 หลายเดือนก่อน

    Здорово!

  • @user-artem-busyhin
    @user-artem-busyhin 5 หลายเดือนก่อน

    Спасибо 👍

  • @eliasbontiqa
    @eliasbontiqa 5 หลายเดือนก่อน

    Кайф, спасибо ))

  • @ICeMAn70833
    @ICeMAn70833 5 หลายเดือนก่อน +1

    ❤‍🔥

  • @meteor_jam
    @meteor_jam 5 หลายเดือนก่อน

    отличное видео. го k8s пж 😊

  • @febreze2010
    @febreze2010 5 หลายเดือนก่อน +2

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

    • @suchkov-tech
      @suchkov-tech  5 หลายเดือนก่อน +1

      я руководствовался этой статьей при настройке терминала на mac www.freecodecamp.org/news/jazz-up-your-zsh-terminal-in-seven-steps-a-visual-guide-e81a8fd59a38/
      про другие системы подсказать не могу

    • @febreze2010
      @febreze2010 5 หลายเดือนก่อน

      @@suchkov-tech значит нужно Мак покупать ))))

    • @newsett1er
      @newsett1er 5 หลายเดือนก่อน

      Достаточно несложно делается через использование starship в любом относительно свежем эмуляторе терминала, например kitty

  • @ryanlashkevich9615
    @ryanlashkevich9615 5 หลายเดือนก่อน +1

    Хм, не заметил преимуществ worktree перед stash-ем, больше действий требует производить.

    • @suchkov-tech
      @suchkov-tech  5 หลายเดือนก่อน +1

      Создание отдельного рабочего дерева да, требует больше действий, stash в этом плане выигрывает. Но worktree можно создать один раз и больше не создавать для какой-то цели. По сути рядом будет лежать копия проекта, но слинкованная с основным. И после этого уже не надо создавать заново worktree, а просто каждый раз (будь то ревью или фикс) открывать в отдельном окне IDE ту версию и не сташить ничего.
      Мы на работе например пишем на go, проект достаточно разросшийся (такая увесистая монорепа), пользуемся кодогенерацией, но результаты этой генерации не пушим, и генерим отдельно. И каждый раз при переключении веток для локального запуска тестов надо заново делать генерацию, которая может занимать минуту и больше.
      Или же в процессе работы может быть поднят дебаг из исходного кода. Если работать тут же, а не в отдельном дереве, то надо тушить дебаг и заново потом поднимать.
      Но, возможно, в Вашем случае с процессами и языком который Вы используете worktree может и не дать преимуществ, тут все зависит.

    • @ryanlashkevich9615
      @ryanlashkevich9615 5 หลายเดือนก่อน

      @@suchkov-techприкольно, надо будет разобрать. Это еще и быстрый переход в другую ветку, по cd)

    • @ILyaCyclone
      @ILyaCyclone 5 หลายเดือนก่อน +1

      ​@@suchkov-tech А в чём принципиальный выигрыш по сравнению с склонировать проект в отдельную папку и переключить ветку там? Если мы всё равно открываем новое окно ide.
      Ещё, на мой взгляд, упущено - считает ли гит новую папку, созданную через worktree, как незакомиченное изменение в оригинальной ветке.

    • @suchkov-tech
      @suchkov-tech  5 หลายเดือนก่อน +1

      @@ILyaCyclone я бы выделил два основных преимущества.
      Первое - это размер. Если клонировать отдельную копию, то занимать ровно столько же места. Если Вы пользуетесь worktree, то полная копия не создается - это все части одного репозитория.
      На моем рабочем примере:
      ```
      $ du -hs api/.git
      1.4G api/.git
      ```
      и
      ```
      $ du -hs api-worktree-hotfix/.git
      4.0K api-worktree-hotfix/.git
      ```
      разница существенная.
      Второе - эти две части гит репозитория знают друг о друге, в отличие от независимого клонирования. Если я подтяну свежий мастер в api, и перейду потом в api-worktree-hotfix и отбранчуюсь от мастера там - я отбранчуюсь от свежей версии мастера. То есть мне не нужно отдельно управлять и освежать основные ветки (develop и master) - достаточно сделать в одном из пространств

    • @МихаилГригорян-ж9п
      @МихаилГригорян-ж9п 4 หลายเดือนก่อน

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

  • @galaxy-user
    @galaxy-user 5 หลายเดือนก่อน +7

    Первый кейс заменить на git checkout -b "new-branch"

    • @tricotazh
      @tricotazh 5 หลายเดือนก่อน +2

      git switch -c new_branch

    • @GigaMozg
      @GigaMozg 4 หลายเดือนก่อน

      Как поставить 10 дизлайков на этот комментарий?

    • @tricotazh
      @tricotazh 4 หลายเดือนก่อน +2

      @@GigaMozg с 10 аккаунтов

  • @vovka_goodwin
    @vovka_goodwin 5 หลายเดือนก่อน +1

    какой смысл во всех этих командах, если скорее всего у разработчика под рукой есть ide с уже имеющимся графическим интерфейсом через который вполне удобно можно работать с гитом?
    И еще интересно как команда maintenance будет работать на винде у которой нет крона

    • @ryanlashkevich9615
      @ryanlashkevich9615 5 หลายเดือนก่อน +1

      Ты еще не дорос просто

    • @vovka_goodwin
      @vovka_goodwin 5 หลายเดือนก่อน

      @@ryanlashkevich9615 это все аргументы в пользу командной строки?) Или я не дорос знать как это будет работать на винде?)

    • @vovka_goodwin
      @vovka_goodwin 5 หลายเดือนก่อน +2

      @@ryanlashkevich9615 Ну я склонен считать что перерос)

    • @ryanlashkevich9615
      @ryanlashkevich9615 5 หลายเดือนก่อน +1

      @@vovka_goodwin видимо имелся ввиду ввиду возраст. Приведу пример, в любой IDE можно посмотреть историю файла - команда такая: git log --follow /path/to/file. Но ни в одной IDE нельзя искать коммиты, которые редактировали конкретные диапазоны строк или строковые литералы: git log -L1,10 /path/to/file. По литералам: git log :"function_name" /path/to/file (кажется так). Зная эти команды (или даже написав удобный алиас на них, чтобы не превратиться в пианиста), можно быстрее искать нужные коммиты.
      Сойдемся на том, что терминальное гитоводство - вопрос предпочтений.)

    • @andrewyupetrov
      @andrewyupetrov 4 หลายเดือนก่อน

      Кому-то значит интересно. Торвальдс ещё гитом занимается?

  • @such-ej
    @such-ej 5 หลายเดือนก่อน

    Суровые команды. Интересно, как много людей пользуются консольным гитом, а не всякими tui/gui для гита?

    • @newsett1er
      @newsett1er 5 หลายเดือนก่อน

      Немало

    • @alexandershcheglov4653
      @alexandershcheglov4653 5 หลายเดือนก่อน +2

      Я частично UI пользуюсь, частично терминалом. Через UI смотрю изменения в файлах, добавляю файлы (стейджу) и имя коммита пишу. Все остальное через терминал.

    • @ryanlashkevich9615
      @ryanlashkevich9615 5 หลายเดือนก่อน

      Как минимум все те, кто засветились на конфе - th-cam.com/video/aolI_Rz0ZqY/w-d-xo.html - у Скота Чакона

    • @МихаилГригорян-ж9п
      @МихаилГригорян-ж9п 4 หลายเดือนก่อน

      Когда только начинал осваивать гит, без гуя просто не мог. Сейчас - только консоль.

    • @chillcompany1028
      @chillcompany1028 4 หลายเดือนก่อน +1

      Ни разу не пользовался ui версией, только консоль

  • @DVKGroup
    @DVKGroup 5 หลายเดือนก่อน

    А что за шрифт в терминале? Красивый.

    • @suchkov-tech
      @suchkov-tech  5 หลายเดือนก่อน +3

      шрифт Fira Mono for Powerline

  • @TsArtemi
    @TsArtemi 5 หลายเดือนก่อน +1

    как же я оказывается отвык за последние пару лет от ветки master 😂 интересно остались ли западные компании не переименовавшие её в main 🤔

  • @eliasbontiqa
    @eliasbontiqa 5 หลายเดือนก่อน

    Если не секрет, что за тема в терминале?

    • @suchkov-tech
      @suchkov-tech  5 หลายเดือนก่อน +1

      я использую iTerm2 + zsh + oh-my-zsh, на видео тема Agnoster.

    • @eliasbontiqa
      @eliasbontiqa 5 หลายเดือนก่อน

      @@suchkov-tech спасибо))

  • @bsisow
    @bsisow 5 หลายเดือนก่อน

    Спасибо! Узнал много нового для себя.

  • @alexandr6055
    @alexandr6055 หลายเดือนก่อน

    Ерунда, не нашёл команды которая бы заинтересовала

  • @drak0an
    @drak0an 5 หลายเดือนก่อน

    Неи никакиз дополнительных проверок данных у команды switch. Это сетевой миф. Читайте доки.

    • @suchkov-tech
      @suchkov-tech  5 หลายเดือนก่อน +1

      возможно я не правильно был понят: команда switch обрывает выполнение операции если это может привести к потере данных.
      "The operation is aborted however if the operation leads to loss of local changes, unless told otherwise" git-scm.com/docs/git-switch