1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-learnGitBranching

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

LearnGitBranching

LearnGitBranching — это визуализатор репозиториев git, песочница и серия обучающих материалов и задач. Его основная цель — помочь разработчикам понять git с помощью визуализации (чего нет при работе в командной строке). Это достигается с помощью игры с разными уровнями для ознакомления с различными командами git.

В LearnGitBranching (LGB) можно вводить различные команды — по мере обработки команд ближайшее дерево коммитов динамически обновляется, отражая эффекты каждой команды:

Вы можете ознакомиться с демонстрацией здесь: https://pcottle.github.io/learnGitBranching/?demo

Или запустить приложение обычным образом здесь: https://pcottle.github.io/learnGitBranching/

Режим песочницы

По умолчанию приложение запускается в «режиме песочницы» с уже созданным базовым репозиторием. Здесь вы можете вводить команды и возиться с репозиторием сколько угодно. Имейте в виду, что вы можете:

  • undo отменить последнюю команду;
  • reset начать всё сначала с чистого листа (работает и на уровнях);
  • git clone имитировать удалённые репозитории!

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

Уровни

Введите levels, чтобы увидеть доступные уроки / задачи (и какие из них вы уже решили). Каждая серия уровней направлена на изучение какого-либо высокоуровневого концепта git, и каждая вкладка уровней разделяет основные области информации (например, удалённые репозитории и локальные).

Для дополнительного развлечения существует концепция «git golf», где мы отслеживаем, сколько команд вы используете для решения каждого уровня. Посмотрите, сможете ли вы побить все наши рекорды!

Обмен постоянными ссылками

Вы можете поделиться ссылкой на LearnGitBranching с произвольным набором команд, которые будут выполняться при загрузке, используя параметр URL command. В этом случае вы также, вероятно, захотите отключить диалоговое окно вступления, используя параметр NODEMO; вот пример, чтобы начать работу.

Конструктор уровней

Вы можете создавать уровни с помощью команды build level. Диалог проведёт вас через процесс, и в конце он покажет вам JSON-объект, представляющий только что созданный уровень. Вставьте его в gist или непосредственно в проблему, и я смогу проверить его / объединить ваши изменения! Вы также можете поделиться этим уровнем напрямую с друзьями, попросив их выполнить import level и вставить JSON в появившееся текстовое поле, или просто отправить им специальный URL с идентификатором gist, например так: https://pcottle.github.io/learnGitBranching/?gist_level_id=a84407351f9c9f0cb241

Отчёт об ошибках / открытие проблем

При сообщении об ошибках попробуйте выполнить команду debug_copyTree() в консоли JS, когда находитесь в состоянии непосредственно перед воспроизведением ошибки. Это поможет избежать необходимости копировать все команды, которые вы использовали для перехода в определённое состояние. (Я могу использовать команду importTreeNow, чтобы перейти к этому точному состоянию).

Сборка самостоятельно / добавление функциональности

Чтобы внести основной функционал в приложение, вам, вероятно, потребуется протестировать свои изменения хотя бы один раз перед отправкой запроса на вытягивание. Для этого вам понадобится инструмент сборки «gulp.js»:

https://gulpjs.com/docs/en/getting-started/quick-start

Вам также понадобится yarn для загрузки всех зависимостей проекта.

Общий рабочий процесс / шаги приведены ниже:

git clone <ваш форк репозитория>
cd learnGitBranching
yarn install

git checkout -b newAwesomeFeature
vim ./src/js/git/index.js # некоторые изменения
yarn gulp fastBuild # пропускает тесты и линтинг, быстрее строит

# после сборки вы можете открыть свой браузер на index.html **Перевод текста на русский язык:**

*open ./index.html*
# файл сгенерирован, смотрите изменения

*vim ./src/js/git/index.js* # ещё изменения
*yarn gulp build* # запускает тесты и линтинг

*git commit -am «Моя новая замечательная функция!»*
*git push*
# зайдите в интернет и запросите пул реквест

Также вы можете собрать и запустить приложение в предварительно настроенном онлайн-рабочем пространстве:

Open in Gitpod

Другие технические детали

LearnGitBranching — довольно простое приложение (с технической точки зрения). Здесь нет бэкенд-базы данных или каких-либо AJAX-запросов — это 100% клиентское приложение, написанное на JavaScript. Производственная версия (на github.io) буквально просто обслуживает HTML-страницу с некоторым JS и CSS.

Вот высокоуровневый процесс сборки:

  • CSS записывается в одну таблицу стилей (стилизации не так много);
  • Новый HTML записывается в шаблонный HTML-файл (template.index.html). Это нужно только для новых представлений;
  • Приложение «собирается», что выводит:
    • index.html в корневом каталоге;
    • файлы CSS и JS в каталоге ./build;
  • Если приложение собирается для продакшена, то эти файлы CSS и JS хешируются (чтобы сломать кэш) и запускаются тесты;
  • Вот и всё!

Таким образом, если вы собираете приложение локально, всё, что вам нужно сделать, чтобы запустить его, это просто открыть index.html в корне репозитория. Довольно просто.

Docker

Вы можете запустить последнее стабильное изображение с помощью команды docker run -p 8080:80 ghcr.io/pcottle/learngitbranching:main. Доступ к вашей среде осуществляется по адресу http://localhost:8080/.

Вы можете собрать приложение и образ с помощью команды: docker build -t ghcr.io/pcottle/learngitbranching:latest. Информацию о том, как собирать локально с помощью docker, см. в файле Makefile.

Некоторые из наших замечательных участников

. ## Полезные люди

Большое спасибо этим смелым людям за то, что они тщательно протестировали нашу песочницу и нашли ошибки и/или несоответствия:

  • Никита Куевда;
  • Максим Иоффе;
  • Дэн Миллер.

И следующим героям за помощь в переводе:

  • Джейк Чен;
  • «уригит»;
  • bcho;
  • scientific-coder;
  • ace-coder;
  • Жоэль Тиффри;
  • Йенс Бреммекамп (nem75);
  • hilojack;
  • Мин-Сюань-Ту (twmht);
  • Михаил Усов (mikhailusov);
  • Матиас Гарсия Исаиа (mgarciaisaia);
  • Марк-Оливье Арсенаульт (marcolivierarsenault);
  • Эроани Х Лидер (lhyqy5);
  • Онора («ahonorat»);
  • Василий Кулаков (coyl) и Любовь Агаджанян (shayenblue);
  • Алексей Берков (alexeiberkov);
  • Мизунаши Мана (mizunashi-mana);
  • YourSenseiCreeper;
  • Olsza.

Также большое спасибо всем, кто отправил пул реквест, который был принят! Посмотрите на более чем 30 участников, которые есть у нас в Списке участников.

И всем, кто сообщил о проблеме, которая была успешно решена!

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

learnGitBranching — это тренажёр по работе с Git, который предлагает серию интерактивных обучающих материалов и задач для более быстрого освоения принципов работы дерева коммитов в Git. Развернуть Свернуть
JavaScript и 5 других языков
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-learnGitBranching.git
git@api.gitlife.ru:oschina-mirror/mirrors-learnGitBranching.git
oschina-mirror
mirrors-learnGitBranching
mirrors-learnGitBranching
main