Git game или в поисках Линуса Торвальдса



    Наткнулся сегодня на этот замечательный проект. Из файла README.md репозитория проекта:

    Это игра для терминала, цель которой проверить ваш уровень знаний Git. Каждый уровень в игре — задание, которое необходимо выполнить в репозитории. После выполнения текущего задания вы получите следующее задание. Всего есть 10 уровней, которые возрастают по сложности!

    Поехали!


    Склонируйте репозиторий с помощью команды:
    $ git clone https://github.com/hgarc014/git-game.git
    


    Не знаете какие-то команды Git?


    Тогда вам следует ознакомиться с этими файлами:
    github.com/mikeizbicki/ucr-cs100/blob/2015winter/textbook/cheatsheets/git-cheatsheet.md

    github.com/mikeizbicki/ucr-cs100/tree/2015winter/textbook/tools/git/advanced-git

    Вам всегда следует проверять README.md для получения следующего задания!


    Ваше первое задание сделать checkout коммита, комментарий которого ответ на вопрос:

    Когда рождается программист, какую первую фразу он пробует сказать?
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 39
      +1
      Easy. :)
        +3
        Здесь больше уровней и команд: github.com/Gazler/githug, однако требует Ruby.
          –38
          Зачем учить эти нелогичные команды, если есть TortoiseGit.
          Если надо сделать что-то специфическое, всегда можно заглянуть в документацию.
            +9
            Лично для меня набрать команду быстрее, чем бегать по меню и кликать мышкой по кнопкам.
            Особенно при подключении git-completion в .bash_profile:
            source ~/.gitsettings/git-completion.bash
            
            жизнь с Git становится гораздо проще, по табу начинают дополняться команды, имена бренчей, файлов и т.п.

            По большому счету, ничего плохого в использовании TortoiseGit не вижу, это скорее дело привычки.
            А с «нелогичными командами» вы, конечно, перегнули палку.
              +1
              А ещё можно git-flow-completion установить и тогда жизнь ещё проще становится :)
              Примерно вот так.
              0
              GUI — это как-то не true :)
              Консоль — наше всё! :)
              Хотя, как говорится, на вкус и цвет все фломастеры разные.
              А почему вы считаете эти команды не логичными?
                –1
                git заточен под распределенную разработку. Если применять его там, где логично было бы vcs с центральным репозиторием применить, то работа выглядит нелогичной; это просто использование инструмента не по назначению.
                  +6
                  А теперь прочитайте комментарий выше. Затем свой комментарий. Затем ещё раз коментарий выше. Снова свой… Как найдете хоть какую-нибудь логическую связь между ними, обязательно сообщите.
                    –2
                    Вопрос был
                    А почему вы считаете эти команды не логичными?

                    Я высказал свое предположение — почему, в какой ситуации, можно посчитать команды git нелогичными.
                    Тяжело разобраться, правда?
                      +3
                      Какая связь между нелогичностью команд git и нелогичностью выбора инструмента?
                        –1
                        «Нелогичность» команд — вещь не абсолютная. Она может быть относительной для решаемой задачи, что я и пытаюсь объяснить.
                        Если забивать микроскопом гвозди, его устройство тоже будет нелогичным: зачем здесь поворотные рукоятки? А стекла зачем — это же нелогично их сюда ставить — разбиться могут. А как его держать? За верх? Это нелогично, удобнее же за ручку, которой здесь нет. В общем, нелогичный «интерфейс» (команды), да и сам инструмент.
                          0
                          Попытаюсь обяснить вам на пальцах. Есть такой простенький gui к git — gitg. В нём очень удобно подготавливать изменения к коммиту. И это логичный выбор, минимум функционала, всё остально я всё равно делаю из консоли. Но в последних версиях у gitg нелогичный перевод.image
                          Но инструмент вполне решает свою задачу, хоть интерфейс у него и нелогичен.
                            0
                            Получилось плохо:

                            Есть такой простенький gui к git — gitg.

                            Выше речь шла о командах, т.е. о CLI., поэтому отсыл к git gui не в кассу.

                            Но инструмент вполне решает свою задачу, хоть интерфейс у него и нелогичен.

                            Я ничего не говорил о том, хорош ли git, удобен ли, решает ли задачу.
                            Я даже не утверждал, что у него нелогичный интерфейс для меня лично. Читайте, пожалуйста, внимательнее.
                  +2
                  Думаю, про эту нелогичность идет речь
                  –6
                  Git конечно суров и уродлив, но TortoiseGit ещё хуже. Худший GUI, наверное. Как люди вообще этим пользуются? Для Windows, например, есть Git Extensions.
                    +7
                    TortoiseGit — штука только под одну OS. Ну и абсолютно не подходит для автоматизации в отличие от Git CLI.
                      +1
                      Зачем учить эти нелогичные команды, если есть TortoiseGit.

                      У меня нету, что я делаю не так?

                      # apt-get install tortoiesgit

                      E: Unable to locate package tortoiesgit
                        0
                        У вас ошибка в названии пакета. (шутку понял)
                          0
                          TortoiseGit я взял для примера, наверняка и под линупс есть что-то подобное, да и во многие IDE встроена поддержка Git, так что прибегать к командной строке почти не приходится.
                          • НЛО прилетело и опубликовало эту надпись здесь
                              0
                              Основная фишка TortoiseGit (как и TortoiseSVN) — интеграция в контекстное меню проводника.
                                0
                                Как и его минус.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                    0
                                    Я тоже под виндой использую или cmd или gitBash. Под линуксом обычного терминала с головой хватает. Возможно дело привычки…
                                    +2
                                    Много ИМХО
                                    Я считаю, что в первую очередь надо уметь пользоваться именно cli. Допустим, у вас такая ситуация: у вас есть сервак на линуксе, естественно у него нет GUI, а вам надо сделать что-то посложнее, чем переключиться с одной ветки на другую. Поэтому GUI это и хорошо и плохо одновременно. С одной стороны упрощает работу, а с другой стороны притупляет полезные навыки.
                                    Лично я когда только подсел на Git попробовал пользоваться TortoiseGit и понял, что консольными Git + Git flow у меня получается быстрее работать и сам процесс становится понятнее. А TortoiseGit по сути является лишним.
                                    Одна из вещей в которой я увидел плюс TortoiseGit — это можно посмотреть графическую интерпретацию изменений/веток/и т.п. Но эта «фишка» ушла на второй план со знакомством с gitlab.
                                    Вторая «фишка» была — удобный просмотр диффов. Но потом нашёл плагин для SublimeText, который позволяет работать с гитом и эта фишка тоже ушла на второй план.
                                    В итоге все доводы в пользу гуйного интерфейса для гита у меня свелись к нулю. Зачем мне использовать 4 инструмента (Git, Gitlab, SublimText, TortoiseGit), когда я могу использовать только 3 (без TortoiseGit). Это, как мне кажется, практичнее.

                                    А интеграция в контекстное меню проводника — это вообще фигня какая-то… хотя бы потому, что этим проводником не все пользуются. Плюс ко всему интерфейсы TortoiseGit под разные платформы разные, наверняка (сам не проверял), если эта прога вообще существует в версии не для винды. А интерфейс cli везде одинаковый, что на винде, что на маке, что на линуксе.

                                    P.S.: ещё о «нелогичности» напоследок. Не за чем убивать карму человеку за то, что его опыт работы с гитом отличается от вашего. Это обращение не к вам конкретно :)
                            • НЛО прилетело и опубликовало эту надпись здесь
                              +1
                              SourceTree же, любителям GUI под Windows…
                              www.sourcetreeapp.com/
                                +1
                                Да, во многом удобен. Абстрагирует от разницы между Git/Hg, и в целом у них получилось неплохо. Но он очень сильно тормозит. На SSD работает чуть быстрее, но всё равно слишком медленно. Из недостатков ещё можно вспомнить, что нельзя скопировать текст из diff'а.
                                  +1
                                  На маке работает отлично. Под виндой — да, небыстро, к сожалению.
                                  0
                                  Да, классная софтина. Только
                                  $ git rebase -i
                                  в ней сделать нельзя :(
                                    0
                                    Ну, я GUI не пользуюсь, но коллеги хвалили.
                                  +5
                                  Чрезмерное употребление Git может плохо влиять на психику.
                                  Недавно засиделся до трёх ночи, исправляя запоротый реп. Потом, когда лёг спать, под утро слышу сквозь сон, что в комнату опять просочилась кошка (ночью ей тут нельзя находиться, иначе к утру пообгрызает все цветы).
                                  Первая мысль: вот блин, это ж сейчас вставать, ловить её…
                                  Вторая мысль: а чего париться? Она ведь ещё не закоммичена и даже не проиндексирована. Сейчас введу команду, и комната вернётся к исходному состоянию…
                                  Тут я окончательно проснулся, и понял, что слишком много Git'а — вредно.
                                    +1
                                    Засиживаться до трех ночи не ок с любой технологией :)
                                      0
                                      Пфф, вот до семи утра плохо…
                                    +3
                                    Прошёл. Но, кажется, в начале не стоило делать git branch -a.
                                      +1
                                      Спойлер
                                      (у меня настроены алиасы checkout — co и branch — br)

                                      git clone github.com/hgarc014/git-game.git
                                      git co 9b93
                                      git co bug
                                      git blame cool.cpp
                                      git co LinusTorvalds2014
                                      git co tree
                                      sh outputclue.sh nextclue_input.cpp
                                      git merge origin/code4life
                                      (fixed some conflicts)
                                      git commit -a
                                      sh outputclue.sh nextclue_input.cpp
                                      git co mouse
                                      git diff mouse bug
                                      git co origin/Henry
                                      git remote add upstream github.com/drami025/git-game.git
                                      git co master
                                      git pull upstream master
                                        +1
                                        Ну, не знаю. Это очевидное действие, если ты оказался в незнакомом репозитории.
                                          0
                                          Weee! Бейдж пришел от мозиллы.
                                          image
                                          –1
                                          Когда рождается программист, какую первую фразу он пробует сказать?
                                          Hello, world?

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                          Самое читаемое