diff --git a/src/levels/rampup/interactiveRebase.js b/src/levels/rampup/interactiveRebase.js index bf0ef539..8d24f359 100644 --- a/src/levels/rampup/interactiveRebase.js +++ b/src/levels/rampup/interactiveRebase.js @@ -15,7 +15,8 @@ exports.level = { "zh_CN": "你可以使用 branch 或者是相对位置(HEAD~)來指定 rebase 的目标", "zh_TW": "你可以指定 branch 或者是相對位置(HEAD~)來表示 rebase 的目標", "ru_RU": "Можно использовать либо ветки, либо относительные ссылки (HEAD~), чтобы указать цель для Rebase", - "ja" : "リベースする対象の指定には、ブランチ名や相対リファレンス(HEAD~)が使えます" + "ja" : "リベースする対象の指定には、ブランチ名や相対リファレンス(HEAD~)が使えます", + "ko" : "리베이스할 타겟으로 브랜치나 상대 참조(HEAD~)를 사용할 수 있습니다" }, "name": { "en_US": "Interactive Rebase Intro", @@ -26,7 +27,8 @@ exports.level = { "fr_FR": "Introduction à rebase", "zh_CN": "Rebase 交互命令介绍 ", "zh_TW": "介紹互動式的 rebase", - "ru_RU": "Введение в интерактивный Rebase" + "ru_RU": "Введение в интерактивный Rebase", + "ko": "인터랙티브 리베이스 소개" }, "startDialog": { "en_US": { @@ -613,6 +615,71 @@ exports.level = { } } ] + }, + "ko": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Git 인터렉티브 리베이스(Interactive Rebase)", + "", + "Git 체리-픽은 여러분이 원하는 커밋이 무엇인지 알때(각각의 해시값도) 아주 유용합니다 -- 체리-픽이 제공하는 간단함은 아주 매력적입니다.", + "", + "하지만 원하는 커밋을 모르는 상황에는 어쩌죠? 고맙게도 git은 이런상황에 대한 대안이 있습니다. 우리는 이럴 때 인터렉티브 리베이스를 사용하면됩니다 -- 리베이스할 일련의 커밋들을 검토할 수 있는 가장 좋은 방법입니다.", + "", + "자세히 알아보죠..." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "인터렉티브 리베이스가 의미하는 뜻은 `rebase` 명령어를 사용할 때 `-i` 옵션을 같이 사용한다는 것입니다.", + "", + "이 옵션을 추가하면, git은 리베이스의 목적지가 되는 곳 아래에 복사될 커밋들을 보여주는 UI를 띄울것 입니다. 각 커밋을 구분할 수 있는 각각의 해시들과 메시지도 보여줍니다.", + "", + "\"실제\"git 에서는 UI창을 띄우는것 대신에 `vim`과 같은 텍스트 편집기에서 파일을 엽니다. 저희는 배우는것이 목적이기에 같은 역할을 하는 작은 대화창을 만들어서 대신했습니다." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "인터렉티브 리베이스 대화창이 열리면, 3가지를 할 수 있습니다:", + "", + "* 적용할 커밋들의 순서를 UI를 통해 바꿀수 있습니다(여기서는 마우스 드래그앤 드롭으로 가능합니다)", + "* 원하지 않는 커밋들을 뺄 수 있습니다. 이것은 `pick`을 이용해 지정할 수 있습니다(여기서는 `pick`토글 버튼을 끄는것으로 가능합니다)", + "* 마지막으로, 커밋을 스쿼시(squash)할 수 있습니다. 불행히도 저희 레벨은 몇개의 논리적 문제들 때문에 지원을 하지 않습니다. 이거에 대해서는 넘어가겠습니다. 요약하자면 커밋을 합칠 수 있습니다", + "", + "자! 예시를 확인해 봅시다." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "버튼을 누르면 인터렉티브 리베이스 대화창이 뜰것 입니다. 커밋들의 순서를 바꿔보고(커밋을 빼 봐도 됩니다) 결과를 확인해봅시다!" + ], + "afterMarkdowns": [ + "Boom! Git이 UI를 통해 명시한 그대로 커밋들을 복사했습니다." + ], + "command": "git rebase -i HEAD~4 --aboveAll", + "beforeCommand": "git commit; git commit; git commit; git commit" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "이번 레벨을 통과하기 위해서 goal에 나타난 순서대로 만들기 위해 인터렉티브 리베이스를 사용해봅시다. `undo`와 `reset`을 통해 했던 실수들은 되돌릴 수 있습니다 :D" + ] + } + } + ] } } };