diff --git a/.gitignore b/.gitignore index b2903c14..2075e1c8 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,9 @@ index.html # Vim swaps *.sw* +# sed backups +*.bak + # Annoying mac stuff .DS_STORE diff --git a/README.md b/README.md index c8e66bed..38a4dd3b 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,7 @@ Alternatively, you can also build and run the app in a pre-configured online wor + [//]: contributor-faces @@ -161,7 +162,9 @@ And the following heroes for assisting in translating: * Vasil Kulakov ("coyl") & Lyubov Agadjanyan ("shayenblue") * Aliaksei Berkau ("alexeiberkov") * Mizunashi Mana ("mizunashi-mana") +* Olsza Also huge shoutout for everyone who has put up a pull request that was pulled! Check out the 30+ contributors we have in the [Contributors View](https://github.com/pcottle/learnGitBranching/graphs/contributors) And everyone who has reported an issue that was successfully closed! + diff --git a/__tests__/base.js b/__tests__/base.js index bde558f9..dc0fc848 100644 --- a/__tests__/base.js +++ b/__tests__/base.js @@ -33,7 +33,9 @@ var expectLevelAsync = function(headless, levelBlob) { } return headless.sendCommand(command).then(function() { - expect(compareLevelTree(headless, levelBlob)).toBeTruthy(); + expect(compareLevelTree(headless, levelBlob)).toBeTruthy( + 'Level "' + levelBlob['name']['en_US'] + '" should get solved' + ); }); }; diff --git a/__tests__/git.spec.js b/__tests__/git.spec.js index 05e72932..cfe6317d 100644 --- a/__tests__/git.spec.js +++ b/__tests__/git.spec.js @@ -60,6 +60,13 @@ describe('Git', function() { ); }); + it('Switches', function() { + return expectTreeAsync( + 'git switch -c side', + '{"branches":{"master":{"target":"C1","id":"master"},"side":{"target":"C1","id":"side"}},"commits":{"C0":{"parents":[],"id":"C0","rootCommit":true},"C1":{"parents":["C0"],"id":"C1"}},"HEAD":{"target":"side","id":"HEAD"}}' + ); + }); + it('Rebases', function() { return expectTreeAsync( 'gc; git checkout -b side C1; gc; git rebase master', @@ -172,6 +179,13 @@ describe('Git', function() { ); }); + it('switches after a rebase ', function() { + return expectTreeAsync( + 'git commit; git switch -c bugFix C1; git commit; git rebase master;git switch master', + '%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22master%22%7D%2C%22bugFix%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22bugFix%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D' + ); + }); + it('checks out after an interactive rebase', function() { return expectTreeAsync( 'git commit; git checkout -b bugFix C1; git commit; git rebase -i master --interactive-test;git checkout master', diff --git a/__tests__/levels.spec.js b/__tests__/levels.spec.js index 5a6f3720..ee4bc5ab 100644 --- a/__tests__/levels.spec.js +++ b/__tests__/levels.spec.js @@ -1,14 +1,14 @@ var base = require('./base'); describe('GitEngine Levels', function() { - it('solves levels', function() { - var sequences = require('../src/levels/index').levelSequences; - Object.keys(sequences).forEach(function(sequenceKey) { - var levels = sequences[sequenceKey]; - Object.keys(levels).forEach(function(index) { - var levelBlob = levels[index]; + var sequences = require('../src/levels/index').levelSequences; + Object.keys(sequences).forEach(function(sequenceKey) { + var levels = sequences[sequenceKey]; + Object.keys(levels).forEach(function(index) { + var levelBlob = levels[index]; + it('solves level ' + levelBlob['name']['en_US'] + ' in sequence ' + sequenceKey, function() { base.expectLevelSolved(levelBlob); - }.bind(this)); - }); + }); + }.bind(this)); }); }); diff --git a/__tests__/remote.spec.js b/__tests__/remote.spec.js index 04122703..96092f8a 100644 --- a/__tests__/remote.spec.js +++ b/__tests__/remote.spec.js @@ -369,8 +369,8 @@ describe('Git Remotes', function() { it('pulls with rebase correctly in weird situation with no rebase to do', function() { return expectTreeAsync( - 'git checkout -b side; git commit; git checkout master; git commit; git commit; git merge side; git commit; git clone; git checkout -b main master^^^; git rebase side; git rebase main master; git push;git pull --rebase', - '%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C6%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3A%22o/master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22side%22%2C%22remoteTrackingBranchID%22%3A%22o/side%22%7D%2C%22o/master%22%3A%7B%22target%22%3A%22C6%22%2C%22id%22%3A%22o/master%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22o/side%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22o/side%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22main%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22main%22%2C%22remoteTrackingBranchID%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C5%22%3A%7B%22parents%22%3A%5B%22C2%22%2C%22C4%22%5D%2C%22id%22%3A%22C5%22%7D%2C%22C6%22%3A%7B%22parents%22%3A%5B%22C5%22%5D%2C%22id%22%3A%22C6%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%2C%22C4%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C4%27%22%7D%2C%22C6%27%22%3A%7B%22parents%22%3A%5B%22C4%27%22%5D%2C%22id%22%3A%22C6%27%22%7D%7D%2C%22tags%22%3A%7B%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%2C%22originTree%22%3A%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C6%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22side%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22side%22%2C%22remoteTrackingBranchID%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C5%22%3A%7B%22parents%22%3A%5B%22C2%22%2C%22C4%22%5D%2C%22id%22%3A%22C5%22%7D%2C%22C6%22%3A%7B%22parents%22%3A%5B%22C5%22%5D%2C%22id%22%3A%22C6%22%7D%7D%2C%22tags%22%3A%7B%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D%7D' + 'git checkout -b side; git commit; git checkout master; git commit; git commit; git merge side; git commit; git clone; git checkout -b otherMain master^^^; git rebase side; git rebase otherMain master; git push;git pull --rebase', + '%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C6%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3A%22o/master%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22side%22%2C%22remoteTrackingBranchID%22%3A%22o/side%22%7D%2C%22o/master%22%3A%7B%22target%22%3A%22C6%22%2C%22id%22%3A%22o/master%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22o/side%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22o/side%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22otherMain%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22otherMain%22%2C%22remoteTrackingBranchID%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C5%22%3A%7B%22parents%22%3A%5B%22C2%22%2C%22C4%22%5D%2C%22id%22%3A%22C5%22%7D%2C%22C6%22%3A%7B%22parents%22%3A%5B%22C5%22%5D%2C%22id%22%3A%22C6%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%2C%22C4%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C4%27%22%7D%2C%22C6%27%22%3A%7B%22parents%22%3A%5B%22C4%27%22%5D%2C%22id%22%3A%22C6%27%22%7D%7D%2C%22tags%22%3A%7B%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%2C%22originTree%22%3A%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C6%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22side%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22side%22%2C%22remoteTrackingBranchID%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C5%22%3A%7B%22parents%22%3A%5B%22C2%22%2C%22C4%22%5D%2C%22id%22%3A%22C5%22%7D%2C%22C6%22%3A%7B%22parents%22%3A%5B%22C5%22%5D%2C%22id%22%3A%22C6%22%7D%7D%2C%22tags%22%3A%7B%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D%7D' ); }); diff --git a/assets/forkme_right_darkblue_121621.png b/assets/forkme_right_darkblue_121621.png deleted file mode 100644 index 100aad0f..00000000 Binary files a/assets/forkme_right_darkblue_121621.png and /dev/null differ diff --git a/gulpfile.js b/gulpfile.js index 0c35630c..0a027dac 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -163,7 +163,7 @@ var gitDeployMergeMaster = function(done) { }; var gitDeployPushOrigin = function(done) { - execSync('git commit -am "rebuild for prod" && ' + + execSync('git commit -am "rebuild for prod"; ' + 'git push origin gh-pages && ' + 'git branch -f trunk gh-pages && ' + 'git checkout master' diff --git a/src/js/dialogs/confirmShowSolution.js b/src/js/dialogs/confirmShowSolution.js index f4b1d50a..e0c59e72 100644 --- a/src/js/dialogs/confirmShowSolution.js +++ b/src/js/dialogs/confirmShowSolution.js @@ -49,6 +49,16 @@ exports.dialog = { ] } }], + 'es_MX': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## ¿Estás seguro de que quieres ver la solución?', + '', + '¡Creo en ti! ¡Yo sé que puedes!' + ] + } + }], 'es_ES': [{ type: 'ModalAlert', options: { @@ -144,6 +154,16 @@ exports.dialog = { 'Verjamem vate! Maš ti to! Ali pač ne?' ] } + }], + 'pl': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## Czy na pewno chcesz zobaczyć rozwiązanie?', + '', + 'Wierzę w Ciebie! Możesz to zrobić' + ] + } }] }; diff --git a/src/js/dialogs/levelBuilder.js b/src/js/dialogs/levelBuilder.js index 21553a85..963713f7 100644 --- a/src/js/dialogs/levelBuilder.js +++ b/src/js/dialogs/levelBuilder.js @@ -94,6 +94,25 @@ exports.dialog = { ] } }], + 'es_MX': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## ¡Bienvenido al constructor de niveles!', + '', + 'Estos son los pasos principales:', + '', + ' * Preparar el entorno inicial usando comandos de Git', + ' * Definir el árbol inicial con ```define start```', + ' * Introducir la serie de comandos de git que representan la solución óptima', + ' * Crear el árbol objetivo con ```define goal```. El objetivo también determina la solución', + ' * Opcionalmente, crea pistas con ```define hint```', + ' * Dale un nombre con ```define name```', + ' * Opcionalmente, crea un mensaje inicial con ```edit dialog```', + ' * ¡Introduce el comando ```finish``` para obtener tu nivel en formato JSON!' + ] + } + }], 'es_ES': [{ type: 'ModalAlert', options: { @@ -286,4 +305,23 @@ exports.dialog = { ] } }], + 'pl': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## Witamy w kreatorze poziomów!', + '', + 'Oto główne kroki:', + '', + ' * Przygotuj środowisko początkowe za pomocą poleceń GIT-a', + ' * Zdefiniuj drzewo początkowe za pomocą ```define start```', + ' * Wprowadź serię poleceń GIT-a, które tworzą (optymalne) rozwiązanie', + ' * Utwórz drzewo celów za pomocą ```define goal```. Określenie celu określa również rozwiązanie', + ' * Opcjonalnie utwórz podpowiedzi (wskazówkę) za pomocą ```define hint```', + ' * Nadaj nazwę za pomocą ```define name```', + ' * Opcjonalnie, utwórz wiadomość początkową za pomocą ```edit dialog```', + ' * Wpisz polecenie ```finish```, aby wyświetlić swój poziom w JSON!' + ] + } + }], }; diff --git a/src/js/dialogs/nextLevel.js b/src/js/dialogs/nextLevel.js index f537012a..c474d887 100644 --- a/src/js/dialogs/nextLevel.js +++ b/src/js/dialogs/nextLevel.js @@ -67,6 +67,17 @@ exports.dialog = { ] } }], + 'es_MX': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## ¡Buen trabajo!', + '', + 'Resolviste el nivel en *{numCommands}* comandos; ', + 'nuestra mejor solución usa: {best}.' + ] + } + }], 'es_ES': [{ type: 'ModalAlert', options: { @@ -165,5 +176,16 @@ exports.dialog = { 'naša rešitev uporabi {best}.' ] } - }] + }], + 'pl': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## Dobra robota!!', + '', + 'Rozwiązałeś poziom używając *{numCommands}* poleceń/ia; ', + 'nasze rozwiązanie składa się z {best}.' + ] + } + }], }; diff --git a/src/js/dialogs/sandbox.js b/src/js/dialogs/sandbox.js index 8b7c5224..6f5ed23f 100644 --- a/src/js/dialogs/sandbox.js +++ b/src/js/dialogs/sandbox.js @@ -18,7 +18,14 @@ exports.dialog = { '', 'PS: Want to go straight to a sandbox next time?', 'Try out ', - '[this special link](https://pcottle.github.io/learnGitBranching/?NODEMO)' + '[this special link](https://pcottle.github.io/learnGitBranching/?NODEMO)', + '', + 'PPS: GitHub (and the industry at large) is moving to naming the default branch as `main` instead of `master` ', + 'with [more details available here](https://github.com/github/renaming). In order to accommodate this change in ', + 'a backwards-compatible way, these two names will be considered aliases of each other, with `main` being ', + 'the preferred one to display. We\'ve made a best-effort attempt to update all of the level content, but ', + 'there will be a long-tail of areas we have missed. Please submit a PR (or open an issue) if you spot any ', + 'egregious ones, and thanks for helping move away from biased terminology.' ] } }], @@ -78,6 +85,62 @@ exports.dialog = { ] } }], + 'es_MX': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## ¡Bienvenid@ a Learn Git Branching!', + '', + 'Esta aplicación está diseñada para ayudar a los principantes', + 'a manejar los poderosos conceptos que hay detrás del trabajo', + 'con ramas (branches) en Git. Esperamos que disfrutes la aplicación', + 'y tal vez incluso ¡que aprendas algo!', + '', + '# ¡Demo!', + '', + 'Si no viste la demo, mirala en ésta dirección:', + '', + '[https://pcottle.github.io/learnGitBranching/?demo](https://pcottle.github.io/learnGitBranching/?demo)', + '', + '¿Harto de este mensaje? Agregale `?NODEMO` a la URL para dejar de verlo, como en éste link:', + '', + '[https://pcottle.github.io/learnGitBranching/?NODEMO](?NODEMO)' + ] + } + }, { + type: 'ModalAlert', + options: { + markdowns: [ + '## Comandos de git', + '', + 'Tienes una gran variedad de comandos de git en este sandbox. He aquí una lista de los incluidos:', + '', + ' * commit', + ' * branch', + ' * checkout', + ' * cherry-pick', + ' * reset', + ' * revert', + ' * rebase', + ' * merge' + ] + } + }, { + type: 'ModalAlert', + options: { + markdowns: [ + '## ¡Comparte!', + '', + 'Comparte tus árboles con tus amigos usando `export tree` e `import tree`', + '', + '¿Tienes una buena lección que compartir? Prueba construyendo un nivel con `build level` o prueba el nivel de un amigo con `import level`', + '', + 'Para ver todos los comandos disponibles, prueba `show commands`. Hay algunos muy prácticos como `undo` y `reset`', + '', + 'Por ahora, arranquemos con los `levels`...' + ] + } + }], 'es_ES': [{ type: 'ModalAlert', options: { @@ -508,7 +571,7 @@ exports.dialog = { markdowns: [ '## Commandes Git', '', - 'Il existe une large variété de commandes git disponibles dans le mode bac à sable. Sont inclues :', + 'Il existe une large variété de commandes git disponibles dans le mode bac à sable. Sont incluses :', '', ' * commit', ' * branch', @@ -659,4 +722,63 @@ exports.dialog = { ] } }], + 'pl': [{ + type: 'ModalAlert', + options: { + markdowns: [ + '## Witaj w Learn Git Branching!', + '', + 'Celem tej aplikacji jest zilustrowanie rozległych i złożonych relacji pomiędzy procesami związanymi z pracą z GIT-em.', + 'Mam nadzieję, że ci się to spodoba i może nawet się czegoś nauczysz!', + '"Learn Git Branching" to najbardziej wizualny i interaktywny sposób na naukę GIT-a w sieci.', + 'Będziesz miał do czynienia z ekscytującymi poziomami wraz z pokazaniem krok po kroku potężnych funkcji, a może nawet z odrobiną zabawy po drodze.', + '', + 'Jeśli jesteś początkujący, po prostu zacznij od pierwszego poziomu.', + 'Jeśli znasz już podstawy GIT-a, wypróbuj niektóre z naszych późniejszych, bardziej wymagających poziomów.', + '', + '# Demo!', + '', + 'Jeśli nie widziałeś tej demonstracji, możesz ją obejrzeć tutaj:', + '', + '[https://pcottle.github.io/learnGitBranching/?demo](https://pcottle.github.io/learnGitBranching/?demo)', + '', + 'Masz dość tego okna? Dodaj `?NODEMO` do adresu URL, aby się go pozbyć, w ten sposób:', + '', + '[https://pcottle.github.io/learnGitBranching/?NODEMO](?NODEMO)' + ] + } + }, { + type: 'ModalAlert', + options: { + markdowns: [ + '## Komendy GIT-a', + '', + 'W trybie piaskownicy dostępna jest duża liczba poleceń GIT. Między innymi', + '', + ' * commit', + ' * branch', + ' * checkout', + ' * cherry-pick', + ' * reset', + ' * revert', + ' * rebase', + ' * merge' + ] + } + }, { + type: 'ModalAlert', + options: { + markdowns: [ + '## Dzielenie się jest Fajne!', + '', + 'Podziel się tymi drzewami GIT-a z przyjaciółmi, wpisując `export tree` oraz `import tree`.', + '', + 'Czy masz coś, co warto wiedzieć o GIT-cie? Spróbuj zbudować swój poziom wpisując `build level` lub spróbuj poziomu znajomego wpisując `import level`', + '', + 'Aby zobaczyć wszystkie polecenia, wpisz `show commands`. Pod spodem są "małe skarby" jak `undo`(cofnij) i `reset`', + '', + 'Na razie zacznijmy od wpisania `levels`...' + ] + } + }], }; diff --git a/src/js/git/commands.js b/src/js/git/commands.js index 008fc48b..2b385d9d 100644 --- a/src/js/git/commands.js +++ b/src/js/git/commands.js @@ -253,7 +253,7 @@ var commandConfig = { source = firstArg; assertIsBranch(engine.origin, source); // get o/master locally if master is specified - destination = engine.origin.refs[source].getPrefixedID(); + destination = engine.origin.resolveID(source).getPrefixedID(); } else { // can't be detached if (engine.getDetachedHead()) { @@ -394,7 +394,7 @@ var commandConfig = { source = firstArg; assertIsBranch(engine.origin, source); // get o/master locally if master is specified - destination = engine.origin.refs[source].getPrefixedID(); + destination = engine.origin.resolveID(source).getPrefixedID(); } if (source) { // empty string fails this check assertIsRef(engine.origin, source); @@ -447,8 +447,8 @@ var commandConfig = { assertIsRemoteBranch(engine, remoteBranch); assertIsBranch(engine, branch); engine.setLocalToTrackRemote( - engine.refs[branch], - engine.refs[remoteBranch] + engine.resolveID(branch), + engine.resolveID(remoteBranch) ); return; } @@ -743,7 +743,7 @@ var commandConfig = { var refspecParts = firstArg.split(':'); source = refspecParts[0]; destination = validateBranchName(engine, refspecParts[1]); - if (source === "" && !engine.origin.refs[destination]) { + if (source === "" && !engine.origin.resolveID(destination)) { throw new GitError({ msg: intl.todo( 'cannot delete branch ' + options.destination + ' which doesnt exist' @@ -770,7 +770,7 @@ var commandConfig = { sourceObj.getRemoteTrackingBranchID()) { assertBranchIsRemoteTracking(engine, source); var remoteBranch = sourceObj.getRemoteTrackingBranchID(); - destination = engine.refs[remoteBranch].getBaseID(); + destination = engine.resolveID(remoteBranch).getBaseID(); } else { destination = validateBranchName(engine, source); } @@ -855,6 +855,48 @@ var commandConfig = { command.twoArgsImpliedHead(generalArgs); engine.tag(generalArgs[0], generalArgs[1]); } + }, + + switch: { + sc: /^(gsw|git sw)($|\s)/, + regex: /^git +switch($|\s)/, + options: [ + '-c', + '-' + ], + execute: function(engine, command) { + var generalArgs = command.getGeneralArgs(); + var commandOptions = command.getOptionsMap(); + + var args = null; + if (commandOptions['-c']) { + // the user is really trying to just make a + // branch and then switch to it. so first: + args = commandOptions['-c'].concat(generalArgs); + command.twoArgsImpliedHead(args, '-c'); + + var validId = engine.validateBranchName(args[0]); + engine.branch(validId, args[1]); + engine.checkout(validId); + return; + } + + if (commandOptions['-']) { + // get the heads last location + var lastPlace = engine.HEAD.get('lastLastTarget'); + if (!lastPlace) { + throw new GitError({ + msg: intl.str('git-result-nothing') + }); + } + engine.HEAD.set('target', lastPlace); + return; + } + + command.validateArgBounds(generalArgs, 1, 1); + + engine.checkout(engine.crappyUnescape(generalArgs[0])); + } } }; diff --git a/src/js/git/index.js b/src/js/git/index.js index b8f95ef8..1260084b 100644 --- a/src/js/git/index.js +++ b/src/js/git/index.js @@ -381,7 +381,7 @@ GitEngine.prototype.makeOrigin = function(treeString) { }; GitEngine.prototype.makeRemoteBranchIfNeeded = function(branchName) { - if (this.refs[ORIGIN_PREFIX + branchName]) { + if (this.doesRefExist(ORIGIN_PREFIX + branchName)) { return; } // if its not a branch on origin then bounce @@ -394,7 +394,7 @@ GitEngine.prototype.makeRemoteBranchIfNeeded = function(branchName) { }; GitEngine.prototype.makeBranchIfNeeded = function(branchName) { - if (this.refs[branchName]) { + if (this.doesRefExist(branchName)) { return; } var where = this.findCommonAncestorForRemote( @@ -405,7 +405,7 @@ GitEngine.prototype.makeBranchIfNeeded = function(branchName) { }; GitEngine.prototype.makeRemoteBranchForRemote = function(branchName) { - var target = this.origin.refs[branchName].get('target'); + var target = this.origin.resolveID(branchName).get('target'); var originTarget = this.findCommonAncestorWithRemote( target.get('id') ); @@ -668,7 +668,7 @@ GitEngine.prototype.validateBranchName = function(name) { GitEngine.prototype.validateAndMakeBranch = function(id, target) { id = this.validateBranchName(id); - if (this.refs[id]) { + if (this.doesRefExist(id)) { throw new GitError({ msg: intl.str( 'bad-branch-name', @@ -695,8 +695,14 @@ GitEngine.prototype.validateAndMakeTag = function(id, target) { }; GitEngine.prototype.makeBranch = function(id, target) { + // all main branches are stored as master under the hood + if (id.match(/\bmain\b/)) { + id = id.replace(/\bmain\b/, 'master'); + } + if (this.refs[id]) { - throw new Error('woah already have that'); + var err = new Error(); + throw new Error('woah already have that ref ' + id + ' ' + err.stack); } var branch = new Branch({ @@ -1065,14 +1071,15 @@ GitEngine.prototype.push = function(options) { return; } - var sourceBranch = this.refs[options.source]; + var sourceBranch = this.resolveID(options.source); if (sourceBranch && sourceBranch.attributes.type === 'tag') { throw new GitError({ msg: intl.todo('Tags are not allowed as sources for pushing'), }); } - if (!this.origin.refs[options.destination]) { + if (!this.origin.doesRefExist(options.destination)) { + console.warn('ref', options.destination); this.makeBranchOnOriginAndTrack( options.destination, this.getCommitFromRef(sourceBranch) @@ -1083,7 +1090,7 @@ GitEngine.prototype.push = function(options) { this.animationFactory.playRefreshAnimation(this.origin.gitVisuals); this.animationFactory.playRefreshAnimation(this.gitVisuals); } - var branchOnRemote = this.origin.refs[options.destination]; + var branchOnRemote = this.origin.resolveID(options.destination); var sourceLocation = this.resolveID(options.source || 'HEAD'); // first check if this is even allowed by checking the sync between @@ -1184,7 +1191,7 @@ GitEngine.prototype.push = function(options) { // HAX HAX update master and remote tracking for master chain = chain.then(function() { var localCommit = this.getCommitFromRef(sourceLocation); - this.setTargetLocation(this.refs[ORIGIN_PREFIX + options.destination], localCommit); + this.setTargetLocation(this.resolveID(ORIGIN_PREFIX + options.destination), localCommit); return this.animationFactory.playRefreshAnimation(this.gitVisuals); }.bind(this)); @@ -1313,7 +1320,7 @@ GitEngine.prototype.fetchCore = function(sourceDestPairs, options) { // need to get the parents first. since we order by depth, we know // the dependencies are there already var parents = parentIDs.map(function(parentID) { - return this.refs[parentID]; + return this.resolveID(parentID); }, this); return this.makeCommit(parents, id); }.bind(this); @@ -1345,7 +1352,7 @@ GitEngine.prototype.fetchCore = function(sourceDestPairs, options) { chain = chain.then(function() { return this.animationFactory.playHighlightPromiseAnimation( - this.origin.refs[commitJSON.id], + this.origin.resolveID(commitJSON.id), localBranch ); }.bind(this)); @@ -1361,7 +1368,7 @@ GitEngine.prototype.fetchCore = function(sourceDestPairs, options) { chain = chain.then(function() { // update all the destinations sourceDestPairs.forEach(function (pair) { - var ours = this.refs[pair.destination]; + var ours = this.resolveID(pair.destination); var theirCommitID = this.origin.getCommitFromRef(pair.source).get('id'); // by definition we just made the commit with this id, // so we can grab it now @@ -1400,7 +1407,7 @@ GitEngine.prototype.pull = function(options) { return; } - var destBranch = this.refs[options.destination]; + var destBranch = this.resolveID(options.destination); // then either rebase or merge if (options.isRebase) { this.pullFinishWithRebase(pendingFetch, localBranch, destBranch); @@ -1611,7 +1618,8 @@ GitEngine.prototype.resolveName = function(someRef) { GitEngine.prototype.resolveID = function(idOrTarget) { if (idOrTarget === null || idOrTarget === undefined) { - throw new Error('Don\'t call this with null / undefined'); + var err = new Error(); + throw new Error('Don\'t call this with null / undefined: ' + err.stack); } if (typeof idOrTarget !== 'string') { @@ -1652,8 +1660,20 @@ GitEngine.prototype.resolveRelativeRef = function(commit, relative) { return commit; }; +GitEngine.prototype.doesRefExist = function(ref) { + if (ref.match(/\bmain\b/)) { + ref = ref.replace(/\bmain\b/, 'master'); + } + return !!this.refs[ref] +}; + GitEngine.prototype.resolveStringRef = function(ref) { ref = this.crappyUnescape(ref); + + if (ref.match(/\bmain\b/)) { + ref = ref.replace(/\bmain\b/, 'master'); + } + if (this.refs[ref]) { return this.refs[ref]; } @@ -2501,7 +2521,7 @@ GitEngine.prototype.checkout = function(idOrTarget) { GitEngine.prototype.forceBranch = function(branchName, where) { branchName = this.crappyUnescape(branchName); // if branchname doesn't exist... - if (!this.refs[branchName]) { + if (!this.doesRefExist(branchName)) { this.branch(branchName, where); } @@ -2922,30 +2942,27 @@ var Commit = Backbone.Model.extend({ }, getLogEntry: function() { - // for now we are just joining all these things with newlines which - // will get placed by paragraph tags. Not really a fan of this, but - // it's better than making an entire template and all that jazz return [ 'Author: ' + this.get('author'), 'Date: ' + this.get('createTime'), - '
', + '', this.get('commitMessage'), - '
', + '', 'Commit: ' + this.get('id') - ].join('\n' ) + '\n'; + ].join('
') + '\n'; }, getShowEntry: function() { // same deal as above, show log entry and some fake changes return [ - this.getLogEntry(), + this.getLogEntry().replace('\n', ''), 'diff --git a/bigGameResults.html b/bigGameResults.html', '--- bigGameResults.html', '+++ bigGameResults.html', '@@ 13,27 @@ Winner, Score', '- Stanfurd, 14-7', '+ Cal, 21-14' - ].join('\n') + '\n'; + ].join('
') + '\n'; }, validateAtInit: function() { diff --git a/src/js/intl/strings.js b/src/js/intl/strings.js index 4d5fcb0e..5bde3064 100755 --- a/src/js/intl/strings.js +++ b/src/js/intl/strings.js @@ -4,10 +4,11 @@ exports.strings = { '__desc__': 'One of the lines in the next level dialog', 'ja': '最後のレベルをクリアしました!すごい!!', 'en_US': 'Wow! You finished the last level, great!', - 'de_DE': 'Wow! Du hast den letzten Level gelöst, super!', + 'de_DE': 'Wow! Du hast das letzte Level gelöst, super!', 'zh_CN': 'Wow!你通关了!', 'zh_TW': '我的天啊!您解開了最後一關,太強了!', 'es_AR': '¡Ea! Terminaste el último nivel, ¡genial!', + 'es_MX': '¡Enhorabuena! Terminaste el último nivel, ¡genial!', 'es_ES': '¡Felicitaciones! Terminaste el último nivel!', 'pt_BR': 'Uia! Você terminou o último nível, massa!', 'gl' : '¡Yeeeha! Remataches o derradeiro nivel, ¡a tope!', @@ -16,8 +17,8 @@ exports.strings = { 'uk': 'Вау! Ти пройшов останній рівень, круто!', 'ko': '와우! 마지막 레벨까지 마쳤습니다. 멋지네요!', 'vi': 'Wao! Bạn đã phá đảo, quá tuyệt!', - 'sl_SI': 'Wow! Končal si zadnjo stopnjo, fantastično!' - + 'sl_SI': 'Wow! Končal si zadnjo stopnjo, fantastično!', + 'pl': 'Wow! Ukończono ostatni poziom, świetnie!' }, /////////////////////////////////////////////////////////////////////////// 'finish-dialog-next': { @@ -28,6 +29,7 @@ exports.strings = { 'zh_CN': '要不要试试下一关 *“{nextLevel}”*?', 'zh_TW': '下一關是*「{nextLevel}」*,您要繼續闖關嗎?', 'es_AR': '¿Querés seguir con *"{nextLevel}"*, el próximo nivel?', + 'es_MX': '¿Quieres seguir con *"{nextLevel}"*, el próximo nivel?', 'es_ES': '¿Quieres pasar al nivel *"{nextLevel}"*, el próximo nivel?', 'pt_BR': 'Você gostaria de ir para o próximo nível: *"{nextLevel}"*?', 'gl' : '¿Gustaríache ir o seguinte nivel: *"{nextLevel}"*?', @@ -36,7 +38,8 @@ exports.strings = { 'uk': 'Хочеш перейти на наступний рівень -- *"{nextLevel}"*?', 'ko': '다음 레벨로 넘어갈까요? 레벨 *"{nextLevel}"*', 'vi': 'Bạn có muốn chuyển sang cấp độ tiếp: *"{nextLevel}"* không?', - 'sl_SI': 'Bi rad nadaljeval na *"{nextLevel}"*, naslednjo stopnjo?' + 'sl_SI': 'Bi rad nadaljeval na *"{nextLevel}"*, naslednjo stopnjo?', + 'pl': 'Czy chcesz przejść do następnego poziomu - *"{nextLevel}"*?' }, /////////////////////////////////////////////////////////////////////////// 'finish-dialog-win': { @@ -48,6 +51,7 @@ exports.strings = { 'zh_CN': '太强了!你的答案符合标准答案甚至更好。', 'zh_TW': '太強了,您的答案符合我們的預期甚至更好!', 'es_AR': '¡Fabuloso! Igualaste o superaste nuestra solución.', + 'es_MX': '¡Fabuloso! Igualaste o superaste nuestra solución.', 'es_ES': '¡Fabuloso! Igualaste o superaste nuestra solución.', 'gl' : '¡Fabuloso! Fixécholo igual ou mellor ca nosa solución.', 'fr_FR': 'Fabuleux ! Votre solution a égalé ou surpassé notre solution.', @@ -55,7 +59,8 @@ exports.strings = { 'uk': 'Чудово! Твій розв’язок на рівні або кращий від нашого.', 'ko': '멋져요! 우리의 해답과 일치하거나 우리보다 좀 더 나은 해답입니다.', 'vi': 'Tuyệt vời! Đáp án của bạn đạt chuẩn thâm chí có thể tốt hơn.', - 'sl_SI': 'Bravo! Izenačil ali celo presegel si našo rešitev.' + 'sl_SI': 'Bravo! Izenačil ali celo presegel si našo rešitev.', + 'pl': 'Niesamowite! Rozwiązałeś zadanie w ten sam sposób lub lepiej.' }, /////////////////////////////////////////////////////////////////////////// 'finish-dialog-lose': { @@ -66,6 +71,7 @@ exports.strings = { 'zh_CN': '试试看你能否在 {best} 步之内搞定 :D', 'zh_TW': '試試看您是否能在 {best} 步内搞定 :D', 'es_AR': 'Fijate si podés bajarlo a usar sólo {best} comandos :D', + 'es_MX': 'Fíjate si puedes bajarlo a usar sólo {best} comandos :D', 'es_ES': 'Trata de usar sólo {best} comandos :D', 'pt_BR': 'Veja se consegue reduzir para somente {best} :D', 'gl' : 'Mira se consigues reducir a solo {best} :D', @@ -74,7 +80,8 @@ exports.strings = { 'uk': 'Спробуй, можливо ти зможеш вкластися в {best} кроків :D', 'ko': '{best}회로 줄일 수 있다면 해보세요. :D', 'vi': 'Thử xem bạn có thể giảm xuống {best} không? :D', - 'sl_SI': 'Misliš da lahko spraviš rešitev na {best}? :D' + 'sl_SI': 'Misliš da lahko spraviš rešitev na {best}? :D', + 'pl': 'Sprawdź, czy dasz radę to zrobić w {best} krokach :D' }, /////////////////////////////////////////////////////////////////////////// 'hg-prune-tree': { @@ -83,6 +90,7 @@ exports.strings = { 'zh_CN': '注意! Mercurial 会进行主动垃圾回收,需要将你的提交树縮小。', 'zh_TW': '注意! Mercurial 會積極地做垃圾收集,而且會因此把你的 tree 給縮小。', 'es_AR': '¡Cuidado! Mercurial hace garbage collection agresivamente y necesita eliminar tu árbol', + 'es_MX': '¡Cuidado! Mercurial hace garbage collection agresivamente y necesita eliminar tu árbol', 'es_ES': '¡Cuidado! Mercurial hace la recolección de basura agresivamente (para administrar memoria) y necesita podar tu árbol.', 'pt_BR': 'Cuidado! O Mercurial faz coleção de lixo agressiva e precisa prunar sua árvore', 'gl' : '¡Coidado! Mercurial fai que recolección de lixo agresivamente (para limpar memoria) e precisa podar a túa árbore.', @@ -92,7 +100,8 @@ exports.strings = { 'uk': 'Увага! Mercurial агресивно збирає сміття й може обрізати твоє дерево ', 'ko': '주의! Mercurial은 공격적으로 가비지 컬렉션을 수행하므로 트리를 정리할 필요가 있습니다.', 'vi': 'Cảnh báo! Mercurial cần thực hiện thu gom rác và thu nhỏ cây lịch sử của bạn.', - 'sl_SI': 'Opozorilo! Mercurial ima agresivno politiko garbage collectiona in bo obrezal vaše drevo' + 'sl_SI': 'Opozorilo! Mercurial ima agresivno politiko garbage collectiona in bo obrezal vaše drevo', + 'pl': 'Ostrzeżenie! Mercurial prowadzi agresywną kolekcję śmieci i dlatego musi przycinać Twoje drzewo' }, /////////////////////////////////////////////////////////////////////////// 'hg-a-option': { @@ -101,6 +110,7 @@ exports.strings = { 'zh_TW': '對於這個 app 來說,-A 選項並不是必須的,只需要 commit 就好!', 'zh_CN': '对本 App 而言,-A 选项并非必须项,直接 commit 就好!', 'es_AR': 'La opción -A no es necesaria para esta aplicación, simplemente hacé commit', + 'es_MX': 'La opción -A no es necesaria para ésta aplicación, simplemente se hace commit', 'es_ES': 'La opción -A no se necesita para este aplicación, sólo hace un commit!', 'pt_BR': 'A opção -A não é necessária para este aplicativo, simplesmente faça commit', 'gl' : 'A opción -A non se necesita para este aplicativo, ¡fai só un commit!', @@ -110,7 +120,8 @@ exports.strings = { 'uk': 'Опція -A не потрібна для цього застосунку, можна просто комітити!', 'ko': '이 앱에선 -A 옵션은 필요 없습니다. 그냥 커밋하세요!', 'vi': 'Không cần thiết phải dùng tùy chọn -A trên ứng dụng này, cứ commit là được!', - 'sl_SI': 'Opcija -A ni potrebna za to aplikacijo, samo commitaj!' + 'sl_SI': 'Opcija -A ni potrebna za to aplikacijo, samo commitaj!', + 'pl': 'Opcja -A nie jest wymagana w tej aplikacji, po prostu zrób `commit`!' }, /////////////////////////////////////////////////////////////////////////// 'hg-error-no-status': { @@ -119,6 +130,7 @@ exports.strings = { 'zh_CN': '本 App 没有 status 命令哦,因为根本没有 stage 缓存文件。可以用 hg summary 代替哦', 'zh_TW': '本 App 没有 status 命令哦,因为根本没有 stage 缓存文件。可以用 hg summary 代替哦', 'es_AR': 'No hay un comando status para esta aplicación, dado que no hay archivos que indexar. Probá hg summary, en cambio', + 'es_MX': 'No hay un comando status para esta aplicación, dado que no hay archivos que indexar. Prueba `hg summary`, en cambio', 'es_ES': 'No hay un comando status para esta aplicación, porque no hay archivos que indexar. Prueba el comando hg summary', 'pt_BR': 'Não existe um comando status para este aplicativo, já que não há staging de arquivos. Tente hg summary', 'gl' : 'Non hai un comando status para esta aplicación, xa que non hai ficheiros que indexar. Proba hg summary', @@ -128,7 +140,8 @@ exports.strings = { 'uk': 'Команда status не підтримується в цьому застосунку, так як немає стейджингу(staging) файлів. Натомість спробуй hg summary ', 'ko': '이 앱을 위한 상태 명령어는 없습니다. 왜냐하면 파일들의 스테이징이 없기 때문입니다. 대신 hg summary를 시도해보세요.', 'vi': 'Ứng dụng này không hỗ trợ lệnh `status` vì không có tệp nhớ đệm, thay vì đó hãy dùng lệnh `hg summary`', - 'sl_SI': 'Za to aplikacijo ni na voljo `status` ukaza, ker tu ni `stage-anja` datotek. Poizkusiš lahko `hg summary`' + 'sl_SI': 'Za to aplikacijo ni na voljo `status` ukaza, ker tu ni `stage-anja` datotek. Poizkusiš lahko `hg summary`', + 'pl' : 'W tej aplikacji nie ma polecenia `status`, ponieważ nie ma przemieszczania plików. Zamiast tego wypróbuj `hg summary`' }, /////////////////////////////////////////////////////////////////////////// 'hg-error-need-option': { @@ -137,6 +150,7 @@ exports.strings = { 'zh_CN': '我需要该命令使用 {option} 选项呢。', 'zh_TW': '我需要該命令使用 {option} 選項呢。', 'es_AR': '¡Necesito la opción {opcion} para ese comando!', + 'es_MX': '¡Necesito la opción {opcion} para ese comando!', 'es_ES': '¡Necesito la opción {opcion} para ese comando!', 'pt_BR': 'Eu preciso da opção {option} para esse comando!', 'gl' : 'Preciso da opción {option} para ese comando!', @@ -146,7 +160,8 @@ exports.strings = { 'uk': 'Для цієї команди потрібна опція {option}', 'ko': '나는 그 명령어를 위한 {option} 옵션이 필요합니다.', 'vi': 'Câu lệnh đó cần tùy chọn {option}!', - 'sl_SI': 'Potrebujem opcijo {option} za ta ukaz!' + 'sl_SI': 'Potrebujem opcijo {option} za ta ukaz!', + 'pl': 'Potrzebuję opcji {option} dla tego polecenia!' }, /////////////////////////////////////////////////////////////////////////// 'hg-error-log-no-follow': { @@ -155,6 +170,7 @@ exports.strings = { 'zh_CN': '暂不支持没有-f 选项的 hg log 命令,请补充 -f 选项吧', 'zh_TW': '暫不支持沒有-f 選項的 hg log 命令,請補充 -f 選項吧', 'es_AR': 'hg log sin el parámetro -f no está soportado, usá -f', + 'es_MX': 'hg log sin el parámetro -f no está soportado, usa -f', 'es_ES': 'Actualmente hg log sin -f no es compatible con esta aplicación. Usa -f.', 'pt_BR': 'hg log sem -f atualmente não é suportado, use -f', 'gl' : 'hg log sen -f actulamente non é soportado, usa -f', @@ -164,7 +180,8 @@ exports.strings = { 'uk': 'hg log без опції -f в данний момент не підтримується, використовуй -f', 'ko': '-f가 없는 hg log는 현재 지원되지 않습니다. -f를 사용하세요.', 'vi': 'Hiện tại thì `hg log` mà không có tùy chọn -f chưa được hỗ trợ, hãy viết thêm -f.', - 'sl_SI': 'hg log brez -f trenutno ni podprt, uporabi -f' + 'sl_SI': 'hg log brez -f trenutno ni podprt, uporabi -f', + 'pl': '`hg log` bez -f nie jest obecnie obsługiwany, użyj -f' }, /////////////////////////////////////////////////////////////////////////// 'git-status-detached': { @@ -174,6 +191,7 @@ exports.strings = { 'zh_CN': '游离的 Head(Detached head)!', 'zh_TW': '分離 Head!', 'es_AR': '¡Detached HEAD!', + 'es_MX': '¡HEAD separado! (Detached HEAD).', 'es_ES': '¡HEAD separado! (Detached HEAD).', 'pt_BR': 'Detached HEAD!', 'gl' : '¡Detached HEAD!', @@ -182,7 +200,8 @@ exports.strings = { 'uk': 'Відокремлений HEAD', 'ko': '분리된 HEAD!', 'vi': 'HEAD bị tách biệt!', - 'sl_SI': 'Detached head!' + 'sl_SI': 'Detached head!', + 'pl': 'Odłączono HEAD!' }, /////////////////////////////////////////////////////////////////////////// 'git-status-onbranch': { @@ -192,6 +211,7 @@ exports.strings = { 'zh_CN': '当前分支 {branch}', 'zh_TW': '切換到 branch {branch}', 'es_AR': 'En la rama {branch}', + 'es_MX': 'En la rama {branch}', 'es_ES': 'En la rama {branch}', 'pt_BR': 'No ramo {branch}', 'gl' : 'Non na rama {branch}', @@ -200,7 +220,8 @@ exports.strings = { 'uk': 'В гілці {branch}', 'ko': '분기 지점 {branch}에서', 'vi': 'Đang trên nhánh {branch}', - 'sl_SI': 'Na branchu {branch}' + 'sl_SI': 'Na branchu {branch}', + 'pl': 'Na branch-u {branch}' }, /////////////////////////////////////////////////////////////////////////// 'git-status-readytocommit': { @@ -210,6 +231,7 @@ exports.strings = { 'zh_CN': '可以提交啦!(在这个程序中无须修改文件,一直可以提交)', 'zh_TW': '準備 commit!(在這個 demo 裡面可以一直 commit)', 'es_AR': '¡Listo para commitear! (como siempre en esta demo ;-) )', + 'es_MX': '¡Listo para hacer commit! (como siempre en ésta demo)', 'es_ES': '¡Listo para hacer un commit (como siempre en esta demo)!', 'pt_BR': 'Pronto para commitar! (como sempre neste demo ;-) )', 'gl' : '¡Praparado para facer un commit (como sempre nesta demo ;-) )!', @@ -218,7 +240,8 @@ exports.strings = { 'uk': 'Готово до коміту! (як завжди в цьому демо)', 'ko': '커밋을 준비하세요! (이 데모에서는 항상)', 'vi': 'Sẵn sàng để commit! (khi demo thì luôn có thể commit)', - 'sl_SI': 'Pripravljen za commit! (kot vedno v tem demotu)' + 'sl_SI': 'Pripravljen za commit! (kot vedno v tem demotu)', + 'pl': 'Gotowy commit! (jak zawsze w tym demo)' }, /////////////////////////////////////////////////////////////////////////// 'git-dummy-msg': { @@ -229,6 +252,7 @@ exports.strings = { 'zh_CN': '快速提交。Coding 4ever!', 'zh_TW': '快速 commit。上啊熊!', 'es_AR': 'Otro commit más, y van...', + 'es_MX': 'Otro commit más, y van...', 'es_ES': 'Hagamos un commit. Atlanta, Georgia! Escucha WHATUPRG también.', 'pt_BR': 'Commitando.. Vai Timão!', 'gl' : 'Mesturando.. ¡Alá imos!', @@ -237,7 +261,8 @@ exports.strings = { 'uk': 'Швидкий коміт. Динамо!', 'ko': '빨리 커밋하세요!', 'vi': 'Commit luôn đi cho nóng!', - 'sl_SI': 'Hiter commit.' + 'sl_SI': 'Hiter commit.', + 'pl': 'Szybki commit.' }, 'git-error-origin-fetch-uptodate': { '__desc__': 'One of the error messages for git', @@ -245,6 +270,7 @@ exports.strings = { 'de_DE': 'Bereits aktuell!', 'fr_FR': 'Déjà à jour', 'es_AR': 'Estás en la versión más reciente', + 'es_MX': 'Actualizado en la versión más reciente.', 'es_ES': 'Ya actualizado con la versión más reciente.', 'pt_BR': 'Já estamos na versão mais recente!', 'gl' : 'Xa estamos actualizados ca versión máis recente', @@ -254,7 +280,8 @@ exports.strings = { 'uk': 'Вже оновлено!', 'ko': '이미 최신 상태입니다!', 'vi': 'Cập nhật mới nhất rồi!', - 'sl_SI': 'Že posodobljeno!' + 'sl_SI': 'Že posodobljeno!', + 'pl': 'Już aktualne!' }, 'git-error-origin-fetch-no-ff': { '__desc__': 'One of the error messages for git', @@ -263,6 +290,7 @@ exports.strings = { 'zh_TW': '你的 origin 分支已經失去了與 remote 遠端分支的同步,所以無法執行 fetch 命令', 'de_DE': 'Dein origin Branch ist nicht auf dem Stand des Remote Branches und fetch kann nicht ausgeführt werden', 'es_AR': 'Tu rama origin está desincronizada con la rama remota, por lo que no se puede hacer el fetch', + 'es_MX': 'Tu rama origin está desincronizada con la rama remota, por lo que no se puede hacer el fetch', 'es_ES': 'Tu rama origin no está sicronizada con la rama remota, así que el fetch no se puede realizar.', 'pt_BR': 'O fetch não pode ser realizado pois o ramo de origem está fora de sincronia com o ramo remoto', 'gl' : 'O fetch non pode ser realizado xa que a rama de orixe non está sincronizada ca rama remota', @@ -271,7 +299,8 @@ exports.strings = { 'uk': 'Твоя гілка origin не синхронізована з віддаленою гілкою, неможливо виконати fetch', 'ko': '당신의 오리진 브랜치가 원격 브랜치와 동기화되지 않았고, 패치를 실행할 수 없습니다.', 'vi': 'Nhánh của bạn không đồng bộ với nhánh remote nên lệnh fetch không thực thi được.', - 'sl_SI': 'Tvoj origin branch ni sinhroniziran z oddaljenim branchem, zato se fetch se ne more izvesti' + 'sl_SI': 'Tvoj origin branch ni sinhroniziran z oddaljenim branchem, zato se fetch se ne more izvesti', + 'pl': 'Twój branch nie jest zsynchronizowany ze zdalny branch-em i nie można przeprowadzić pobierania' }, 'git-error-origin-push-no-ff': { '__desc__': 'One of the error messages for git', @@ -280,6 +309,7 @@ exports.strings = { 'zh_TW': '遠端倉庫與你的本地倉庫產生了分歧,故此上傳操作無法通過簡單地快進實現(因此你的 push 被拒絕了)。請 pull 下來遠端裡最新的更改,與本地合併之後再試一次。你可以通過 git pull 或 git pull --rebase 實現。', 'de_DE': 'Das entfernte Repository weicht von deinem lokalen Repository ab, daher können deine Änderungen nicht mit einem einfachen fast forward hochgeladen werden (und daher ist dein push abgelehnt worden). Bitte pull erst die neuen Änderungen in das lokale Repository, integriere sie in den Branch und versuch es nochmal. Das kannst du mit git pull oder git pull --rebase machen', 'es_AR': 'El repositorio remoto divergió de tu repositorio local, por lo que subir tus cambios no es un simple fast forward (y por eso se rechazó tu push). Por favor, hacé pull de los nuevos cambios en el repositorio remoto, incorporalos a esta rama y probá de nuevo. Podés hacerlo con git pull o git pull --rebase', + 'es_MX': 'El repositorio remoto divergió de tu repositorio local, por lo que subir tus cambios no es un simple fast forward (y por eso se rechazó tu push). Por favor, hacé pull de los nuevos cambios en el repositorio remoto, incorporalos a esta rama y prueba de nuevo. Puedes hacerlo con `git pull` o `git pull --rebase`', 'es_ES': 'El repositorio remoto se ha desviado del repositorio local. Subir cambios no es un avance en cámara rápida (por eso fue rechazado tu push). Por favor haz pull para descargar los cambios en el repositorio remoto para que los incorpores en la rama actual. Los cambios se pueden hacer pull con el comando "git pull" o "git pull --rebase"', 'pt_BR': 'O repositório remoto divergiu do repositório local, então enviar suas mudanças não é um simples fast forward (e por isso seu push foi rejeitado). Por favor, faça pull das novas mudanças do repositório remoto, incorpore-os a este ramo, e tente novamente. Você pode fazê-lo com git pull ou git pull --rebase', 'gl' : 'O repositorio remoto diverxe do teu repositorio local. Subir os cambios non é un fast-forward (avance rápido) e por iso foi rechazado o teu push. Por favor, fai un pull dos novos cambios do repositorio remoto e inclúeos na túa rama actual. Os cambios pódense facer co comando "git pull" ou "git pull --rebase"', @@ -288,7 +318,8 @@ exports.strings = { 'uk': 'Віддалений репозиторій розбігся з твоїм локальним репозиторієм, тому відвантаження твоїх змін не є простим fast forward (і тому твій push був відхилений). Будь-ласка, витягни зміни з віддаленого репозиторію, включи їх в цю гілку, й спробуй ще. Ти можеш зробити це за допомогою git pull чи git pull --rebase', 'ko': '원격 레포지토리가 당신의 로컬 레포지토리에서 분기하므로, 변경 사항을 업데이트 하는것은 간단한 fast forward가 아닙니다(따라서 push가 거절될 것입니다.). 원격 레포지토리에서의 변경 사항을 내려 받아 이 브랜치에 합치고, 이를 반복하세요. 당신은 git pull 또는 git pull --rebase를 사용해 이를 수행할 수 있습니다.', 'vi': 'Kho chứa từ xa có sự khác biệt với kho chứa cục bộ của bạn, nên không thể tự động (fast forward) cập nhật thay đổi của bạn (và vì thế hoạt động push của bạn bị từ chối). Vui lòng kéo về thay đổi từ kho chứa từ xa, kết nạp vào nhánh hiện tại, và thử lại lần nữa. Bạn có thể dùng lệnh `git pull` hoặc `git pull --rebase`', - 'sl_SI': 'Oddaljen repozitorij se je ločil od tvojega lokalnega repozitorija, zato nalaganje sprememb ni možno z `fast forward` opcijo (zato je bil `push` zavrnjen). Prosim pull-aj dol nove spremembe iz oddaljenega repozitorija, jih vključi v svoj branch, nato pa poizkusi ponovno. To lahko narediš z `git pull` ali `git pull --rebase`' + 'sl_SI': 'Oddaljen repozitorij se je ločil od tvojega lokalnega repozitorija, zato nalaganje sprememb ni možno z `fast forward` opcijo (zato je bil `push` zavrnjen). Prosim pull-aj dol nove spremembe iz oddaljenega repozitorija, jih vključi v svoj branch, nato pa poizkusi ponovno. To lahko narediš z `git pull` ali `git pull --rebase`', + 'pl' : 'Zdalne repozytorium różni się od lokalnego repozytorium, dlatego twoich zmian nie można przesłać za pomocą prostego szybkiego `fast forward` (i dlatego polecenie `push` zostało odrzucone). Najpierw zrób `pull` aby pobrać nowe zmiany do lokalnego repozytorium, zintegruj je z branch-em i spróbuj ponownie. Możesz to zrobić za pomocą `git pull` lub `git pull --rebase`' }, 'git-error-remote-branch': { '__desc__': 'One of the error messages for git', @@ -297,6 +328,7 @@ exports.strings = { 'zh_TW': '你不能在遠端分支上執行這個命令呀。', 'de_DE': 'Du kannst diesen Befehl nicht auf einem Remote Branch ausführen', 'es_AR': 'No podés ejecutar ese comando en una rama remota', + 'es_MX': 'No puedes ejecutar ese comando en una rama remota', 'es_ES': 'No puedes ejecutar ese comando en una rama remota', 'pt_BR': 'Você não pode executar esse comando em um ramo remoto', 'gl' : 'Non podes executar ese comando nunha rama remota', @@ -305,7 +337,8 @@ exports.strings = { 'uk': 'Ти не можеш виконати цю команду на віддаленій гілці', 'ko': '당신은 원격 브랜치에서 그 명령어를 실행시킬 수 없습니다.', 'vi': 'Bạn không thể thực thi lệnh đó lên nhánh từ xa.', - 'sl_SI': 'Tega ukaza ne moreš narediti na oddaljenem branchu' + 'sl_SI': 'Tega ukaza ne moreš narediti na oddaljenem branchu', + 'pl' : 'Nie możesz wykonać tego polecenia w zdalnego branch-u' }, 'git-error-origin-required': { '__desc__': 'One of the error messages for git', @@ -314,6 +347,7 @@ exports.strings = { 'zh_TW': '該命令需要一個 origin', 'de_DE': 'Für diesen Befehl wird origin benötigt', 'es_AR': 'Necesitás un origen para ese comando', + 'es_MX': 'Se necesita un origen para ese comando', 'es_ES': 'Se requiere un origen para ese comando.', 'pt_BR': 'É necessário informar uma origem para esse comando', 'gl' : 'É necesario informar unha orixe para ese comando', @@ -322,7 +356,8 @@ exports.strings = { 'uk': 'Для цієї команди потрібний origin', 'ko': '그 명령어를 위한 오리진이 필요합니다.', 'vi': 'Lệnh đó yêu cầu có origin.', - 'sl_SI': 'Origin je potreben za izvedbo tega ukaza' + 'sl_SI': 'Origin je potreben za izvedbo tega ukaza', + 'pl' : 'Dla tego polecenia wymagany jest źródło (origin)' }, 'git-error-origin-exists': { '__desc__': 'One of the error messages for git', @@ -331,6 +366,7 @@ exports.strings = { 'zh_TW': 'origin 遠端已存在。你不能重複創建', 'de_DE': 'origin existiert bereits! Du kannst es nicht nochmal anlegen', 'es_AR': '¡Ya existe el origen! No podés crear uno nuevo', + 'es_MX': '¡Ya existe un origen! No puedes crear uno nuevo', 'es_ES': '¡Ya existe un origen! No puedes crearlo de nuevo.', 'pt_BR': 'A origem já existe! Você não pode criar uma nova', 'gl' : 'A orixe xa existe! Non podes crear unha nova', @@ -339,7 +375,8 @@ exports.strings = { 'uk': 'Origin вже існує! Неможливо створити ще один', 'ko': '오리진이 이미 존재합니다! 당신은 새로 만들 수 없습니다.', 'vi': 'Nguyên bản (origin) đã tồn tại. Bạn không thể tạo thêm 1 cái mới', - 'sl_SI': 'Origin že obstaja. Ne moreš narediti novega.' + 'sl_SI': 'Origin že obstaja. Ne moreš narediti novega.', + 'pl' : 'origem już istnieje! Nie możesz go ponownie założyć' }, /////////////////////////////////////////////////////////////////////////// 'git-error-branch': { @@ -350,15 +387,17 @@ exports.strings = { 'zh_CN': '你不能删除主分支(master),或者你当前所在的分支,或者其它连分支也不是的东西。', 'zh_TW': '你不能刪除 master branch,或者你當前所在的 branch,或者其它連 branch 都不是的東西。', 'es_AR': 'No podés borrar la rama master, la rama en la que estás, o cosas que no son ramas', + 'es_MX': 'No puedes borrar la rama master, la rama en la que estás, o cosas que no son ramas', 'es_ES': 'No puedes eliminar la rama master, la rama en que estás, o cosas que no son ramas.', 'pt_BR': 'Você não pode apagar o ramo master, nem o ramo em que você está, nem coisas que não sejam ramos', 'gl' : 'Non podes borrala rama master, nin a rama na que ti estás, nin cousas que non sexan ramas', 'fr_FR': 'Vous ne pouvez supprimer la branche master, la branche sur laquelle vous êtes, ou ce qui n\'est pas une branche', 'ru_RU' : 'Невозможно удалить ветку master, ветку на которой вы сейчас и то что не является веткой', 'uk': 'Неможливо видалити гілку master, гілку на якій ти зараз знаходишся чи штуки які не є гілкою', - 'ko': '당신은 마스터 브랜치, 당신이 현재 사용중인 브랜치, 또는 브랜치가 아닌 것들을 삭제할 수 없습니다.', + 'ko': '당신은 메인 브랜치, 당신이 현재 사용중인 브랜치, 또는 브랜치가 아닌 것들을 삭제할 수 없습니다.', 'vi': 'Bạn không thể xóa nhánh master, nhánh mà bạn đang tham chiếu tới, hoặc những gì không phải nhánh.', - 'sl_SI': 'Ne moreš izbrisati master brancha, brancha na katerem si trenutno ali stvari, ki niso branchi' + 'sl_SI': 'Ne moreš izbrisati master brancha, brancha na katerem si trenutno ali stvari, ki niso branchi', + 'pl' : 'Nie możesz usunąć branch-a master, branch-a nad którym aktualnie pracujesz, ani który nie jest branch-em' }, /////////////////////////////////////////////////////////////////////////// 'git-merge-msg': { @@ -368,6 +407,7 @@ exports.strings = { 'zh_CN': '合并 {target} 到 {current}', 'zh_TW': '將 {target} 併入 {current}', 'es_AR': 'Mergear {target} a {current}', + 'es_MX': 'Mergear {target} a {current}', 'es_ES': 'Incorporar {target} en {current}', 'pt_BR': 'Merge de {target} em {current}', 'gl' : 'Merge de {target} en {current}', @@ -376,7 +416,8 @@ exports.strings = { 'uk': 'Злиття {target} в {current}', 'ko': '{target}을 {current}에 병합하세요.', 'vi': 'Gộp {target} vào {current}.', - 'sl_SI': 'Mergaj {target} v {current}' + 'sl_SI': 'Mergaj {target} v {current}', + 'pl' : 'Łączenie {target} z {current}' }, /////////////////////////////////////////////////////////////////////////// 'git-error-rebase-none': { @@ -386,6 +427,7 @@ exports.strings = { 'zh_CN': '没有可以 rebase 的提交记录!可能是合并提交,或者已经 rebase 过了。', 'zh_TW': '沒有需要 rebase 的 commit!每個都是一個 merge commit 或者修改已經被寫入了', 'es_AR': '¡No hay commits para rebasear! Son todos commits de merge o cambios ya aplicados', + 'es_MX': '¡No hay commits para hacer rebase! Todo es un merge commit o cambios ya aplicados', 'es_ES': '¡No hay commits para hacer rebase! Todo es un merge commit o cambios ya hecho.', 'pt_BR': 'Não há commits para o rebase! São todos commits de merge ou mudanças já aplicadas', 'gl' : '¡Non hai commits para o rebase! Son todos commits de merge ou cambios xa aplicados', @@ -394,7 +436,8 @@ exports.strings = { 'uk': 'Нема комітів для rebase! Все в коміті злиття (merge commit) чи зміни вже застосовані', 'ko': 'rebase를 하기 위한 커밋이 없습니다! 모든 커밋과 변경 사항들의 병합은 이미 적용되었습니다.', 'vi': 'Không có commit nào để rebase. Mọi thứ là merge commit hoặc thay đổi đã được áp dụng.', - 'sl_SI': 'Ni commitov za rebase! Vse je merge commit ali pa so spremembe že dodane' + 'sl_SI': 'Ni commitov za rebase! Vse je merge commit ali pa so spremembe že dodane', + 'pl' : 'Nie znaleziono commit-u do zmiany! Wszystkie commit-y oraz scalenia lub zmiany już są zastosowane' }, /////////////////////////////////////////////////////////////////////////// 'git-result-nothing': { @@ -404,6 +447,7 @@ exports.strings = { 'zh_CN': '什么也没发生...', 'zh_TW': '沒什麼事情要做...', 'es_AR': 'Nada para hacer...', + 'es_MX': 'Nada para hacer...', 'es_ES': 'Nada para hacer...', 'pt_BR': 'Nada a ser feito...', 'gl' : 'Nada para facer...', @@ -412,7 +456,8 @@ exports.strings = { 'uk': 'Нічого виконувати...', 'ko': '할게 없습니다 ...', 'vi': 'Không có gì để làm ...', - 'sl_SI': 'Ničesar za narediti ...' + 'sl_SI': 'Ničesar za narediti ...', + 'pl' : 'Nie ma nic do zrobienia...' }, /////////////////////////////////////////////////////////////////////////// 'git-result-fastforward': { @@ -422,6 +467,7 @@ exports.strings = { 'zh_CN': '快速前进...', 'zh_TW': '快速前進...', 'es_AR': 'Fast forwardeando...', + 'es_MX': 'Avanzando rápidamente (Fast forwarding)...', 'es_ES': 'Avanzando rápidamente...', 'pt_BR': 'Fast forward...', 'gl' : 'Fast forward...', @@ -430,7 +476,8 @@ exports.strings = { 'uk': 'Виконую Fast forward', 'ko': 'Fast forward 중입니다...', 'vi': 'Đang fast forward...', - 'sl_SI': 'Fast forwardiranje' + 'sl_SI': 'Fast forwardiranje', + 'pl' : 'Fast forward...' }, /////////////////////////////////////////////////////////////////////////// 'git-result-uptodate': { @@ -440,6 +487,7 @@ exports.strings = { 'zh_CN': '分支已经是最新啦', 'zh_TW': 'branch 已經是最新啦', 'es_AR': 'Rama actualmente actualizada', + 'es_MX': 'La rama ya se ha actualizado.', 'es_ES': 'La rama ya se ha actualizado.', 'pt_BR': 'Ramo já atualizado', 'gl' : 'Rama xa actualizada', @@ -448,7 +496,8 @@ exports.strings = { 'uk': 'Гілку вже оновлено', 'ko': '브랜치가 이미 최신 상태입니다.', 'vi': 'Nhánh đã được cập nhật mới nhất.', - 'sl_SI': 'Branch je že posodobljen' + 'sl_SI': 'Branch je že posodobljen', + 'pl' : 'Branch jest już aktualny' }, /////////////////////////////////////////////////////////////////////////// 'git-error-exist': { @@ -458,6 +507,7 @@ exports.strings = { 'zh_CN': '引用 {ref} 不存在。', 'zh_TW': '索引 {ref} 不存在,或者找不到。', 'es_AR': 'La referencia {ref} no existe o es desconocida', + 'es_MX': 'La referencia {ref} no existe o es desconocida', 'es_ES': 'La referencia {ref} no existe o es desconocida', 'pt_BR': 'A referência {ref} não existe ou é desconhecida', 'gl' : 'A referencia {ref} non existe ou é descoñecida', @@ -466,7 +516,8 @@ exports.strings = { 'uk': 'Посилання {ref} не існує чи невідоме', 'ko': '{ref} 참조가 존재하지 않거나 알 수 없습니다.', 'vi': 'Tham chiếu {ref} không tồn tại hoặc không thể tìm thấy.', - 'sl_SI': 'Ref {ref} new obstaja ali je neznan' + 'sl_SI': 'Ref {ref} new obstaja ali je neznan', + 'pl' : 'Odnośnik {ref} nie istnieje lub jest nieznany' }, /////////////////////////////////////////////////////////////////////////// 'git-error-relative-ref': { @@ -476,6 +527,7 @@ exports.strings = { 'zh_CN': '{commit} 提交并没有 {match}', 'zh_TW': 'commit {commit} 並沒有 {match}', 'es_AR': 'El commit {commit} no tiene un {match}', + 'es_MX': 'El commit {commit} no tiene un {match}', 'es_ES': 'El commit {commit} no tiene un {match}', 'pt_BR': 'O commit {commit} não tem um {match}', 'gl' : 'O commit {commit} non ten un {match}', @@ -484,7 +536,8 @@ exports.strings = { 'uk': 'Коміт {commit} не містить {match}', 'ko': '커밋 {commit}은 {match}를 가지고 있지 않습니다.', 'vi': 'Commit {commit} mà không có {match}.', - 'sl_SI': 'Commit {commit} nima {match}' + 'sl_SI': 'Commit {commit} nima {match}', + 'pl' : 'Commit {commit} nie ma {match}' }, /////////////////////////////////////////////////////////////////////////// 'git-warning-detached': { @@ -494,6 +547,7 @@ exports.strings = { 'zh_CN': '警告!现在是分离 HEAD 状态', 'zh_TW': '注意喔!現在的狀態是分離 Head', 'es_AR': '¡Cuidado! Modo de detached HEAD', + 'es_MX': '¡Cuidado! Modo de HEAD separado (detached HEAD)', 'es_ES': '¡Cuidado! Modo de HEAD separado (detached HEAD)', 'pt_BR': 'Cuidado! Modo Detached HEAD', 'gl' : '¡Coidado! Modo Detached HEAD', @@ -502,7 +556,8 @@ exports.strings = { 'uk': 'Увага! Репозиторій в стані detached HEAD, тобто не знаходиться в жодній гілці!', 'ko': '주의! 분리된 HEAD 상태', 'vi': 'Cảnh báo! HEAD bị tách rời', - 'sl_SI': 'Opozorilo! Detached HEAD stanje' + 'sl_SI': 'Opozorilo! Detached HEAD stanje', + 'pl' : 'Ostrzeżenie!! Odłączony tryb HEAD' }, /////////////////////////////////////////////////////////////////////////// 'git-warning-add': { @@ -512,6 +567,7 @@ exports.strings = { 'zh_CN': '此程序中不需要添加文件', 'zh_TW': '此 demo 中不需要再加入檔案', 'es_AR': 'No es necesario hacer add a los archivos en esta demo', + 'es_MX': 'No es necesario agregar los archivos en ésta demo', 'es_ES': 'No es necesario agregar los archivos en esta demo', 'pt_BR': 'Não é necessário adicionar arquivos neste demo', 'gl' : 'Non é necesario incluír arquivos nesta demo', @@ -520,7 +576,8 @@ exports.strings = { 'uk': 'Не потрібно додавати файли для цього демо', 'ko': '이 데모에서는 파일을 추가할 필요가 없습니다.', 'vi': 'Không cần thêm tập tin trong bản giới thiệu này.', - 'sl_SI': 'Ni potrebe po dodajanju datotetk v tem demotu' + 'sl_SI': 'Ni potrebe po dodajanju datotetk v tem demotu', + 'pl' : 'Nie ma potrzeby dodawania plików w tym demo' }, /////////////////////////////////////////////////////////////////////////// 'git-error-options': { @@ -531,6 +588,7 @@ exports.strings = { 'zh_TW': '您指定了不相容或錯誤的選項', 'es_ES': 'Las opciones que especificaste son incompatibles o incorrectas.', 'es_AR': 'No es necesario hacer add a los archivos en esta demo', + 'es_MX': 'No es necesario hacer add a los archivos en ésta demo', 'pt_BR': 'As opções que você especificou são incompatíveis ou incorretas', 'gl' : 'As opcións que especificaches son incompatibles ou incorrectas', 'fr_FR': 'Les options que vous avez spécifiées sont incompatibles ou incorrectes', @@ -538,7 +596,8 @@ exports.strings = { 'uk': 'Опції, які ти ввів, або некорректні або не підтримуються', 'ko': '당신이 지정한 그 옵션들은 호환되지 않거나 올바르지 않습니다.', 'vi': 'Các tham số bạn chỉ định không tương thích hoặc không chính xác.', - 'sl_SI': 'Opcije, ki si jih podal, so nezdružljive ali napačne' + 'sl_SI': 'Opcije, ki si jih podal, so nezdružljive ali napačne', + 'pl' : 'Podane przez Ciebie opcje są niezgodne lub nieprawidłowe' }, /////////////////////////////////////////////////////////////////////////// 'git-error-already-exists': { @@ -548,6 +607,7 @@ exports.strings = { 'zh_CN': '{commit} 提交已经存在于你的改动集里,已忽略!', 'zh_TW': 'commit {commit} 已經在你的修改的集合裡,正在停止!', 'es_AR': 'El commit {commit} ya existe en tus cambios, ¡abortando!', + 'es_MX': 'El commit {commit} ya existe en tus cambios, ¡abortando!', 'es_ES': 'El commit {commit} ya existe en tus cambios, ¡abortando!', 'pt_BR': 'O commit {commit} já existe nas suas mudanças, abortando!', 'gl' : 'O commit {commit} xa existe nos seus cambios, ¡abortando!', @@ -556,7 +616,8 @@ exports.strings = { 'uk': 'Коміт {commit} вже існує в твоєму change set, відміна!', 'ko': '커밋 {commit}은 이미 당신의 변경 내역에 존재합니다. 중단!', 'vi': 'Commit {commit} đã tồn tại trong những thay đổi của bạn. Đang hủy!', - 'sl_SI': 'Commit {commit} že obstaja v tvoji množici sprememb, prekinjam!' + 'sl_SI': 'Commit {commit} že obstaja v tvoji množici sprememb, prekinjam!', + 'pl' : 'Commit {commit} już istnieje w Twoim zbiorze zmian, przerywam!' }, /////////////////////////////////////////////////////////////////////////// 'git-error-reset-detached': { @@ -566,6 +627,7 @@ exports.strings = { 'zh_CN': '不能在分离的 HEAD 里重置!用 checkout 吧', 'zh_TW': '不能在分離 HEAD 的狀態中重來!用 checkout 來移動吧', 'es_AR': 'No podés hacer reset en el modo detached. Usá checkout si querés moverte', + 'es_MX': 'No puedes hacer reset en el modo separado. Usa checkout si quieres moverte', 'es_ES': 'No puedes hacer reset en el modo separado. Usa checkout si quieres moverte.', 'pt_BR': 'Não se pode fazer reset no modo detached. Use checkout se quiser se mover', 'gl' : 'Non se pode facer reset no modo detached. Use checkout se te queres mover', @@ -574,7 +636,8 @@ exports.strings = { 'uk': 'Неможливо зробити reset в стані detached head! Використовуй checkout якщо хочеш змінити розташування', 'ko': '분리된 HEAD에서 reset할 수 없습니다. 만약 이동시키기를 원한다면 checkout을 사용하세요.', 'vi': 'Trong trạng thái tách rời `HEAD` thì không thể `reset`. Dùng `checkout` nếu bạn muốn di chuyển.', - 'sl_SI': 'Ni možno resetat, zaradi detached HEADa' + 'sl_SI': 'Ni možno resetat, zaradi detached HEADa', + 'pl' : 'Nie można zresetować w odłączonej HEAD! Użyj opcji `checkout`, jeśli chcesz się przenieść' }, /////////////////////////////////////////////////////////////////////////// 'git-warning-hard': { @@ -586,6 +649,7 @@ exports.strings = { 'zh_CN': '在本程序中默认的行为是 --hard 硬重置,可以尽情省略掉那个选项以避免麻烦!但是要记录 Git 中默认的是 --mixed。', 'zh_TW': '預設的行為是 --hard reset,儘量省略掉那個選項吧!', 'es_AR': 'El comportamiento default es un --hard reset, sentite libre de omitir esa opción!', + 'es_MX': 'El comportamiento default es un --hard reset, siéntete libre de omitir esa opción!', 'es_ES': 'El comportamiento default para reajustes es --hard, pero siéntete libre de omitir esa ' + 'opción si te cansas de escribirla en nuestras lecciones. Recuerda quepor defecto el comportamiento en GitHub es --mixed.', 'pt_BR': 'O comportamento padrão é um reset --hard, fique livre para omitir essa opção!', @@ -599,7 +663,9 @@ exports.strings = { 'vi': 'Trạng thái mặc định cho lệnh `reset` của \"Học nhánh Git\" là `--hard`.' + ' Nên khi làm bài nếu bạn thấy gõ tham số này hơi tốn công thì cứ bỏ qua.' + ' Nhưng mà hãy nhớ rằng thực tế thì `--mixed` mới là trạng thái mặc định của `reset`.', - 'sl_SI': 'Privzeto delovanje za reset na LearnGitBranching je --hard, zato lahko to izpustiš. Na pravem gitu je --mixed.' + 'sl_SI': 'Privzeto delovanje za reset na LearnGitBranching je --hard, zato lahko to izpustiš. Na pravem gitu je --mixed.', + 'pl' : 'Domyślnym zachowaniem dla polecenia `reset` w LearnGitBranching jest parametr --hard, więc możesz pominąć tę opcję, ' + + 'Pamiętaj tylko, że domyślne zachowanie rzeczywistego GIT-a jest parametr --mixed.' }, /////////////////////////////////////////////////////////////////////////// 'git-error-staging': { @@ -610,6 +676,7 @@ exports.strings = { 'zh_CN': '没有添加、缓存文件的必要,所以该选项或者命令是不合法的。', 'zh_TW': '沒有加入、或者暫存 (staging) 文件的必要,所以改選項或者命令是不合法的。', 'es_AR': 'No existe el concepto de agregar/indexar cambios, así que esa opción o comando es inválido', + 'es_MX': 'No existe el concepto de agregar/indexar cambios, así que esa opción o comando es inválido', 'es_ES': 'No existe el concepto de agregar/indexar cambios, así que esa opción o comando es inválido.', 'pt_BR': 'Não existe o conceito de adicionar/indexar mudanças, de forma que essa opção ou comando é inválida', 'gl' : 'Non existe o concepto de agregar/indexar cambios, así que esa opción ou comando é inválido.', @@ -618,7 +685,8 @@ exports.strings = { 'uk': 'В цьому демо немає можливості додати файл до робочої копії чи до стейджингу, тому ця опція чи команда некоректна чи не підтримується', 'ko': '여기엔 파일을 추가하거나 스테이징한다는 개념이 없습니다. 따라서 그 옵션 또는 명령어는 유효하지 않습니다.', 'vi': 'Không có khái nệm thêm tập tin đệm(staging file), nên tùy chọn đó là bất hợp lệ.', - 'sl_SI': 'Tu ni možnosti addanja/stageanja datotek, zato je ta ukaz nepravilen' + 'sl_SI': 'Tu ni možnosti addanja/stageanja datotek, zato je ta ukaz nepravilen', + 'pl' : 'Nie ma koncepcji na dodawanie/indeksowanie zmian, więc opcja lub polecenie jest niepoprawne.' }, /////////////////////////////////////////////////////////////////////////// 'git-revert-msg': { @@ -628,6 +696,7 @@ exports.strings = { 'zh_CN': '撤销 {oldCommit}:{oldMsg}', 'zh_TW': '還原 {oldCommit}:{oldMsg}', 'es_AR': 'Revirtiendo {oldCommit}: {oldMsg}', + 'es_MX': 'Revirtiendo {oldCommit}: {oldMsg}', 'es_ES': 'Volviendo a {oldCommit}: {oldMsg}', 'pt_BR': 'Revertendo {oldCommit}: {oldMsg}', 'gl' : 'Revertindo {oldCommit}: {oldMsg}', @@ -636,7 +705,8 @@ exports.strings = { 'uk': 'Повертаю {oldCommit}: {oldMsg}', 'ko': '{oldCommit}:{oldMsg}를 복구중입니다.', 'vi': 'Hoàn tác {oldCommit}:{oldMsg}.', - 'sl_SI': 'Revertanje {oldCommit}: {oldMsg}' + 'sl_SI': 'Revertanje {oldCommit}: {oldMsg}', + 'pl' : 'Cofam {oldCommit} : {oldMsg}' }, /////////////////////////////////////////////////////////////////////////// 'git-error-args-many': { @@ -646,6 +716,7 @@ exports.strings = { 'zh_CN': '{what} 期望最多 {upper} 个参数', 'zh_TW': '{what} 期望最多 {upper} 個參數', 'es_AR': 'Espero como máximo {upper} parámetros para {what}', + 'es_MX': 'Espero como máximo {upper} parámetros para {what}', 'es_ES': 'Espero al máximo {upper} parámetros para {what}.', 'pt_BR': 'Espero no máximo {upper} parâmetros para {what}', 'gl' : 'Espero ó máximo {upper} parámetros para {what}', @@ -654,7 +725,8 @@ exports.strings = { 'uk': 'Я очікую максимум {upper} аргумент(ів) для {what}', 'ko': '{what}을 위해 최대 {upper}개의 인자를 받습니다.', 'vi': 'Có thể có nhiều nhất {upper} tham số cho {what}.', - 'sl_SI': 'Pričakovanih je največ {upper} argumentov za {what}' + 'sl_SI': 'Pričakovanih je največ {upper} argumentov za {what}', + 'pl' : 'Oczekuję maksymalne {upper} parametrów dla {what}' }, /////////////////////////////////////////////////////////////////////////// 'git-error-args-few': { @@ -664,6 +736,7 @@ exports.strings = { 'zh_CN': '{what} 期望最少 {lower} 个参数', 'zh_TW': '{what} 期望最少 {lower} 個參數', 'es_AR': 'Espero al menos {lower} parámetros para {what}', + 'es_MX': 'Espero al menos {lower} parámetros para {what}', 'es_ES': 'Espero al menos {lower} parámetros para {what}.', 'pt_BR': 'Espero pelo menos {lower} parâmetros para {what}', 'gl' : 'Agardo polo menos {lower} parámetros para {what}', @@ -672,7 +745,8 @@ exports.strings = { 'uk': 'Я очікую як мінімум {lower} аргумент(ів) для {what}', 'ko': '{what}을 위해 최소 {lower}개의 인자를 받습니다.', 'vi': 'Cần ít nhất {lower} tham số cho {what}.', - 'sl_SI': 'Pričakovanih je najmanj {lower} argumentov za {what}' + 'sl_SI': 'Pričakovanih je najmanj {lower} argumentov za {what}', + 'pl' : 'Oczekuję co najmniej {lower} parametrów dla {what}' }, /////////////////////////////////////////////////////////////////////////// 'git-error-no-general-args': { @@ -682,6 +756,7 @@ exports.strings = { 'zh_CN': '该命令不接收参数', 'zh_TW': '該指令不接受一般參數', 'es_AR': 'Ese comando no acepta parámetros comunes', + 'es_MX': 'Ese comando no acepta parámetros comunes', 'es_ES': 'Ese comando no acepta parámetros generales.', 'pt_BR': 'Este comando não aceita parâmetros gerais', 'gl' : 'Este comando non acepta parámetros xeráis', @@ -690,7 +765,8 @@ exports.strings = { 'uk': 'Ця команда не приймає загальних аргументів', 'ko': '그 명령어는 일반적으로 인자를 받지 않습니다.', 'vi': 'Lệnh đó không chấp nhận các tham số chung.', - 'sl_SI': 'Ta ukaz ne sprejme splošnih ukazov' + 'sl_SI': 'Ta ukaz ne sprejme splošnih ukazov', + 'pl' : 'To polecenie nie przyjmuje żadnych ogólnych parametrów' }, /////////////////////////////////////////////////////////////////////////// 'copy-tree-string': { @@ -700,6 +776,7 @@ exports.strings = { 'zh_CN': '拷贝下面的树字符串', 'zh_TW': '複製下方的樹狀字串', 'es_AR': 'Copiá el código de acá abajo', + 'es_MX': 'Copia el código que se encuentra debajo', 'es_ES': 'Copia el código que sigue.', 'pt_BR': 'Copie o código abaixo', 'gl' : 'Copie o código abaixo', @@ -708,7 +785,8 @@ exports.strings = { 'uk': 'Скопіюй рядок дерева нижче', 'ko': '다음 트리 문자열을 복사하세요.', 'vi': 'Sao chép chuỗi cây bên dưới.', - 'sl_SI': 'Skopiraj besedilo drevesa spodaj' + 'sl_SI': 'Skopiraj besedilo drevesa spodaj', + 'pl' : 'Skopiuj poniższy kod' }, /////////////////////////////////////////////////////////////////////////// 'learn-git-branching': { @@ -719,15 +797,17 @@ exports.strings = { 'zh_CN': '学习 Git 分支', 'zh_TW': '學習 git 分支', 'es_AR': 'Aprendé a Branchear en Git', + 'es_MX': 'Aprende Git Branching', 'es_ES': 'Aprende Git Branching', 'pt_BR': 'Learn Git Branching', 'gl' : 'Aprende Git Branching', 'fr_FR': 'Apprenez Git Branching', 'ru_RU': 'Изучаем ветвление в git', - 'uk': 'Learn Git Branching', + 'uk': 'Вивчай Git Branching', 'ko': '깃 브랜칭을 배워봅시다.', 'vi': 'Học nhánh Git.', - 'sl_SI': 'Nauči se Git Branching' + 'sl_SI': 'Nauči se Git Branching', + 'pl': 'Nauka GIT Branching-u' }, /////////////////////////////////////////////////////////////////////////// 'select-a-level': { @@ -737,6 +817,7 @@ exports.strings = { 'zh_CN': '选择一关', 'zh_TW': '選擇其中一關', 'es_AR': 'Seleccioná un nivel', + 'es_MX': 'Selecciona un nivel', 'es_ES': 'Selecciona un nivel', 'pt_BR': 'Selecione um nível', 'gl' : 'Selecciona un nivel', @@ -745,7 +826,8 @@ exports.strings = { 'uk': 'Обери рівень', 'ko': '레벨을 선택하세요.', 'vi': 'Chọn một cấp độ.', - 'sl_SI': 'Izberi stopnjo' + 'sl_SI': 'Izberi stopnjo', + 'pl': 'Wybierz poziom' }, /////////////////////////////////////////////////////////////////////////// 'main-levels-tab': { @@ -760,7 +842,8 @@ exports.strings = { 'uk' : 'Основи', 'ko': '메인', 'vi': 'Bài học chính', - 'sl_SI': 'Glavno' + 'sl_SI': 'Glavno', + 'pl': 'Główny' }, /////////////////////////////////////////////////////////////////////////// 'remote-levels-tab': { @@ -775,7 +858,8 @@ exports.strings = { 'uk' : 'Віддалені репозиторії', 'ko' : '원격', 'vi' : 'Bài học về thao tác từ xa', - 'sl_SI': 'Oddaljeno' + 'sl_SI': 'Oddaljeno', + 'pl' : 'Zdalny' }, /////////////////////////////////////////////////////////////////////////// 'branch-name-short': { @@ -785,6 +869,7 @@ exports.strings = { 'zh_CN': '抱歉,为了显示的需要,我们需要一个短些的分支名称。您使用的名称将被截断到9个字符,即 "{branch}"', 'zh_TW': '抱歉,為了顯示的需要,我們需要一個短一點的 branch 名稱。您使用的將會被截斷到剩下9個字元,即"{branch}"', 'es_AR': 'Perdón, necesitamos mantener los nombres de los branches cortos para visualizarlos. El nombre de tu rama se truncó a 9 caracteres, resultando en "{branch}"', + 'es_MX': 'Perdón, necesitamos mantener los nombres de las ramas cortos para visualizarlos. El nombre de tu rama se truncó a 9 caracteres, resultando en "{branch}"', 'es_ES': 'Perdón, necesitamos mantener los nombres de las ramas cortos para visualizarlos. El nombre de tu rama se truncó a 9 caracteres, resultando en "{branch}"', 'pt_BR': 'Desculpe, precisamos manter os nomes dos ramos curtos para visualizá-los. O nome do seu ramo foi truncado para 9 caracteres, resultando em "{branch}"', 'gl' : 'Desculpe, precisamos manter os nomes das ramas curtas para poder velas. O nome da súa rama foi truncada a 9 letras, resultado en "{branch}"', @@ -793,7 +878,8 @@ exports.strings = { 'uk': 'Вибач, нам потрібно щоб ім’я гілок було як можна коротше для наглядності. Твоє ім’я гілки було скорочене до 9 літер й тепер це "{branch}"', 'ko': '미안하지만, 우리는 시각적으로 더 좋게 보기위해 짧은 브랜치명이 필요합니다. 당신의 브랜치명은 9자리로 잘라 "{branch}"로 만들었습니다.', 'vi': 'Xin lỗi, chúng tôi cần giữ tên nhánh ngắn để tiện minh họa. Tên nhánh của bạn đã bị cắt xuống 9 ký tự là "{branch}".', - 'sl_SI': 'Oprosti, imena branchev moramo obdržati kratka zaradi vizualizacije. Tvoje ime brancha je bilo skrajšano na 9 črk, kar predstavlja "{branch}"' + 'sl_SI': 'Oprosti, imena branchev moramo obdržati kratka zaradi vizualizacije. Tvoje ime brancha je bilo skrajšano na 9 črk, kar predstavlja "{branch}"', + 'pl': 'Przepraszamy, ze względu na wizualizacje musimy zachować krótkie nazwy branch-y. Nazwa Twojego branch-u została skrócona do 9 znaków, w wyniku czego otrzymano "{branch}"' }, /////////////////////////////////////////////////////////////////////////// 'bad-branch-name': { @@ -803,6 +889,7 @@ exports.strings = { 'zh_CN': '不能给分支起这个名字 "{branch}"', 'zh_TW': '不能给 branch 起這個名字 "{branch}"', 'es_AR': 'El nombre "{branch}" no está permitido para los branches', + 'es_MX': 'El nombre "{branch}" está prohibido para nombrar una rama', 'es_ES': 'El nombre "{branch}" es prohibido para nombrar una rama.', 'pt_BR': 'Um ramo não pode ser chamado de "{branch}"!', 'gl' : 'Unha rama non pode ser chamada "{branch}', @@ -811,7 +898,8 @@ exports.strings = { 'uk': 'Назва гілки "{branch}" є недопустимою', 'ko': '"{branch}"라는 브랜치명은 사용할 수 없습니다.', 'vi': 'Tên nhánh "{branch}" không được chấp nhận.', - 'sl_SI': 'To ime brancha "{branch}" ni dovoljeno!' + 'sl_SI': 'To ime brancha "{branch}" ni dovoljeno!', + 'pl': 'Ta nazwa oddziału "{branch}" jest niedozwolona!' }, /////////////////////////////////////////////////////////////////////////// 'bad-tag-name': { @@ -820,6 +908,7 @@ exports.strings = { 'zh_CN': '该标签名 “{tag}” 不被接受。', 'zh_TW': '該標籤名 “{tag}” 不被接受。', 'es_AR': 'El nombre "{tag}" no está permitido para los tags', + 'es_MX': 'El nombre "{tag}" está prohibido para nombrar un tag', 'es_ES': 'El nombre "{tag}" es prohibido para nombrar un tag.', 'pt_BR': 'Uma tag não pode ser chamada de "{tag}"!', 'gl' : 'Unha etiqueta non pode ser chamada "{tag}"', @@ -829,7 +918,8 @@ exports.strings = { 'uk': 'Назва тегу "{tag}" є недопустимою', 'ko': '"{tag}"라는 태그명은 사용할 수 없습니다.', 'vi': 'Tên thẻ "{tag}" không được chấp nhận.', - 'sl_SI': 'To ime tag-a "{tag}" ni dovoljeno!' + 'sl_SI': 'To ime tag-a "{tag}" ni dovoljeno!', + 'pl': 'Ta nazwa tagu "{tag}" jest niedozwolona!' }, /////////////////////////////////////////////////////////////////////////// 'option-not-supported': { @@ -839,6 +929,7 @@ exports.strings = { 'zh_CN': '不支持选项 "{option}"', 'zh_TW': '不支援的選項 "{option}"', 'es_AR': 'La opción {option} no está soportada', + 'es_MX': 'La opción {option} no es compatible con ésta demo', 'es_ES': 'La opción {option} no compatible con esta demo.', 'pt_BR': 'A opção {option} não é suportada', 'gl' : 'A opción {option} non está soportada', @@ -847,7 +938,8 @@ exports.strings = { 'uk': 'Опція "{option}" не підтримується!', 'ko': '"{option}"(이)라는 옵션은 지원하지 않습니다.', 'vi': 'Tùy chọn "{option}" không được hỗ trợ.', - 'sl_SI': 'Opcija "{option}" ni podprta! ' + 'sl_SI': 'Opcija "{option}" ni podprta! ', + 'pl': 'Opcja "{option}" nie jest obsługiwana!' }, /////////////////////////////////////////////////////////////////////////// 'git-usage-command': { @@ -857,6 +949,7 @@ exports.strings = { 'zh_CN': 'git <命令> [<参数>]', 'zh_TW': 'git <指令> [<參數>]', 'es_AR': 'git []', + 'es_MX': 'git []', 'es_ES': 'git []', 'pt_BR': 'git []', 'gl' : 'git []', @@ -865,7 +958,8 @@ exports.strings = { 'uk': 'git <команда> [<аргументи>]', 'ko': 'git <명령어> [<인자들>]', 'vi': 'git []', - 'sl_SI': 'git []' + 'sl_SI': 'git []', + 'pl': 'git []' }, /////////////////////////////////////////////////////////////////////////// 'git-supported-commands': { @@ -875,6 +969,7 @@ exports.strings = { 'zh_CN': '支持的命令有:', 'zh_TW': '支援的指令有:', 'es_AR': 'Comandos soportados:', + 'es_MX': 'Comandos compatibles:', 'es_ES': 'Comandos compatibles:', 'pt_BR': 'Comandos suportados:', 'gl' : 'Comandos soportados:', @@ -883,7 +978,8 @@ exports.strings = { 'uk': 'Допустимі команди', 'ko': '지원되는 명령어들:', 'vi': 'Các lệnh được hỗ trợ:', - 'sl_SI': 'Podprti ukazi:' + 'sl_SI': 'Podprti ukazi:', + 'pl': 'Obsługiwane polecenia:' }, /////////////////////////////////////////////////////////////////////////// 'git-usage': { @@ -893,6 +989,7 @@ exports.strings = { 'zh_CN': '使用:', 'zh_TW': '用法:', 'es_AR': 'Uso:', + 'es_MX': 'Uso:', 'es_ES': 'Uso:', 'pt_BR': 'Uso:', 'gl' : 'Uso:', @@ -901,7 +998,8 @@ exports.strings = { 'uk': 'Використання:', 'ko': '사용법', 'vi': 'Cách dùng:', - 'sl_SI': 'Uporaba:' + 'sl_SI': 'Uporaba:', + 'pl': 'Użyj' }, /////////////////////////////////////////////////////////////////////////// 'git-version': { @@ -911,6 +1009,7 @@ exports.strings = { 'zh_CN': 'Git 版本 PCOTTLE.1.0', 'zh_TW': 'Git 版本 PCOTTLE.1.0', 'es_AR': 'Git Versión PCOTTLE.1.0', + 'es_MX': 'Git Versión PCOTTLE.1.0', 'es_ES': 'Git Versión PCOTTLE.1.0', 'pt_BR': 'Git versão PCOTTLE.1.0', 'gl' : 'Git versión PCOTTLE.1.0', @@ -919,7 +1018,8 @@ exports.strings = { 'uk': 'Версія git PCOTTLE.1.0', 'ko': 'Git Version PCOTILE.1.0', 'vi': 'Phiên bản Git TTC-Solutions.1.0', - 'sl_SI': 'Git Verzija PCOTTLE.1.0' + 'sl_SI': 'Git Verzija PCOTTLE.1.0', + 'pl' : 'Wersja GIT-a OLSZA-1.0' }, /////////////////////////////////////////////////////////////////////////// 'flip-tree-command': { @@ -929,6 +1029,7 @@ exports.strings = { 'zh_CN': '翻转树中...', 'zh_TW': '翻轉樹中...', 'es_AR': 'Invirtiendo el árbol...', + 'es_MX': 'Invirtiendo el árbol...', 'es_ES': 'Invirtiendo el árbol...', 'pt_BR': 'Invertendo a árvore...', 'gl' : 'Invirtindo a árbore...', @@ -937,7 +1038,8 @@ exports.strings = { 'uk': 'Перевертаю дерево...', 'ko': '트리 뒤집는중...', 'vi': 'Cây lật...', - 'sl_SI': 'Obračanje drevesa ...' + 'sl_SI': 'Obračanje drevesa ...', + 'pl' : 'Odwracanie drzewa...' }, /////////////////////////////////////////////////////////////////////////// 'refresh-tree-command': { @@ -947,6 +1049,7 @@ exports.strings = { 'zh_CN': '正在刷新树结构...', 'zh_TW': '正在更新樹狀結構...', 'es_AR': 'Refrezcando el árbol...', + 'es_MX': 'Actualizando el árbol...', 'es_ES': 'Actualizando el árbol...', 'pt_BR': 'Atualizando a árvore...', 'gl' : 'Actualizando a árbore...', @@ -955,7 +1058,8 @@ exports.strings = { 'uk': 'Оновлюю дерево...', 'ko': '트리 다시 불러오는중...', 'vi': 'Làm mới cây...', - 'sl_SI': 'Osveževanje drevesa ...' + 'sl_SI': 'Osveževanje drevesa ...', + 'pl' : 'Odświeżanie drzewa...' }, /////////////////////////////////////////////////////////////////////////// 'locale-command': { @@ -965,6 +1069,7 @@ exports.strings = { 'zh_CN': '语言更改为 {locale}', 'zh_TW': '語系設為 {locale}', 'es_AR': 'Localización actualizada a {locale}', + 'es_MX': 'Idioma actualizado a {locale}', 'es_ES': 'Idioma puesto a {locale}', 'pt_BR': 'Língua trocada para {locale}', 'gl' : 'Cambiado o idioma a {locale}', @@ -973,7 +1078,8 @@ exports.strings = { 'uk': 'Локаль тепер дорівнює {locale}', 'ko': '로케일이 {locale}로 설정되었습니다.', 'vi': 'Ngôn ngữ được thay đổi thành {locale}.', - 'sl_SI': 'Locale nastavljen na {locale}' + 'sl_SI': 'Locale nastavljen na {locale}', + 'pl' : 'Ustawiono język na {locale}' }, /////////////////////////////////////////////////////////////////////////// 'locale-reset-command': { @@ -983,6 +1089,7 @@ exports.strings = { 'zh_CN': '语言重置为默认的 {locale}', 'zh_TW': '還原為預設語系 {locale}', 'es_AR': 'Localización vuelta al default, que es {locale}', + 'es_MX': 'Idioma reestablecido al default, que es {locale}', 'es_ES': 'Idioma reajustado a su valor por defecto ({locale})', 'pt_BR': 'Língua retornada para a padrão, que é {locale}', 'gl' : 'Lingua reaxustada ó seu valor por defecto {locale}', @@ -991,7 +1098,8 @@ exports.strings = { 'uk': 'Локаль скинута. Тепер вона дорівнює {locale}', 'ko': '로케일이 {locale}로 초기화 되었습니다.', 'vi': 'Ngôn ngữ được đổi thành mặc định: {locale}.', - 'sl_SI': 'Locale ponastavljen na {locale}' + 'sl_SI': 'Locale ponastavljen na {locale}', + 'pl' : 'Przywrócono język do wartości domyślnych, czyli {locale}' }, /////////////////////////////////////////////////////////////////////////// 'show-command': { @@ -1001,6 +1109,7 @@ exports.strings = { 'zh_CN': '请使用以下命令以了解更多:', 'de_DE': 'Bitte benutze einen der folgenden Befehle um mehr Informationen zu bekommen:', 'es_AR': 'Usá alguno de estos comandos para tener más información:', + 'es_MX': 'Por favor, utilice alguno de estos comandos para tener más información:', 'es_ES': 'Por favor usa uno de los siguientes comandos para más información:', 'pt_BR': 'Use algum destes comandos para ter mais informações:', 'gl' : 'Usa algún destes comandos para ter máis información:', @@ -1009,7 +1118,8 @@ exports.strings = { 'uk': 'Щоб отримати більше інформації використовуй наступні команди:', 'ko': '더 많은 정보를 위해 다음 명령어들중 하나를 사용하세요.', 'vi': 'Vui lòng dùng một trong các lệnh sau để có thêm thông tin:.', - 'sl_SI': 'Prosim uporabi enega od naslednjih ukazov' + 'sl_SI': 'Prosim uporabi enega od naslednjih ukazov', + 'pl' : 'Aby uzyskać więcej informacji, użyj jednego z następujących poleceń:' }, /////////////////////////////////////////////////////////////////////////// 'show-all-commands': { @@ -1019,6 +1129,7 @@ exports.strings = { 'zh_CN': '该列表列出了所有可用的指令:', 'de_DE': 'Hier ist eine Liste aller verfügbaren Befehle:', 'es_AR': 'Esta es una lista de los comandos disponibles:', + 'es_MX': 'Esta es una lista de todos los comandos disponibles:', 'es_ES': 'Esta es una lista de todos los comandos disponibles:', 'pt_BR': 'Esta é uma lista dos comandos disponíveis:', 'gl' : 'Esta é unha lista dos comando dispoñibles:', @@ -1027,7 +1138,8 @@ exports.strings = { 'uk': 'Ось список всіх можливих команд:', 'ko': '여기에 사용 가능한 모든 명령어들의 리스트가 있습니다.', 'vi': 'Dưới đây là danh sách tất cả các lệnh hiện hành:.', - 'sl_SI': 'Tu je seznam vseh možnih ukazov:' + 'sl_SI': 'Tu je seznam vseh možnih ukazov:', + 'pl' : 'Oto lista wszystkich dostępnych poleceń:' }, /////////////////////////////////////////////////////////////////////////// 'cd-command': { @@ -1037,6 +1149,7 @@ exports.strings = { 'zh_CN': '目录切换到 "/directories/dont/matter/in/this/demo"', 'zh_TW': '目錄切換到 "/directories/dont/matter/in/this/demo"', 'es_AR': 'Directorio cambiado a "/los/directorios/no/importan/en/esta/demo"', + 'es_MX': 'Directorio cambiado a "/los/directorios/no/importan/en/esta/demo"', 'es_ES': 'Directorio cambiado a "/los/directorios/no/importan/en/esta/demo"', 'pt_BR': 'Diretório mudado para "/diretorios/nao/importam/neste/demo"', 'gl' : 'Directorio cambiado a "/os/directorios/non/importan/nesta/demo"', @@ -1045,7 +1158,8 @@ exports.strings = { 'uk': 'Директорія змінена на "/директорії/не/мають/значення/в/цьому/демо"', 'ko': '디렉토리가 "/directories/dont/matter/in/this/demo"로 변경되었습니다.', 'vi': 'Thay đổi thư mục thành "/directories/dont/matter/in/this/demo".', - 'sl_SI': 'Mapa spremenjena na "/directories/dont/matter/in/this/demo"' + 'sl_SI': 'Mapa spremenjena na "/directories/dont/matter/in/this/demo"', + 'pl' : 'Katalog zmieniony na "/home/users/windows/pl/demo"' }, /////////////////////////////////////////////////////////////////////////// 'ls-command': { @@ -1055,6 +1169,7 @@ exports.strings = { 'zh_CN': '在本程序中无须考虑文件问题.txt', 'zh_TW': 'DontWorryAboutFilesInThisDemo.txt (譯註:在 demo 裡不用擔心檔案)', 'es_AR': 'NoTePreocupesPorLosArchivosEnEstaDemo.txt', + 'es_MX': 'NoTePreocupesPorLosArchivosEnEstaDemo.txt', 'es_ES': 'NoTePreocupesPorLosArchivosEnEstaDemo.txt', 'pt_BR': 'NaoSePreocupeComNomesDeArquivoNesteDemo.txt', 'gl' : 'NonTePreocupesPolosCambiosNestaDemo.txt', @@ -1063,7 +1178,8 @@ exports.strings = { 'uk': 'ЗабийНаФайлиВЦьомуДемо.txt', 'ko': 'DontWorryAboutFilesInThisDemo.txt (이_데모에서_파일에_대한_걱정은_하지마세요.txt)', 'vi': 'DontWorryAboutFilesInThisDemo.txt (ĐừngLoLắngVềTậpTinTrongBảnGiớiThiệuNày.txt)', - 'sl_SI': 'DontWorryAboutFilesInThisDemo.txt' + 'sl_SI': 'DontWorryAboutFilesInThisDemo.txt', + 'pl' : 'SpokojnieToTylkoPlikDemo.txt' }, 'mobile-alert': { '__desc__': 'When someone comes to the site on a mobile device, they can not input commands so this is a nasty alert to tell them', @@ -1072,6 +1188,7 @@ exports.strings = { 'zh_CN': '无法在移动设备/平板上调出键盘 :( 请试试桌面版 :D', 'zh_TW': '無法在行動裝置上叫出鍵盤,請改用桌面版!', 'es_AR': 'LGB no puede recibir comandos en dispositivos móviles. Visitanos desde una desktop, ¡lo vale! :D', + 'es_MX': 'LGB no puede recibir comandos en dispositivos móviles. Visítanos en una computadora de escritorio u laptop, ¡Vale la pena! :D', 'es_ES': 'LGB no puede recibir comandos en dispositivos móviles. Visítanos en una computadora de escritorio, ¡lo vale! :D', 'pt_BR': 'Provavelmente você não vai conseguir digitar comandos no celular, neste caso tente acessar de um computador', 'gl' : 'LGB non pode recibir os comandos nos dispositivos móbiles. Visítanos dende un ordenador de escritorio, ¡paga a pena! :D', @@ -1080,7 +1197,8 @@ exports.strings = { 'uk': 'LGB не підтримує ввід тексту з мобільного, зайди з компьютера! Це цього варте!', 'ko': 'LGB는 모바일에서 입력을 받을 수 없습니다. 데스크톱으로 접속하세요! 이것은 가치가 있습니다. :D', 'vi': 'Đáng tiếc là ứng dụng không thể nhận thông tin từ điện thoại hay máy tính bảng, hãy sử dụng máy tính cá nhân, đáng để bỏ công mà :D', - 'sl_SI': 'LGB ne more sprejeti ukazov na mobilni napravi, obiščite nas na računalinku! Je vredno :D ' + 'sl_SI': 'LGB ne more sprejeti ukazov na mobilni napravi, obiščite nas na računalinku! Je vredno :D ', + 'pl' : 'Przepraszamy, ale LearnGitBranching nie da się odbierać poleceń na urządzeniach mobilnych. Odwiedź LearnGitBranching na komputerze stacjonarnym, warto! :D' }, /////////////////////////////////////////////////////////////////////////// 'share-tree': { @@ -1090,6 +1208,7 @@ exports.strings = { 'zh_CN': '与你的好友分享提交树!他们可以用 "import tree" 加载它', 'zh_TW': '與你的好友分享這棵樹!他們可以用 "import tree" 來載入它', 'es_AR': '¡Compartí este árbol con amigos! Pueden cargarlo con "import tree"', + 'es_MX': '¡Comparte éste árbol con amigos! Pueden cargarlo con "import tree"', 'es_ES': '¡Comparte este árbol con amigos! Pueden cargarlo con "import tree"', 'pt_BR': 'Compartilhe esta árvore com seus amigos! Eles podem carregá-la com "import tree"', 'gl' : '¡Comparte esta árbore cos teus amigos! Eles poden cargalo con "import tree"', @@ -1098,7 +1217,8 @@ exports.strings = { 'uk': 'Поділись цим деревом з друзями! Вони зможуть його завантажити за допомогою "import tree"', 'ko': '친구들과 이 트리를 공유하세요! 그들은 "import tree"를 사용해 이를 로드할 수 있습니다.', 'vi': 'Hãy chia sẻ cây này với bạn của mình! Họ có thể dùng "import tree" để tải.', - 'sl_SI': 'Deli to drevo s prijatelji! Lahko ga naložijo z "import tree"' + 'sl_SI': 'Deli to drevo s prijatelji! Lahko ga naložijo z "import tree"', + 'pl' : 'Udostępnij to drzewo znajomym! Mogą go załadować za pomocą "import tree"' }, /////////////////////////////////////////////////////////////////////////// 'paste-json': { @@ -1108,6 +1228,7 @@ exports.strings = { 'zh_CN': '在下边粘贴一个 JSON 串', 'zh_TW': '在下方貼上一串 JSON', 'es_AR': '¡Pegá un blob JSON abajo!', + 'es_MX': '¡Pega un blob JSON abajo!', 'es_ES': '¡Pega un blob JSON abajo!', 'pt_BR': 'Cole o JSON abaixo!', 'gl' : 'Pega un JSON abaixo!', @@ -1116,7 +1237,8 @@ exports.strings = { 'uk': 'Встав JSON нижче!', 'ko': '아래에 JSON blob을 붙여넣으세요.', 'vi': 'Dán một chuỗi JSON xuống bên dưới.', - 'sl_SI': 'Prilepi JSON kodo spodaj!' + 'sl_SI': 'Prilepi JSON kodo spodaj!', + 'pl' : 'Wklej poniżej obiekt z kodem JSON!' }, /////////////////////////////////////////////////////////////////////////// 'solved-map-reset': { @@ -1126,6 +1248,7 @@ exports.strings = { 'zh_CN': '解决列表已重置,您现在可以从头开始了', 'zh_TW': '過關地圖已經重新設置,您現在從零開始了', 'es_AR': 'El mapa resuelto fue eliminado, estás arrancando desde un estado limpio', + 'es_MX': 'El mapa resuelto fue eliminado, estás empezando desde un estado limpio', 'es_ES': 'El mapa resuelto fue eliminado, estás empezando de un estado limpio.', 'pt_BR': 'Mapa de resolvidos descartado, você está começando com ficha limpa!', 'gl' : 'O mapa resolto foi eliminado, estás arrancando dende un estado limpo.', @@ -1134,16 +1257,18 @@ exports.strings = { 'uk': 'Все скинуте! Можна починати з чистого аркушу!', 'ko': '해결된 지도가 초기화 되었습니다. 당신은 깨끗한 상태에서 시작합니다.', 'vi': 'Tất cả đáp án đã được xóa, bạn có thể bắt đầu lại từ đầu.', - 'sl_SI': 'Rešena mapa je ponastavljena, začel boš lahko na novo!' + 'sl_SI': 'Rešena mapa je ponastavljena, začel boš lahko na novo!', + 'pl' : 'Rozwiązania zostały wyczyszczone, zaczynasz od czystej karty.' }, /////////////////////////////////////////////////////////////////////////// 'level-cant-exit': { '__desc__': 'When the user tries to exit a level when they are not in one', 'en_US': 'You are not in a level! You are in a sandbox, start a level with "levels"', - 'de_DE': 'Du bist nicht in einem Level! Du bist im Sandkasten-Modus, starte einen Level mit "levels"', + 'de_DE': 'Du bist nicht in einem Level! Du bist im Sandkasten-Modus, starte ein Level mit "levels"', 'zh_CN': '您没在关卡中而是在沙盒中,要开始关卡请输入 "levels"', 'zh_TW': '您沒在關卡中!您在沙盒中,要開始關卡請輸入 "levels"', 'es_AR': '¡No estás en un nivel! Estás en el sandbox, comenzá un nivel usando "levels"', + 'es_MX': '¡No estás en un nivel! Estás en el sandbox, comienza un nivel con "levels"', 'es_ES': '¡No estás en un nivel! Estás en el sandbox, comienza un nivel con "levels"', 'pt_BR': 'Você não está em um nível! Você está no sandbox, comece um nível com "levels"', 'gl' : '¡Non estás en ningún nivel! Estás nunha caixa de arena, comeza un nivel usando "levels"', @@ -1152,16 +1277,18 @@ exports.strings = { 'uk': 'Ти не в рівні! Ти в пісочниці! Почни рівень з "levels"', 'ko': '당신은 샌드박스에 있습니다. "levels"를 사용하여 레벨을 시작하세요.', 'vi': 'Bạn hiện không ở cấp độ nào cả! Hãy bắt đầu một cấp độ với "levels".', - 'sl_SI': 'Nisi v stopnji! Si v peskovniku, začni stopnjo z "levels"' + 'sl_SI': 'Nisi v stopnji! Si v peskovniku, začni stopnjo z "levels"', + 'pl' : 'Nie jesteś na poziomie! Jesteś w piaskownicy, zacznij poziom wpisując "levels"' }, /////////////////////////////////////////////////////////////////////////// 'level-no-id': { '__desc__': 'When you say an id but that level doesn\'t exist', 'en_US': 'A level for that id "{id}" was not found! Opening up a level selection view', - 'de_DE': 'Konnte keinen Level mit der ID "{id}" finden! Öffne einen Level-Auswahldialog', + 'de_DE': 'Konnte kein Level mit der ID "{id}" finden! Öffne den Level-Auswahldialog', 'zh_CN': '没找到 id 为 "{id}" 的关卡!打开关卡选择框', 'zh_TW': '找不到 id 為 "{id}" 的關卡!開啟關卡選擇視窗', 'es_AR': 'No se encontró ningún nivel {id}. Abriendo la vista de selección de niveles...', + 'es_MX': 'No se encontró ningún nivel {id}. Abriendo la vista de selección de niveles...', 'es_ES': 'No se encontró ningún nivel {id}. Abriendo la vista de selección de niveles...', 'pt_BR': 'O nível "{id}" não existe! Abrindo uma caixa de seleção de nível', 'gl' : 'O nivel "{id}" non existe! Abrindo unha caixa de seleción de nivel', @@ -1170,7 +1297,8 @@ exports.strings = { 'uk': 'Рівень з id "{id}" не знайдений! Відкриваю вибір рівней', 'ko': 'id "{id}"에 대한 레벨이 존재하지 않습니다. 레벨 선택 화면을 열어보세요.', 'vi': 'Không tìm thấy cấp độ cho định danh "{id}". Mở cửa sổ chọn cấp độ.', - 'sl_SI': 'Stopnja za ta id "{id}" ni bila najdena! Odpiram pogled za izbiro stopnje' + 'sl_SI': 'Stopnja za ta id "{id}" ni bila najdena! Odpiram pogled za izbiro stopnje', + 'pl' : 'Nie znaleziono poziomu {id}!. Otwieranie widoku wyboru poziomu...' }, /////////////////////////////////////////////////////////////////////////// 'undo-stack-empty': { @@ -1180,24 +1308,27 @@ exports.strings = { 'zh_CN': '还没有什么可以撤销', 'zh_TW': '還沒有什麼可以取消', 'es_AR': 'No hay comandos que deshacer', + 'es_MX': 'No hay comandos para deshacer', 'es_ES': 'No hay comandos que deshacer', 'pt_BR': 'Você já desfez tudo!', 'gl' : 'Nonn hai comandos que desfacer', 'fr_FR': 'La pile d\'annulation est vide !', 'ru_RU': 'Некуда откатывать!', - 'uk': 'Нема куди відкатуватися', + 'uk': 'Нема куди відкочуватись!', 'ko': '되돌리기 스택이 비었습니다!', 'vi': 'Không có gì để hoàn tác!', - 'sl_SI': 'Undo seznam je prazen!' + 'sl_SI': 'Undo seznam je prazen!', + 'pl' : 'Nie ma już poleceń do cofnięcia!' }, /////////////////////////////////////////////////////////////////////////// 'already-solved': { '__desc__': 'When you play in a level that is already solved', 'en_US': 'You have already solved this level, try other levels with "levels" or go back to sandbox with "sandbox"', - 'de_DE': 'Du hast diesen Level bereits gelöst, probier einen anderen Level mit "levels" aus oder geh in den Sandkasten-Modus mit "sandbox"', + 'de_DE': 'Du hast dieses Level bereits gelöst, probier ein anderes Level mit "levels" aus oder geh in den Sandkasten-Modus mit "sandbox"', 'zh_CN': '你已经解决了本关,输入 "levels" 尝试其他关卡,或者输入 "sandbox" 回到沙盒中', 'zh_TW': '你已經解决了本關,輸入 "levels" 嘗試其他關卡,或者輸入 "sandbox" 回到沙盒中', 'es_AR': 'Ya resolviste este nivel, probá otros usando "levels" o volvé al sandbox usando "sandbox"', + 'es_MX': 'Ya resolviste este nivel, prueba otros usando "levels" o vuelve al sandbox usando "sandbox"', 'es_ES': 'Ya resolviste este nivel, prueba otros usando "levels" o vuelve al sandbox usando "sandbox"', 'pt_BR': 'Você já resolveu este nível, tente outros com "levels" ou volte ao sandbox com "sandbox"', 'gl' : 'Xa resolviches este nivel, proba outros usando "levels" ou volve á caixa de area con "sandbox"', @@ -1206,7 +1337,8 @@ exports.strings = { 'uk': 'Ти вже пройшов цей рівень, спробуй інші рівні з "levels" чи повернись в пісочницю з "sandbox"', 'ko': '당신은 이미 이 레벨을 해결했습니다. "levels"를 사용하여 다른 레벨에 도전하거나 "sandbox"를 사용하여 샌드박스로 돌아가세요.', 'vi': 'Bạn đã vượt qua cấp độ này. Thử cấp độ khác với "levels" hoặc dùng "sandbox" để trở lại hộp cát.', - 'sl_SI': 'To stopnjo si že rešil, poizkusi druge stopnje z "levels" ali pojdi nazaj v peskovnik s "sandbox"' + 'sl_SI': 'To stopnjo si že rešil, poizkusi druge stopnje z "levels" ali pojdi nazaj v peskovnik s "sandbox"', + 'pl' : 'Już rozwiązałeś ten poziom, wypróbuj inne, używając "levels" lub wróć do piaskownicy za pomocą polecenia "sandbox"' }, /////////////////////////////////////////////////////////////////////////// 'solved-level': { @@ -1221,16 +1353,18 @@ exports.strings = { 'uk' : 'Вирішено!!\n:D', 'ko' : '해결 완료!!\n:D', 'vi' : 'ĐÃ XONG!!\n:D', - 'sl_SI': 'Rešeno!!\n:D' + 'sl_SI': 'Rešeno!!\n:D', + 'pl' : 'Rozwiązany!!\n:D' }, /////////////////////////////////////////////////////////////////////////// 'command-disabled': { '__desc__': 'When you try a command that is disabled', 'en_US': 'That git command is disabled for this level!', - 'de_DE': 'Dieser git-Befehl ist für diesen Level deaktiviert!', + 'de_DE': 'Dieser git-Befehl ist für dieses Level deaktiviert!', 'zh_CN': '本关不允许使用该命令!', 'zh_TW': '本關禁止使用該 git 指令!', 'es_AR': '¡Ese comando de git está deshabilitado para este nivel!', + 'es_MX': '¡Ese comando de git está deshabilitado para éste nivel!', 'es_ES': '¡Ese comando de git está deshabilitado para este nivel!', 'pt_BR': 'Achou que seria fácil assim? Desabilitamos esse comando durante este nível, só para dificultar ;-)', 'gl' : '¡Ese comando de git está deshabilitado para este nivel!', @@ -1239,16 +1373,18 @@ exports.strings = { 'uk': 'На цьому рівні не можна використовувати цю команду!', 'ko': '그 Git 명령어는 이 레벨에서 사용할 수 없습니다.', 'vi': 'Ở cấp độ này thì lệnh git đó bị vô hiệu hóa.', - 'sl_SI': 'Ta git ukaz je onemogočen za to stopnjo!' + 'sl_SI': 'Ta git ukaz je onemogočen za to stopnjo!', + 'pl' : 'To polecenie GIT-a jest wyłączone na tym poziomie!' }, /////////////////////////////////////////////////////////////////////////// 'share-json': { '__desc__': 'when you have made the level, prompt to share this', 'en_US': 'Here is the JSON for this level! Share it with someone or send it to me on GitHub', - 'de_DE': 'Hier ist das JSON für diesen Level! Teil es mit jemandem or schick es mir über GitHub', + 'de_DE': 'Hier ist das JSON für dieses Level! Teil es mit jemandem or schick es mir über GitHub', 'zh_CN': '这是一个关卡定义 JSON !您可以分享它或者发到我的 GitHub 上', 'zh_TW': '這是本關的 JSON!您可以分享給別人,或是送到 GitHub 上給我', 'es_AR': 'Este es el JSON de este nivel. Compartilo con quien quieras o mandámelo por GitHub', + 'es_MX': 'Este es el JSON de éste nivel. Compártelo con quien quieras o mándamelo por GitHub.', 'es_ES': 'Este es el JSON de este nivel. Compártelo con quien quieras o mandámelo por GitHub.', 'pt_BR': 'Aqui está o JSON para este nível! Compartilhe com alguém ou me envie pelo GitHub', 'gl' : 'Este é o JSON deste nivel. Comparteo con quen queiras ou mándao por GitHub', @@ -1257,7 +1393,8 @@ exports.strings = { 'uk': 'Ось JSON для цього рівня! Поділись з кимось чи відправ мені його на GitHub', 'ko': '이 레벨을 위한 JSON 데이터가 있습니다! 이를 다른 사람들과 공유하거나 GitHub에서 제게 보내보세요.', 'vi': 'Đây là chuỗi JSON cho cấp độ này! Hãy chia sẻ với người khắc hoặc với tôi qua GitHub.', - 'sl_SI': 'Tu je JSON za to stopnjo! Deli ga z nekom ali ga pošlji meni na GitHub' + 'sl_SI': 'Tu je JSON za to stopnjo! Deli ga z nekom ali ga pošlji meni na GitHub', + 'pl' : 'To jest JSON dla tego poziomu. Udostępnij go, komu chcesz, lub wyślij do mnie na GitHub.' }, /////////////////////////////////////////////////////////////////////////// 'want-start-dialog': { @@ -1267,6 +1404,7 @@ exports.strings = { 'zh_CN': '您还没有定义一开始的介绍,是否添加一个?', 'zh_TW': '尚未指定開始對話視窗,是否立即新增?', 'es_AR': 'No especificaste un mensaje de inicio, ¿querés agregar uno?', + 'es_MX': 'No especificaste un mensaje de inicio, ¿Quieres agregar uno?', 'es_ES': 'No especificaste un mensaje de inicio, ¿quieres agregar uno?', 'pt_BR': 'Você não especificou uma mensagem de início, quer colocar uma?', 'gl' : 'Non especificaches unha mensaxe de incio. ¿queres agregar un?', @@ -1275,7 +1413,8 @@ exports.strings = { 'uk': 'Не вказано стартовий діалог, хочеш додати стартовий діалог?', 'ko': '당신은 시작 대화창을 지정하지 않았습니다. 추가 하시겠습니까?', 'vi': 'Không có cửa sổ hội thoại được chỉ định, thêm một cái chứ?', - 'sl_SI': 'Nisi določil začetnega dialoga, bi ga rad dodal?' + 'sl_SI': 'Nisi določil začetnega dialoga, bi ga rad dodal?', + 'pl' : 'Nie określiłeś okna startowego, czy chcesz je dodać?' }, /////////////////////////////////////////////////////////////////////////// 'want-hint': { @@ -1285,6 +1424,7 @@ exports.strings = { 'zh_CN': '您还没有定义提示,是否添加一个?', 'zh_TW': '尚未指定提示,是否立即新增?', 'es_AR': 'No especificaste ninguna pista, ¿querés agregar alguna?', + 'es_MX': 'No especificaste ninguna pista, ¿Quieres agregar alguna?', 'es_ES': 'No especificaste ninguna pista, ¿quieres agregar alguna?', 'pt_BR': 'Você não especificou uma dica, quer colocar uma?', 'gl' : 'Ti non especificaches unha pista, ¿queres agregar algunha?', @@ -1293,16 +1433,18 @@ exports.strings = { 'uk': 'Не вказана підказка, хочеш додати підказку?', 'ko': '당신은 힌트를 지정하지 않았습니다. 추가 하시겠습니까?', 'vi': 'Bạn chưa chỉ định một gợi ý, thêm một cái chứ?', - 'sl_SI': 'Nisi določil namiga, bi ga rad dodal?' + 'sl_SI': 'Nisi določil namiga, bi ga rad dodal?', + 'pl' : 'Nie podałeś podpowiedzi, czy chcesz ją dodać?' }, /////////////////////////////////////////////////////////////////////////// 'prompt-hint': { '__desc__': 'prompt for hint', 'en_US': 'Enter the hint for this level, or leave this blank if you do not want to include one', - 'de_DE': 'Gib den Hinweis für diesen Level an, oder lass es leer wenn du keinen hinzufügen willst', + 'de_DE': 'Gib den Hinweis für dieses Level an, oder lass es leer wenn du keinen hinzufügen willst', 'zh_CN': '请输入关卡提示,如果没有请留空', 'zh_TW': '請輸入關卡提示,或者故意留空', 'es_AR': 'Ingresá una pista para este nivel, o dejalo en blanco si no querés incluir ninguna', + 'es_MX': 'Ingresa una pista para este nivel, o déjalo en blanco si no quieres incluir ninguna.', 'es_ES': 'Ingresa una pista para este nivel, o déjalo en blanco si no quieres incluir ninguna.', 'pt_BR': 'Colocque uma dica para este nível, ou deixe em branco se não quiser incluir', 'gl' : 'Ingresa unha pista para este nivel, ou déixao en branco se non a queres incluír.', @@ -1311,16 +1453,18 @@ exports.strings = { 'uk': 'Додай підказку для рівня, якщо хочеш', 'ko': '이 레벨을 위한 힌트를 입력하거나 만약 이를 포함시키고 싶지 않을 경우엔 비워두세요.', 'vi': 'Thêm một gợi ý cho cấp độ này, hoặc cứ để trống nếu bạn không muốn thêm.', - 'sl_SI': 'Vnesi namig za to stopnjo ali pusti to prazno, če ga nočeš dodati' + 'sl_SI': 'Vnesi namig za to stopnjo ali pusti to prazno, če ga nočeš dodati', + 'pl' : 'Wpisz wskazówkę dotyczącą tego poziomu lub pozostaw ją pustą, jeśli nie chcesz jej uwzględniać.' }, /////////////////////////////////////////////////////////////////////////// 'prompt-name': { '__desc__': 'prompt for level name', 'en_US': 'Enter the name for the level', - 'de_DE': 'Gib den Namen für diesen Level an', + 'de_DE': 'Gib den Namen für dieses Level an', 'zh_CN': '请输入关卡名称', 'zh_TW': '請輸入關卡名稱', 'es_AR': 'Ingresá el nombre del nivel', + 'es_MX': 'Ingresa el nombre del nivel', 'es_ES': 'Ingresa el nombre del nivel.', 'pt_BR': 'Coloque o nome do nível', 'gl' : 'Coloque o nome do nivel', @@ -1329,7 +1473,8 @@ exports.strings = { 'uk': 'Введи назву рівня', 'ko': '레벨 이름을 입력하세요.', 'vi': 'Nhập tên cho cấp độ này.', - 'sl_SI': 'Vnesi ime za stopnjo' + 'sl_SI': 'Vnesi ime za stopnjo', + 'pl' : 'Wprowadź nazwę poziomu' }, /////////////////////////////////////////////////////////////////////////// 'solution-empty': { @@ -1339,6 +1484,7 @@ exports.strings = { 'zh_CN': '你的解法是空的!! 可能是程序出错了', 'zh_TW': '您的解法是空的!這一定是哪裡出錯了', 'es_AR': '¡Tu solución está vacía! Algo hay que hacer', + 'es_MX': '¡Tu solución está vacía! Algo hay que hacer', 'es_ES': '¡Tu solución está vacía! Algo hay que hacer.', 'pt_BR': 'Sua solução está vazia! O aprendiz deveria ter que fazer alguma coisa', 'gl' : '¡Su solución está vacía! Algo haberá que facer.', @@ -1347,7 +1493,8 @@ exports.strings = { 'uk': 'Розв’язок порожній!! Щось не так', 'ko': '해답이 비어있습니다. 무언가 잘못되었습니다.', 'vi': 'Đáp án bị bỏ trống!! Có gì thiếu rồi.', - 'sl_SI': 'Tvoja rešitev je prazna!! Nekaj ni vredu.' + 'sl_SI': 'Tvoja rešitev je prazna!! Nekaj ni vredu.', + 'pl' : 'Twoje rozwiązanie jest puste!! Coś musi zostać zrobione.' }, /////////////////////////////////////////////////////////////////////////// 'define-start-warning': { @@ -1357,6 +1504,7 @@ exports.strings = { 'zh_CN': '定义开始点... 解决方法和目标会被新的替代', 'zh_TW': '正在定義起始點...先前定義的解法和目標會被覆蓋掉', 'es_AR': 'Estableciendo el punto de inicio... La solución y el objetivo serán sobreescritos si ya habían sido definidos', + 'es_MX': 'Estableciendo el punto de inicio... La solución y el objetivo serán sobreescritos si ya habían sido definidos', 'es_ES': 'Estableciendo el punto de inicio... La solución y el objetivo serán sobreescritos si ya habían sido definidos.', 'pt_BR': 'Esbelecendo o ponto de início... a solução e o objetivo serão sobrescritos caso já existirem', 'gl' : 'Establecendo o punto de inicio... A solución e o obxectivo serán sobreescritos se xa foron definidos.', @@ -1365,16 +1513,18 @@ exports.strings = { 'uk': 'Встановлюю стартову точку... розв’язок та ціль будуть переписані якщо вони були задані раніше', 'ko': '시작 지점을 정의하세요... 만약 그것이 먼저 정의된다면 해답과 목표가 덮어씌워질 것입니다.', 'vi': 'Xác định điểm bắt đầu ... Các giải pháp và mục tiêu sẽ được thay thế nếu đã được chỉ định từ trước.', - 'sl_SI': 'Določanje začetne točke ... rešitev in cilj bosta povožena, če sta bila prej že podana' + 'sl_SI': 'Določanje začetne točke ... rešitev in cilj bosta povožena, če sta bila prej že podana', + 'pl' : 'DUstawianie punktu początkowego... Rozwiązanie i cel zostaną nadpisane, jeśli zostały wcześniej zdefiniowane' }, /////////////////////////////////////////////////////////////////////////// 'help-vague-level': { '__desc__': 'When you are in a level and you say help, its vague and you need to specify', 'en_US': 'You are in a level, so multiple forms of help are available. Please select either "help level" to learn more about this lesson, "help general" for using Learn GitBranching, or "objective" to learn about how to solve the level.', - 'de_DE': 'Du befindest dich in einem Level, daher gibt es verschiedene Hilfen. Gib "help level" ein um mehr úber diesen Level zu erfahren, "help general" um zu sehen wie Learn Git Branching bedient wird, oder "objective" um das Ziel dieses Levels zu erfahren.', + 'de_DE': 'Du befindest dich in einem Level, daher gibt es verschiedene Hilfen. Gib "help level" ein um mehr úber dieses Level zu erfahren, "help general" um zu sehen wie Learn Git Branching bedient wird, oder "objective" um das Ziel dieses Levels zu erfahren.', 'zh_CN': '您正在关卡中,这里有多种形式的帮助,请选择 "help level" (关卡帮助)或 "help general" (一般帮助)', 'zh_TW': '您正在進行關卡中,這裡有多種不同型式的幫助,請選擇 "help level" 來了解這個關卡,或者是選擇 "help general" 來學習如何使用 Learn GitBranching,或者是選擇 "objective" 來學習如何解決這個關卡', 'es_AR': 'Estás en un nivel, por lo que hay varios tipos de ayuda. Por favor elegí entre "help level" para aprender algo más sobre esta lección, "help general" para ayuda sobre el uso de Learn GitBranching, o "objective" para aprender a resolver este nivel.', + 'es_MX': 'Estás en un nivel, por lo que hay varios tipos de ayuda. Por favor elige entre "help level" para aprender algo más sobre ésta lección, "help general" para ayuda sobre el uso de Learn GitBranching, o "objective" para aprender a resolver este nivel.', 'es_ES': 'Estás en un nivel, por lo que hay varios tipos de ayuda. Por favor elige "help level" para aprender más sobre esta lección, "help general" para ayuda sobre el uso de Learn GitBranching, o "objective" para aprender a resolver este nivel.', 'pt_BR': 'Você está em um nível, então há vários tipos de ajuda. Selecione "help level" para aprender mais sobre esta lição, "help general" para aprender a usar o Learn GitBranching, ou "objective" ver como resolver o nível.', 'gl' : 'Estás nun nivel, entón hai varios tipos de axuda. Selecione "help level" para aprender máis sobre esta lección, "gelp general" para aprender a usar o Learn Git Branching, ou "objective" para ver como resolver o nivel.', @@ -1383,7 +1533,8 @@ exports.strings = { 'uk': 'При проходженні рівня доступні декілька різновидів допомоги. Виберіть або "help level" щоб взнати більше про цей рівень, чи "help general" щоб взнати більше про Learn Git Branching, чи "objective" щоб дізнатись більше про проходження цього рівня', 'ko': '당신은 한 레벨에 들어가 있고, 여러가지 도움 양식들을 사용할 수 있습니다. 레슨에 대해 더 알고싶을 땐 "help level", LearnGitBranching을 사용하고 싶을 땐 "help general", 또는 레벨을 어떻게 해결해야할지 알고싶을 땐 "objective"를 선택하세요.', 'vi': 'Bạn đang ở trong một cấp độ, nên sẽ có nhiều hỗ trợ. Vui lòng dùng "help level" để biết thêm về bài học này, "help general" để sử dụng HọcNhánhGit, hoặc "objective" để biết cách giải quyết bài tập.', - 'sl_SI': 'Si v stopnji, zato so na voljo različne pomoči. Prosim izberi "help level" za več informacij o tej lekciji, "help general" za splošna navodila ali "objective" da izveš kako rešiti to stopnjo' + 'sl_SI': 'Si v stopnji, zato so na voljo različne pomoči. Prosim izberi "help level" za več informacij o tej lekciji, "help general" za splošna navodila ali "objective" da izveš kako rešiti to stopnjo', + 'pl' : 'Jesteście na jednym z poziomów, więc istnieje kilka rodzajów pomocy. Wpisz "help level", aby dowiedzieć się więcej o tej lekcji, wpisz "help general", aby uzyskać pomoc dotyczącą korzystania z nauki GitBranching, lub wpisz "objective", aby dowiedzieć się, jak rozwiązać ten poziom.' }, /////////////////////////////////////////////////////////////////////////// 'help-vague-builder': { @@ -1393,6 +1544,7 @@ exports.strings = { 'zh_CN': '您正在进行关卡构建中,这里有多种形式的帮助,请选择 "help general" (一般帮助)或 "help builder" (关卡构建帮助)', 'zh_TW': '您正在進行關卡構建中,這裡有多種不同型式的幫助,請選擇 "help general" (一般幫助)或 "help builder" (製造關卡的幫助)', 'es_AR': 'Estás en el constructor de niveles, por lo que hay varios tipos de ayuda. Elegí entre "help general" para ayuda sobre Learn GitBranching y "help builder" para ayuda sobre el constructor de niveles', + 'es_MX': 'Estás en el constructor de niveles, por lo que hay varios tipos de ayuda. Elige "help general" para ayuda sobre Learn GitBranching y "help builder" para ayuda sobre el constructor de niveles', 'es_ES': 'Estás en un constructor de niveles, por lo que hay varios tipos de ayuda. Elige "help general" para ayuda sobre Learn GitBranching o "help builder" para ayuda sobre el constructor de niveles', 'pt_BR': 'Você está no construtor de nívels, então há vários tipos de ajuda. Selecione "help general" ou "help builder"', 'gl' : 'Estás no constructor de niveis, polo que hai varios tipos de axuda. Elixe "help general" ou "help builder"', @@ -1401,7 +1553,8 @@ exports.strings = { 'uk': 'При створенні рівня доступні декілька різновидів допомоги. Виберіть або "help general", чи "help builder"', 'ko': '당신은 한 레벨 생성기에 들어가 있고, 여러가지 도움 양식들을 사용할 수 있습니다. "help general" 또는 "help builder"를 선택해주세요.', 'vi': 'Bạn đang tạo một cấp độ, nên sẽ có nhiều trợ giúp có sẵn. Vui lòng chọn "help general" hoặc "help builder".', - 'sl_SI': 'Si v graditelju stopenj, zato so na voljo različne pomoči. Prosim izberi "help general" ali "help builder"' + 'sl_SI': 'Si v graditelju stopenj, zato so na voljo različne pomoči. Prosim izberi "help general" ali "help builder"', + 'pl' : 'Jesteś w kreatorze poziomów, więc dostępnych jest wiele form pomocy. Wpisz "help general", aby uzyskać pomoc dotyczącą nauki GitBranching-u, lub wpisz "help builder", aby uzyskać pomoc dotyczącą konstruktora poziomów' }, /////////////////////////////////////////////////////////////////////////// 'show-goal-button': { @@ -1414,13 +1567,15 @@ exports.strings = { 'pt_BR': 'Mostrar objetivo', 'gl' : 'Amosar obxectivo', 'es_AR': 'Mostrar objetivo', + 'es_MX': 'Mostrar objetivo', 'es_ES': 'Mostrar objetivo', 'ja' : 'ゴールを表示', 'ru_RU': 'Цель уровня', 'uk': 'Ціль рівня', 'ko': '목표 보기', 'vi': 'Hiển thị mục tiêu', - 'sl_SI': 'Prikaži Cilj' + 'sl_SI': 'Prikaži Cilj', + 'pl' : 'Pokaż cel' }, /////////////////////////////////////////////////////////////////////////// 'hide-goal-button': { @@ -1433,13 +1588,15 @@ exports.strings = { 'pt_BR': 'Ocultar objetivo', 'gl' : 'Ocultar obxectivo', 'es_AR': 'Ocultar objetivo', + 'es_MX': 'Ocultar objetivo', 'es_ES': 'Ocultar objetivo', 'ja' : 'ゴールを隠す', 'ru_RU': 'Спрятать цель', 'uk': 'Сховати ціль', 'ko': '목표 숨기기', 'vi': 'Ẩn mục tiêu', - 'sl_SI': 'Skrij Cilj' + 'sl_SI': 'Skrij Cilj', + 'pl' : 'Ukryj cel' }, /////////////////////////////////////////////////////////////////////////// 'objective-button': { @@ -1454,7 +1611,8 @@ exports.strings = { 'uk': 'Задача', 'ko': '목적', 'vi': 'Chỉ dẫn', - 'sl_SI': 'Navodila' + 'sl_SI': 'Navodila', + 'pl' : 'Instrukcje' }, /////////////////////////////////////////////////////////////////////////// 'git-demonstration-title': { @@ -1469,7 +1627,8 @@ exports.strings = { 'uk' : 'Git демо', 'ko' : 'Git 데모', 'vi' : 'Trình diễn Git', - 'sl_SI': 'Git Predstavitev' + 'sl_SI': 'Git Predstavitev', + 'pl' : 'Demo GIT' }, /////////////////////////////////////////////////////////////////////////// 'goal-to-reach': { @@ -1479,6 +1638,7 @@ exports.strings = { 'zh_CN': '目标', 'zh_TW': '目標', 'es_AR': 'Objetivo a cumplir', + 'es_MX': 'Objetivo a cumplir', 'es_ES': 'Objetivo a cumplir', 'pt_BR': 'Objetivo a cumprir', 'gl' : 'Obxectivo a cumprir', @@ -1488,7 +1648,8 @@ exports.strings = { 'uk': 'Ціль рівня', 'ko': '목표', 'vi': 'Mục tiêu cần đạt', - 'sl_SI': 'Končni Cilj' + 'sl_SI': 'Končni Cilj', + 'pl': 'Cel do osiągnięcia' }, /////////////////////////////////////////////////////////////////////////// 'goal-only-master': { @@ -1497,6 +1658,7 @@ exports.strings = { 'fr_FR': 'Note: Dans ce niveau on ne doit faire de git checkout que sur la branche master. Les autres branches représentées ici (entourées d\'un cadre en tirets) doivent être utilisées uniquement comme références. Comme toujours, vous pouvez cacher cette fenêtre avec "Cacher les objectifs"', 'de_DE': 'Hinweis: In diesem Level wird nur der Branch master geprüft. Die anderen Branches dienen nur als Vergleichsbasis (als gestrichelte Bezeichner dargestellt). Wie immer kannst du diese Meldung mit "hide goal" ausblenden', 'es_AR': 'Nota: Sólo la rama master va a ser chequeada en este nivel. Las otras ramas sólo son para referencia. Como siempre, podés ocultar este mensaje con "hide goal"', + 'es_MX': 'Nota: Sólo la rama master va a ser inspeccionada en este nivel. Las otras ramas sólo son para referencia (etiquetados abajo con guión). Como siempre, puedes ocultar éste mensaje con "hide goal"', 'es_ES': 'Nota: Sólo la rama master va a ser inspeccionado en este nivel. Las otras ramas sólo son para referencia (etiquetados abajo con guion). Siempre puedes ocultar este mensaje con "hide goal."', 'pt_BR': 'Nota: Apenas o ramo master será verificado neste nível. Os outros ramos (dentro das caixas clareadas) são somente para referência. Como sempre, você pode ocultar esta janela com "hide goal"', 'gl': 'Nota: Só a rama master será verificada neste nivel. As outras ramas (dentro das caixas clareadas) son soamente de referencia. Coma sempre, podes ocultar está ventá con "hide goal"', @@ -1505,9 +1667,10 @@ exports.strings = { 'ja': 'Note: masterブランチだけをこのlevelではチェックします。その他のブランチ(以下では、破線で示されています)に関しては、参照のためにあります。また、いつでもこのウィンドウは"hide goal"と打つかクリックで閉じれます', 'ru_RU': 'Важно: В этом уровне проверяется только ветка master. Остальные ветки просто для наглядности. Как обычно, можно скрыть это сообщение при помощи "hide goal"', 'uk': 'Важливо: В цьому рівні буде перевірятися тільки гілка master. Решта гілок тільки для наглядності (показані пунктиром нижче). Як завжди, можна сховати цей діалог за допомогою "hide goal"', - 'ko': 'Note: 이 레벨에선 오직 마스터 브랜치만이 검사될 것입니다.. 다른 브랜치들은 단순히 참고용입니다. (아래에 대시 라벨로 보여집니다.). "hide goal"을 사용하여 언제든지 창을 숨길 수 있습니다.', + 'ko': 'Note: 이 레벨에선 오직 메인 브랜치만이 검사될 것입니다.. 다른 브랜치들은 단순히 참고용입니다. (아래에 대시 라벨로 보여집니다.). "hide goal"을 사용하여 언제든지 창을 숨길 수 있습니다.', 'vi': 'Chú ý: Ở cấp độ này chỉ nhánh master bị kiểm tra. Các nhánh khác chỉ dùng để tham chiếu(có dấu - ở nhãn). Như thường lệ, bạn có thể ẩn mục tiêu bằng "hide goal".', - 'sl_SI': 'Opomba: Samo master branch bo preverjen v tej stopnji. Ostali branchi so zgolj za referenco (prikazani kot črtaste oznake spodaj). Kot ponavadi, lahko skriješ dialog z "hide goal"' + 'sl_SI': 'Opomba: Samo master branch bo preverjen v tej stopnji. Ostali branchi so zgolj za referenco (prikazani kot črtaste oznake spodaj). Kot ponavadi, lahko skriješ dialog z "hide goal"', + 'pl': ' Uwaga: Na tym poziomie sprawdzana będzie tylko główna gałąź. Pozostałe gałęzie są tylko do odwołania (pokazane jako przerywane etykiety poniżej). Jak zawsze, możesz ukryć to okno dialogowe z "ukryj cel".' }, /////////////////////////////////////////////////////////////////////////// 'hide-goal': { @@ -1517,6 +1680,7 @@ exports.strings = { 'zh_CN': '你可以通过 "hide goal" 命令关闭这个窗口', 'zh_TW': '你可以透過 "hide goal" 關閉這個視窗', 'es_AR': 'Podés ocultar esta ventana con "hide goal"', + 'es_MX': 'Puedes ocultar esta ventana con "hide goal"', 'es_ES': 'Puedes ocultar esta ventana con "hide goal."', 'pt_BR': 'Você pode ocultar esta janela com "hide goal"', 'gl' : 'Podes ocultar esta ventá con "hide goal"', @@ -1526,7 +1690,8 @@ exports.strings = { 'uk': 'Можна сховати це вікно за допомогою "hide goal"', 'ko': '"hide goal"을 사용하여 이 창을 숨길 수 있습니다.', 'vi': 'Bạn có thể ẩn cửa sổ này với "hide goal".', - 'sl_SI': 'To okno lahko skriješ z "hide goal"' + 'sl_SI': 'To okno lahko skriješ z "hide goal"', + 'pl': 'Możesz ukryć to okno za pomocą opcji "ukryj cel"' }, /////////////////////////////////////////////////////////////////////////// 'hide-start': { @@ -1536,6 +1701,7 @@ exports.strings = { 'zh_CN': '你可以通过 "hide start" 命令关闭这个窗口', 'zh_TW': '你可以透過 "hide start" 關閉這個視窗', 'es_AR': 'Podés ocultar esta ventana con "hide start"', + 'es_MX': 'Puedes ocultar ésta ventana con "hide start"', 'es_ES': 'Puedes ocultar esta ventana con "hide start."', 'pt_BR': 'Você pode ocultar esta janela com "hide start"', 'gl' : 'Podes ocultar esta ventá con "hide start"', @@ -1545,7 +1711,8 @@ exports.strings = { 'uk': 'Можна сховати це вікно за допомогою "hide start"', 'ko': '"hide start"를 사용하여 이 창을 숨길 수 있습니다.', 'vi': 'Bạn có thể ẩn cửa sổ này với "hide start".', - 'sl_SI': 'To okno lahko skriješ z "hide start"' + 'sl_SI': 'To okno lahko skriješ z "hide start"', + 'pl': 'Możesz ukryć to okno za pomocą opcji "ukryj start"' }, /////////////////////////////////////////////////////////////////////////// 'level-builder': { @@ -1555,6 +1722,7 @@ exports.strings = { 'zh_CN': '关卡生成器', 'zh_TW': '關卡產生器', 'es_AR': 'Constructor de niveles', + 'es_MX': 'Constructor de niveles', 'es_ES': 'Constructor de niveles', 'pt_BR': 'Construtor de níveis', 'gl' : 'Constructor de nivéis', @@ -1564,16 +1732,18 @@ exports.strings = { 'uk': 'Редактор рівнів', 'ko': '레벨 생성기', 'vi': 'Trình tạo câp độ', - 'sl_SI': 'Graditelj Stopenj' + 'sl_SI': 'Graditelj Stopenj', + 'pl': 'Twórca poziomu' }, /////////////////////////////////////////////////////////////////////////// 'no-start-dialog': { '__desc__': 'when the user tries to open a start dialog for a level that does not have one', 'en_US': 'There is no start dialog to show for this level!', - 'de_DE': 'Es gibt keinen Einführungs-Dialog für diesen Level!', + 'de_DE': 'Es gibt keinen Einführungs-Dialog für dieses Level!', 'zh_CN': '这个关卡没有介绍!', 'zh_TW': '這關沒有介紹!', 'es_AR': '¡No hay mensaje de inicio para este nivel!', + 'es_MX': '¡No hay mensaje de inicio para éste nivel!', 'es_ES': '¡No hay mensaje de inicio para este nivel!', 'pt_BR': 'Não há mensagem de início para este nível!', 'gl' : '¡Non hai mensaxe de inicio para este nivel!', @@ -1583,16 +1753,18 @@ exports.strings = { 'uk': 'Немає початкового діалогу для цього рівня!', 'ko': '이 레벨을 위한 시작 대화창이 없습니다.', 'vi': 'Cấp độ này không được giới thiệu.', - 'sl_SI': 'Ni začetnega dialoga za prikaz te stopnje!' + 'sl_SI': 'Ni začetnega dialoga za prikaz te stopnje!', + 'pl': 'Dla tego poziomu nie ma okna startowego do wyświetlenia!' }, /////////////////////////////////////////////////////////////////////////// 'no-hint': { '__desc__': 'when no hint is available for a level', 'en_US': "Hmm, there doesn't seem to be a hint for this level :-/", - 'de_DE': "Hm, es gibt anscheinend keinen Hinweis für diesen Level :-/", + 'de_DE': "Hm, es gibt anscheinend keinen Hinweis für dieses Level :-/", 'zh_CN': "呃……,这关好像没有提示 :-/", 'zh_TW': "嗯‧‧‧這關沒有提示 :-/", 'es_AR': 'Mmm... Pareciera no haber pistas para este nivel :-/', + 'es_MX': 'Mmm... Parece que no hay pistas para éste nivel. :-/', 'es_ES': 'Mmm... Parece que no hay pistas para este nivel. :-/', 'pt_BR': 'Hmm, não existe nenhuma pista para este nível :-/', 'gl' : 'Hmm, non existe ningunha pista para este nivel :-/', @@ -1602,7 +1774,8 @@ exports.strings = { 'uk': 'Хм, схоже для цього рівня немає підказки :-/', 'ko': '흠, 이 레벨을 위한 힌트가 없어보이는군요.', 'vi': 'Hmmm, có vẻ cấp độ này không có gợi ý rồi. :-/', - 'sl_SI': 'Hmm, izgleda da ni namiga za to stopnjo :-/' + 'sl_SI': 'Hmm, izgleda da ni namiga za to stopnjo :-/', + 'pl': 'Hmm, wydaje się, że nie ma podpowiedzi dla tego poziomu :-/' }, /////////////////////////////////////////////////////////////////////////// 'error-untranslated-key': { @@ -1612,6 +1785,7 @@ exports.strings = { 'zh_CN': '还没翻译 {key} :( 请在 GitHub 上贡献您的翻译!', 'zh_TW': '還沒翻譯 {key} :( 請在 GitHub 上貢獻您的翻譯!', 'es_AR': 'Aún no hay traducción para {key} :( ¡Metete en GitHub y sugerí una! :)', + 'es_MX': 'Aún no existe una traducción para {key}. :( ¡Métete en GitHub y sugiere una! :)', 'es_ES': 'Aún no hay traducción para {key}. :( ¡Métete en GitHub y sugiere una! :)', 'pt_BR': 'Não existe tradução para {key} :( Pule no GitHub e sugira uma! :)', 'gl' : 'Non existe tradución para {key} :( Axúdanos en GitHub e suxire unha! :)', @@ -1621,7 +1795,8 @@ exports.strings = { 'uk': 'Немає перекладу для {key} :( Будь-ласка, запропонуй переклад на GitHub', 'ko': '{key}를 위한 번역은 아직 존재하지 않습니다 :( 번역에 참여해주세요!', 'vi': 'Bản dịch cho {key} không có rồi :( Nếu có thể thì hãy lên dự án của chúng tôi ở GitHub để cung cấp bản dịch!', - 'sl_SI': 'Prevod za {key} še ne obstaja :( Skoči na github in dodaj prevod!' + 'sl_SI': 'Prevod za {key} še ne obstaja :( Skoči na github in dodaj prevod!', + 'pl': 'Tłumaczenie dla klucza "{key}" jeszcze nie istnieje tłumaczenia :( Zapraszam na GitHub, aby pomóc w tłumaczeniu!' }, /////////////////////////////////////////////////////////////////////////// 'error-untranslated': { @@ -1631,6 +1806,7 @@ exports.strings = { 'zh_CN': '这段对话还没有被翻译成您的语言 :( 欢迎在 GitHub 上贡献您的翻译!', 'zh_TW': '這段對話尚未翻成您的語言 :( 歡迎到 GitHub 貢獻翻譯!', 'es_AR': 'Este mensaje o texto aún no fue traducido a tu idioma :( ¡Metete en GitHub y ayudanos a traducirlo!', + 'es_MX': 'Este mensaje o texto aún no ha sido traducido en tu idioma. :( ¡Métete en GitHub y ayúdanos a traducirlo!', 'es_ES': 'Este mensaje o texto aún no fue traducido a tu idioma. :( ¡Métete en GitHub y ayúdanos a traducirlo!', 'pt_BR': 'Esta mensagem ou texto não foi traduzida para Português :( Ajude-nos a traduzir no GitHub!', 'gl' : 'Esta mensaxe ou texto non foi traducida ó teu idioma :( Axúdanos a traducir a web en GitHub, é moi doado!', @@ -1640,6 +1816,19 @@ exports.strings = { 'uk': 'Для цього повідомлення ще немає перекладу :( Будь-ласка, запропонуй переклад на GitHub', 'ko': '이 대화창이나 텍스트는 아직 번역되지 않았습니다. :( 번역에 참여해주세요!', 'vi': 'Hội thoại hoặc văn bản này chưa được dịch ra ngôn ngữ của bạn rồi. :( Hãy lên GitHub để cung cấp bản dịch!', - 'sl_SI': 'Ta dialog ali tekst še ni preveden za tvoj jezik :( Skoči na github in dodaj prevod!' + 'sl_SI': 'Ta dialog ali tekst še ni preveden za tvoj jezik :( Skoči na github in dodaj prevod!', + 'pl' : 'Kolejne okno dialogowe lub tekst nie zostało jeszcze przetłumaczone na język polski :( Zapraszam na GitHub, aby pomóc w tłumaczeniu!' + }, + /////////////////////////////////////////////////////////////////////////// + 'cancel-button': { + '__desc__': 'Cancel button label after completing a level', + 'en_US': 'Cancel', + 'pl' : 'Powrót' + }, + /////////////////////////////////////////////////////////////////////////// + 'confirm-button': { + '__desc__': 'Confirm button label after completing a level', + 'en_US': 'Confirm', + 'pl' : 'Dalej' } }; diff --git a/src/js/level/builder.js b/src/js/level/builder.js index 63ebdef9..a47dd7b8 100644 --- a/src/js/level/builder.js +++ b/src/js/level/builder.js @@ -54,7 +54,7 @@ var LevelBuilder = Level.extend({ // if we are editing a level our behavior is a bit different var editLevelJSON; if (options.editLevel) { - LevelStore.getLevel(options.editLevel); + editLevelJSON = LevelStore.getLevel(options.editLevel); options.level = editLevelJSON; } diff --git a/src/js/models/commandModel.js b/src/js/models/commandModel.js index df837412..c487281d 100644 --- a/src/js/models/commandModel.js +++ b/src/js/models/commandModel.js @@ -3,6 +3,7 @@ var Backbone = require('backbone'); var Errors = require('../util/errors'); var ParseWaterfall = require('../level/parseWaterfall').ParseWaterfall; +var LevelStore = require('../stores/LevelStore'); var intl = require('../intl'); var CommandProcessError = Errors.CommandProcessError; @@ -267,8 +268,18 @@ var Command = Backbone.Model.extend({ }, parseAll: function() { - var str = this.get('rawStr'); - var results = this.get('parseWaterfall').parseAll(str); + var rawInput = this.get('rawStr'); + const aliasMap = LevelStore.getAliasMap(); + for (var i = 0; i\" and check it out with \"git checkout \"", - "de_DE": 'Lege mit "git branch " einen neuen Branch an und checke ihn mit "git checkout aus', + "de_DE": "Lege mit \"git branch [Branch-Name]\" einen neuen Branch an und checke ihn mit \"git checkout [Branch-Name]\" aus", "ja" : "ブランチの作成(\"git branch [ブランチ名]\")と、チェックアウト(\"git checkout [ブランチ名]\")", "es_AR": "Hacé una nueva rama con \"git branch [nombre]\" y cambiá a ella con \"git checkout [nombre]\"", + "es_MX": "Crea una nueva rama con \"git branch [nombre]\" y sitúate en ella con \"git checkout [nombre]\"", "es_ES": "Crea una nueva rama con \"git branch [nombre]\" y sitúate en ella con \"git checkout [nombre]\"", "pt_BR": "Crie um novo ramo com \"git branch [nome]\" e mude para ele com \"git checkout [nome]\"", "gl" : "Crea unha nova rama con \"git branch [nome]\" e cambiate a ela facendo \"git checkout [nome]\"", @@ -33,7 +36,8 @@ exports.level = { "ru_RU": "Создай новую ветку при помощи \"git branch [name]\" и перейди на неё при помощи \"git checkout [name]\"", "uk": "Створи нову гілку за допомогою \"git branch [ім’я]\" й перейди на неї за допомогою \"git checkout [ім’я]\"", "vi": "Tạo một nhánh mới với lệnh \"git branch \" và chuyển sang đó với lệnh \"git checkout \"", - "sl_SI": "Naredi nov branch z \"git branch [ime-brancha]\" in ga checkoutaj z \"git checkout [ime-brancha]\"" + "sl_SI": "Naredi nov branch z \"git branch [ime-brancha]\" in ga checkoutaj z \"git checkout [ime-brancha]\"", + "pl" : "Utwórz nowy branch za pomocą \"git branch \" i sprawdź ją za pomocą \"git checkout \"" }, "disabledMap": { "git revert": true @@ -81,7 +85,7 @@ exports.level = { "Let's try to put some work on this new branch. Hit the button below." ], "afterMarkdowns": [ - "Oh no! The `master` branch moved but the `newImage` branch didn't! That's because we weren't \"on\" the new branch, which is why the asterisk (*) was on `master`." + "Oh no! The `main` branch moved but the `newImage` branch didn't! That's because we weren't \"on\" the new branch, which is why the asterisk (*) was on `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -106,6 +110,17 @@ exports.level = { "beforeCommand": "git branch newImage" } }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "*Note: In Git version 2.23, a new command called `git switch` was introduced to eventually replace `git checkout`, ", + "which is somewhat overloaded as a command (it does a bunch of separate things). The lessons here will still use ", + "`checkout` instead of `switch` because most people won't have access to `switch` yet, but support for the new command ", + "works in the app if you want to try it out! You can learn more here.* " + ] + } + }, { "type": "ModalAlert", "options": { @@ -133,7 +148,7 @@ exports.level = { "", "Da das Anlegen von Branches keinen Plattenplatz und Speicher verbraucht, liegt es nahe die Arbeit in kleine logische Häppchen aufzuteilen, anstatt mit wenigen großen, monolithischen Branches zu hantieren.", "", - "Wir werden sehen wie Commits und Branches zusammengehören sobald wir anfangen mit beiden zu arbeiten. Bis hierhin merk dir einfach, dass ein Branch im Prinzip bedeutet \"ich möchte die Arbeit, die in diesem Commit und seinen Vorgängern steckt, sichern\"." + "Wir werden sehen wie Commits und Branches zusammengehören, sobald wir anfangen mit beiden zu arbeiten. Bis hierhin merk dir einfach, dass ein Branch im Prinzip bedeutet \"ich möchte die Arbeit, die in diesem Commit und seinen Vorgängern steckt, sichern\"." ] } }, @@ -159,7 +174,7 @@ exports.level = { "Lass uns mal ein wenig auf dem neuen Branch arbeiten. Machen wir einen Commit:" ], "afterMarkdowns": [ - "Oi! Der Branch `master` hat sich verändert, aber der Branch `issue` nicht. Das liegt daran, dass wir nicht \"auf\" dem neuen Branch waren, weshalb das Sternchen `*` auch hinter `master` steht." + "Oi! Der Branch `main` hat sich verändert, aber der Branch `issue` nicht. Das liegt daran, dass wir nicht \"auf\" dem neuen Branch waren, weshalb das Sternchen `*` auch hinter `main` steht." ], "command": "git commit", "beforeCommand": "git branch issue" @@ -236,7 +251,7 @@ exports.level = { "この新しいブランチに何か変更を加えてみましょう。次のボタンを押してください。" ], "afterMarkdowns": [ - "あらら、`newImage`ではなくて`master`ブランチが移動してしまいました。これは、私たちが`newImage`のブランチ上で作業していなかったためです。どのブランチで作業しているかは、アスタリスク(*)がついてるかどうかで分かります。" + "あらら、`newImage`ではなくて`main`ブランチが移動してしまいました。これは、私たちが`newImage`のブランチ上で作業していなかったためです。どのブランチで作業しているかは、アスタリスク(*)がついてるかどうかで分かります。" ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -314,7 +329,7 @@ exports.level = { "Pongamos algo de trabajo en esta nueva rama. Apretá el botón de acá abajo." ], "afterMarkdowns": [ - "¡Uh, no! ¡La rama `master` avanzó, pero `newImage` no! Eso es porque no estábamos \"en\" la rama nueva, y por eso el asterisco (*) estaba en `master`." + "¡Uh, no! ¡La rama `main` avanzó, pero `newImage` no! Eso es porque no estábamos \"en\" la rama nueva, y por eso el asterisco (*) estaba en `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -350,6 +365,84 @@ exports.level = { } ] }, + "es_MX": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Ramas en Git", + "", + "Las ramas (branches) en Git son increíblemente livianas. Son sólo referencias a un commit específico - nada más. Por esto es que tantos entusiastas de Git siguen el mantra:", + "", + "```", + "branchea temprano, y branchea seguido", + "```", + "", + "Como no hay consumo extra de almacenamiento ni memoria al hacer varias ramas, es más fácil dividir lógicamente tu trabajo que tener un par de ramas grandes.", + "", + "Cuando empecemos a mezclar ramas y commits, vamos a ver cómo se combinan estas dos herramientas. Por ahora, en cambio, simplemente recuerda que una rama esencialmente dice \"Quiero incluir el trabajo de este commit y todos su ancestros\"." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Veamos cómo se ven las ramas en práctica.", + "", + "Acá vamos a crear una rama nueva llamada `newImage`." + ], + "afterMarkdowns": [ + "Ahí está, ¡eso es todo lo que hay que hacer para branchear! La rama `newImage` ahora referencia al commit `C1`." + ], + "command": "git branch newImage", + "beforeCommand": "" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Pongamos algo de trabajo en esta nueva rama. Aprieta el botón que se encuentra debajo." + ], + "afterMarkdowns": [ + "¡Uh, no! ¡La rama `main` avanzó, pero `newImage` no! Eso es porque no estábamos \"en\" la rama nueva, y por eso el asterisco (*) estaba en `main`." + ], + "command": "git commit", + "beforeCommand": "git branch newImage" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Digámosle a git que queremos hacer checkout a esa rama con", + "", + "```", + "git checkout [name]", + "```", + "", + "Esto nos situará en esa rama antes de hacer commit a nuestros cambios." + ], + "afterMarkdowns": [ + "¡Ahí estamos! Nuestros cambios se registraron en nuestra nueva rama." + ], + "command": "git checkout newImage; git commit", + "beforeCommand": "git branch newImage" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "¡Ok! Ya estás listo para manejar ramas. Cuando se cierre esta ventana,", + "crea una nueva rama llamada `bugFix` y cámbiate a ella." + ] + } + } + ] + }, "es_ES": { "childViews": [ { @@ -392,7 +485,7 @@ exports.level = { "Pongamos algo de trabajo en esta nueva rama. Aprieta el botón de aquí abajo." ], "afterMarkdowns": [ - "¡Vaya! ¡La rama `master` avanzó, pero `newImage` no! Eso es porque no estábamos \"en\" la rama nueva, y por eso el asterisco (*) estaba en `master`." + "¡Vaya! ¡La rama `main` avanzó, pero `newImage` no! Eso es porque no estábamos \"en\" la rama nueva, y por eso el asterisco (*) estaba en `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -470,7 +563,7 @@ exports.level = { "Vamos tentar colocar algum trabalho neste novo ramo. Clique no botão abaixo." ], "afterMarkdowns": [ - "Ah não! O ramo `master` se moveu mas o `newImage` não! Isso é porque o novo ramo não era o \"ativo\", e é por isso que o asterisco (*) estava no `master`." + "Ah não! O ramo `main` se moveu mas o `newImage` não! Isso é porque o novo ramo não era o \"ativo\", e é por isso que o asterisco (*) estava no `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -548,7 +641,7 @@ exports.level = { "Imos intentar colocar algún traballo nesta nova rama. Pincha no botón de abaixo." ], "afterMarkdowns": [ - "¡Bueno home! A rama `master` moveuse pero a rama `newImage` non! Eso é porque a nova rama non era a \"actual\", e é por iso que o asterisco (*) ficaba na rama `master`." + "¡Bueno home! A rama `main` moveuse pero a rama `newImage` non! Eso é porque a nova rama non era a \"actual\", e é por iso que o asterisco (*) ficaba na rama `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -630,7 +723,7 @@ exports.level = { "Travaillons mainenant dans cette branche. Appuyez sur le bouton ci-dessous." ], "afterMarkdowns": [ - "Oh non! La branche `master` a bougé mais pas la branche `newImage` ! C'est parce que nous n'étions pas \"sur\" la nouvelle branche, comme indiqué par l'astérisque (*) sur `master`." + "Oh non! La branche `main` a bougé mais pas la branche `newImage` ! C'est parce que nous n'étions pas \"sur\" la nouvelle branche, comme indiqué par l'astérisque (*) sur `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -680,7 +773,7 @@ exports.level = { "早建分支!多用分支!", "```", "", - "这是因为即使创建再多分的支也不会造成储存或内存上的开销,并且按逻辑分解工作到不同的分支要比维护那些特别臃肿的分支简单多了。", + "这是因为即使创建再多的分支也不会造成储存或内存上的开销,并且按逻辑分解工作到不同的分支要比维护那些特别臃肿的分支简单多了。", "", "在将分支和提交记录结合起来后,我们会看到两者如何协作。现在只要记住使用分支其实就相当于在说:“我想基于这个提交以及它所有的父提交进行新的工作。”" ] @@ -709,7 +802,7 @@ exports.level = { ], "command": "git commit", "afterMarkdowns": [ - "哎呀!为什么 `master` 分支前进了,但 `newImage` 分支还待在原地呢?!这是因为我们没有“在”这个新分支上,看到 `master` 分支上的那个星号(*)了吗?这表示当前所在的分支是 `master`。" + "哎呀!为什么 `main` 分支前进了,但 `newImage` 分支还待在原地呢?!这是因为我们没有“在”这个新分支上,看到 `main` 分支上的那个星号(*)了吗?这表示当前所在的分支是 `main`。" ], "beforeCommand": "git branch newImage" } @@ -789,7 +882,7 @@ exports.level = { ], "command": "git commit", "afterMarkdowns": [ - "太奇怪了啦! `master` branch 前進了,但 `newImage` branch 沒有前進!這是因為我們沒有「在」這個新的 branch 上,這也是為什麼星號(*)會在 `master` 上。" + "太奇怪了啦! `main` branch 前進了,但 `newImage` branch 沒有前進!這是因為我們沒有「在」這個新的 branch 上,這也是為什麼星號(*)會在 `main` 上。" ], "beforeCommand": "git branch newImage" } @@ -866,7 +959,7 @@ exports.level = { "이 새로운 브랜치에 약간의 작업을 더해봅시다. 아래 버튼을 눌러주세요" ], "afterMarkdowns": [ - "앗! `master` 브랜치가 움직이고, `newImage` 브랜치는 이동하지 않았네요! 그건 우리가 새 브랜치 위에 있지 않았었기 때문입니다. 별표(*)가 `master`에 있었던 것이죠." + "앗! `main` 브랜치가 움직이고, `newImage` 브랜치는 이동하지 않았네요! 그건 우리가 새 브랜치 위에 있지 않았었기 때문입니다. 별표(*)가 `main`에 있었던 것이죠." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -918,7 +1011,7 @@ exports.level = { "", "Так как создание множества веток никак не отражается на памяти или жестком диске, удобнее и проще разбивать свою работу на много маленьких веток, чем хранить все изменения в одной огромной ветке.", "", - "Чуть позже мы попробуем использовать ветки и коммиты, и вы увидите, как две эти возможности сочетаются. Можно сказать, что созданная ветка хранит изменения текущих коммитов и всех его родителей." + "Чуть позже мы попробуем использовать ветки и коммиты, и вы увидите, как две эти возможности сочетаются. Можно сказать, что созданная ветка хранит изменения текущего коммита и всех его родителей." ] } }, @@ -944,7 +1037,7 @@ exports.level = { "Теперь попробуем сделать некоторые изменения в этой ветке. Для этого нажми кнопку ниже." ], "afterMarkdowns": [ - "О-оу! Ветка master сдвинулась, тогда как ветка newImage - нет! Всё из-за того, что мы не переключились на новую ветку, а остались в старой, о чём говорит звёздочка около ветки master." + "О-оу! Ветка main сдвинулась, тогда как ветка newImage - нет! Всё из-за того, что мы не переключились на новую ветку, а остались в старой, о чём говорит звёздочка около ветки main." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -1025,7 +1118,7 @@ exports.level = { "Давайте спробуємо додати якусь інформацію до цієї нової гілки. Натисни кнопку внизу." ], "afterMarkdowns": [ - "От халепа! Гілка `master` просунулася вперед, але гілка `newImage` \u2014 ні! Це тому, що ми були не \"на новій гілці\". Через це зірочка (*) була поруч з `master`." + "От халепа! Гілка `main` просунулася вперед, але гілка `newImage` \u2014 ні! Це тому, що ми були не \"на новій гілці\". Через це зірочка (*) була поруч з `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -1103,7 +1196,7 @@ exports.level = { "Nào cùng thử thêm nội dung vào nhánh mới này nào. Hãy bấm nút bên dưới" ], "afterMarkdowns": [ - "Ồ không! Nhánh `master` đã di chuyển nhưng nhánh `newImage` thì không! Đó là do ta không \"nằm trên\" nhánh mới, đó là tại sao dấu hoa thị (*) nằm trên nhánh `master`." + "Ồ không! Nhánh `main` đã di chuyển nhưng nhánh `newImage` thì không! Đó là do ta không \"nằm trên\" nhánh mới, đó là tại sao dấu hoa thị (*) nằm trên nhánh `main`." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -1185,7 +1278,7 @@ exports.level = { "Poizkusimo dodati nekaj dela na ta nov branch. Pristisni gumb spodaj." ], "afterMarkdowns": [ - "O ne! `master` branch se je premaknil ampak `newImage` branch se pa ni! To je zato, ker nismo bili \"na\" novem branchu, kot smo lahko videli z označeno zvezdico (*) na `master` branchu." + "O ne! `main` branch se je premaknil ampak `newImage` branch se pa ni! To je zato, ker nismo bili \"na\" novem branchu, kot smo lahko videli z označeno zvezdico (*) na `main` branchu." ], "command": "git commit", "beforeCommand": "git branch newImage" @@ -1224,6 +1317,99 @@ exports.level = { } } ] + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## GIT Branch", + "", + "Branch w GIT są niezwykle lekkie. Są po prostu wskazówkami dla konkretnego commit-u (zatwierdzenia) i to wszytko. Dlatego tak wielu entuzjastów GIT-a przestrzega Mantry:", + "", + "```", + "twórz branch-e wcześnie i często", + "```", + "", + "Ponieważ tworzenie wielu branch-y nie wiąże się z dodatkowymi kosztami przestrzeni czy też pamięci, dlatego łatwiej jest logicznie podzielić swoją pracę, niż mieć duże, mocne branch-e.", + "", + "Kiedy zaczniemy mieszać branch-e i commit-y, zobaczymy, jak łączą się te dwie funkcje. Na razie jednak pamiętaj, że branch zasadniczo mówi: \"Chcę uwzględnić pracę tego zatwierdzenia oraz wszystkie commit-y nadrzędnych\"." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Zobaczmy, jak wyglądają branch-e (gałęzie) w praktyce.", + "", + "Tutaj utworzymy nowy branch o nazwie `mojBranch`." + ], + "afterMarkdowns": [ + "To wszystko o rozgałęzieniu! Branch (gałąź) `mojBranch` odnosi się teraz do commit-u (zatwierdzenia) `C1`." + ], + "command": "git branch mojBranch", + "beforeCommand": "" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Spróbujmy trochę popracować nad tą nowym branch-em (gałęzią).\nKliknij przycisk poniżej." + ], + "afterMarkdowns": [ + "O nie! branch `main` uległ zmianie, a branch `mojBranch` nie! To dlatego, że nie byliśmy \"w\" nowym branch-u (gałęzi) i dlatego gwiazdka (*) była przy `main`" + ], + "command": "git commit", + "beforeCommand": "git branch mojBranch" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Powiedzmy GIT-owi, z którym branch-em chcemy pracować", + "", + "```", + "git checkout ", + "```", + "", + "Spowoduje to przeniesienie nas do nowego branch-a przed wprowadzeniem zmian." + ], + "afterMarkdowns": [ + "Gotowe! Nasze zmiany zostały zarejestrowane w nowym branch-u." + ], + "command": "git checkout mojBranch; git commit", + "beforeCommand": "git branch mojBranch" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "*Uwaga: w wersji 2.23 GIT-a zostało wprowadzono nowe polecenie o nazwie \n`git switch`, które zastępuje polecenie `git checkout`, ", + "a jest nieco przeciążony poleceniem (robi ono kilka oddzielnych rzeczy). Lekcje tutaj będą nadal używane", + "`checkout` zamiast `switch`, ponieważ większość ludzi nie ma jeszcze dostępu do nowego polecenia `switch`, ale w tej aplikacja obsługuje nowe polecenie, ", + "jeśli chcesz możesz ją wypróbować! Możesz dowiedzieć się więcej o poleceniu tutaj.* " + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Ok! Teraz jesteś gotowy do samodzielnego tworzenia gałęzi (branching-u).", + "Po zamknięciu tego okna, stwórz nowy branch o nazwie `bugFix` i przełącz się na ten branch.", + "", + "Przy okazji, oto skrót: jeśli chcesz stworzyć", + "nowy branch ORAZ przełączyć się na niego w tym samym czasie,", + "możesz po prostu wpisać `git checkout -b [nazwa_branch-u]`." + ] + } + } + ] } } }; diff --git a/src/levels/intro/commits.js b/src/levels/intro/commits.js index c2c3e053..0a4e3358 100644 --- a/src/levels/intro/commits.js +++ b/src/levels/intro/commits.js @@ -3,6 +3,7 @@ exports.level = { "en_US": "Introduction to Git Commits", "de_DE": "Einführung in Git Commits", "es_AR": "Introducción a los commits de Git", + "es_MX": "Introducción a los commits de Git", "es_ES": "Introducción a los commits de Git", "pt_BR": "Introdução aos commits no Git", "gl" : "Introducción ós commits de Git", @@ -14,7 +15,8 @@ exports.level = { 'ru_RU': 'Знакомство с Git Commit ', 'uk': 'Знайомство з комітами в Git', 'vi': 'Giới thiệu về Git Commit', - 'sl_SI': "Uvod v Git Commit" + 'sl_SI': "Uvod v Git Commit", + 'pl' : "Wprowadzenie do zatwierdzeń GIT-a (commit)" }, "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C3\",\"id\":\"master\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}", "solutionCommand": "git commit;git commit", @@ -23,6 +25,7 @@ exports.level = { "en_US": "Just type in 'git commit' twice to finish!", "de_DE": "Gib einfach zweimal 'git commit' ein um den Level abzuschließen", "es_AR": "¡Simplemente tipeá 'git commit' dos veces para terminar!", + "es_MX": "¡Simplemente escribe 'git commit' dos veces para terminar!", "es_ES": "¡Simplemente escribe 'git commit' dos veces para terminar!", "pt_BR": "Simplesmente digite 'git commit' duas vezes para concluir!", "gl" : "Simplemente escribe 'git commit' dúas veces para terminar.", @@ -34,7 +37,8 @@ exports.level = { "ru_RU": "Попробуй дважды выполнить команду 'git commit' ;)", "uk": "Спробуй двічі виконати команду 'git commit' ;)", 'vi': "Đơn giản là cứ gõ 'git commit' 2 lần", - 'sl_SI': "Preprosto dvakrat vpiši 'git commit' in zaključi!" + 'sl_SI': "Preprosto dvakrat vpiši 'git commit' in zaključi!", + "pl" : "Aby zakończyć, wystarczy dwukrotnie wpisać 'git commit'!" }, "disabledMap": { "git revert": true @@ -47,7 +51,7 @@ exports.level = { "options": { "markdowns": [ "## Git Commits", - "A commit in a git repository records a snapshot of all the files in your directory. It's like a giant copy and paste, but even better!", + "A commit in a git repository records a snapshot of all the (tracked) files in your directory. It's like a giant copy and paste, but even better!", "", "Git wants to keep commits as lightweight as possible though, so it doesn't just blindly copy the entire directory every time you commit. It can (when possible) compress a commit as a set of changes, or a \"delta\", from one version of the repository to the next.", "", @@ -89,11 +93,11 @@ exports.level = { "options": { "markdowns": [ "## Git Commits", - "Ein Commit in ein Git-Repository speichert eine Abbildung aller Dateien in deinem Projektverzeichnis. Es ist wie ein riesiges Kopieren und Einfügen, nur besser.", + "Ein Commit in einem Git-Repository speichert eine Abbildung aller Dateien in deinem Projektverzeichnis. Es ist wie ein riesiges Kopieren und Einfügen, nur besser.", "", "Allerdings will Git die Commits so schlank wie möglich halten, also kopiert es nicht einfach stur das ganze Verzeichnis jedes Mal wenn du committest. Es kann (wenn möglich) Commits als Menge von Änderungen zusammenpacken, von einer Version des Repositorys zur nächsten.", "", - "Außerdem führt Git ein Protokoll darüber welche Commits wann gemacht wurden, und welcher auf welchen folgt. Deshalb werden die Commits hier mit ihrem Vorgänger über sich gezeigt -- wir verwenden Pfeile zur Darstellung der Beziehung. Dieses Protokoll zu haben ist eine tolle Sache für jeden, der an einem Projekt arbeitet.", + "Außerdem führt Git ein Protokoll darüber, welche Commits wann gemacht wurden, und welcher auf welchen folgt. Deshalb werden die Commits hier mit ihrem Vorgänger über sich gezeigt -- wir verwenden Pfeile zur Darstellung der Beziehung. Dieses Protokoll zu haben ist eine tolle Sache für jeden, der an einem Projekt arbeitet.", "", "Das war jetzt eine Menge Neues, aber vorerst kannst du dir Commits einfach als Abbildungen des Projekts vorstellen. Commits sind sehr ressourcenschonend, und zwischen ihnen wechseln geht superschnell!" ] @@ -118,7 +122,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Probier das committen gleich mal aus! Mach zwei Commits um den Level abzuschließen." + "Probier das Committen gleich mal aus! Mach zwei Commits um den Level abzuschließen." ] } } @@ -212,6 +216,48 @@ exports.level = { } ] }, + "es_MX": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Commits de Git", + "Un commit en un repositorio git registra un snapshot de todos los archivos en tu directorio. Es como un _gran_ copy&paste, ¡pero incluso mejor!", + "", + "Git pretende mantener los commits tan livianos como sea posible, por lo que no copia ciegamente el directorio completo cada vez que haces commit. Puede (cuando sea posible) comprimir un commit como un conjunto de cambios (o un _\"delta\"_) entre una versión de tu repositorio y la siguiente.", + "", + "Git mantiene, también, un historial de qué commits se hicieron cuándo. Es por eso que la mayoría de los commits tienen commits ancestros arriba suyo -- designamos esto con flechas en nuestra visualización. ¡Mantener el historial es genial para todos los que trabajan en el proyecto!", + "", + "Hay un montón en lo que ahondar, pero por ahora puedes pensar en los commits como snapshots de tu proyecto. Los commits son muy livianos, y ¡cambiar de uno a otro es terriblemente rápido!" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Veamos cómo se ve esto en la práctica. A la derecha tenemos una visualización de un (pequeño) repositorio git. Hay dos commits ahora: el commit inicial, `C0`, y un commit que lo sigue, `C1`, que podría tener algunos cambios interesantes.", + "", + "Dale al botón de abajo para hacer un nuevo commit." + ], + "afterMarkdowns": [ + "¡Ahí va! Increíble. Acabamos de hacer cambios al repositorio y los guardamos como un commit. El commit que acabamos de crear tiene un padre, `C1`, que referencia al commit en que se basó este." + ], + "command": "git commit", + "beforeCommand": "" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "¡Vamos, inténtalo ahora! Cuando se cierre esta ventana, haz dos commits para completar el nivel." + ] + } + } + ] + }, "es_ES": { "childViews": [ { @@ -679,6 +725,48 @@ exports.level = { } } ] + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Zatwierdzenia GIT-a (commit)", + "`commit` w repozytorium GIT-a rejestruje migawkę wszystkich (śledzonych) plików w twoim katalogu. To jak gigantyczne kopiowanie i wklejanie, ale jeszcze lepsze!", + "", + "GIT stara się, aby commit-y były tak lekkie, jak to tylko możliwe, więc nie kopiuje na ślepo całego katalogu za każdym razem, gdy zatwierdzasz zmiany. Możesz (jeśli to możliwe) skompresować zatwierdzenie jako zestaw zmian (lub _\"delta\"_) między jedną wersją w repozytorium a następną.", + "", + "GIT przechowuje również historię, kiedy dokonano zatwierdzenia. Dlatego większość commit-ów ma na sobie zmiany przodków -- oznaczamy to strzałkami w naszej wizualizacji. Utrzymanie historii jest świetne dla wszystkich, którzy pracują nad projektem!", + "", + "Jest mnóstwo rzeczy do zagłębienia, ale na razie możesz myśleć o commit-ach jako migawkach projektu. Zatwierdzenia są bardzo lekkie, a przełączanie się między nimi jest niesamowicie szybkie!" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Zobaczmy, jak to wygląda w praktyce. Po prawej stronie mamy wizualizację (małego) repozytorium GIT-a. Istnieją dwa zatwierdzenia:\n początkowy commit `C0`, a następnie po nim commit `C1`, które mogą mieć kilka interesujących zmian.", + "", + "Kliknij poniższy przycisk, aby dokonać nowy commit." + ], + "afterMarkdowns": [ + "Gotowe! Niesamowite. Właśnie wprowadziliśmy zmiany w repozytorium i zapisaliśmy je jako zatwierdzenie (commit). Utworzony przez nas commit ma rodzica `C1`, który odnosi się do commit-a, na który został oparty." + ], + "command": "git commit", + "beforeCommand": "" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Śmiało i wypróbuj to sam! Po zamknięciu tego okna wykonaj dwa zatwierdzenia (tj. commit-y), aby ukończyć poziom." + ] + } + } + ] } } }; diff --git a/src/levels/intro/merging.js b/src/levels/intro/merging.js index cb26301e..f54c8a88 100644 --- a/src/levels/intro/merging.js +++ b/src/levels/intro/merging.js @@ -1,10 +1,11 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C2\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\",\"C2\"],\"id\":\"C4\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}", - "solutionCommand": "git checkout -b bugFix;git commit;git checkout master;git commit;git merge bugFix", + "solutionCommand": "git checkout -b bugFix;git commit;git checkout main;git commit;git merge bugFix", "name": { "en_US": "Merging in Git", - "de_DE": "Mergen in git", + "de_DE": "Mergen in Git", "es_AR": "Mergeando en Git", + "es_MX": "Haciendo merge en Git", "es_ES": "Haciendo merge en Git", "pt_BR": "Merge no Git", "gl" : "Merge en Git", @@ -16,24 +17,27 @@ exports.level = { "ru_RU": "Слияния веток в Git", "uk": "Злиття гілок в Git", "vi": "Gộp nhánh trong Git", - "sl_SI": "Merganje v Gitu" + "sl_SI": "Merganje v Gitu", + "pl" : "Łączenie/Scalanie w GIT (merge)" }, "hint": { - "en_US": "Remember to commit in the order specified (bugFix before master)", - "de_DE": "Denk dran in der angegebenen Reihenfolge zu committen (erst bugFix, dann master)", + "en_US": "Remember to commit in the order specified (bugFix before main)", + "de_DE": "Denk dran in der angegebenen Reihenfolge zu committen (erst bugFix, dann main)", "ja"   : "指示された順番でコミットすること(masterの前にbugFixで)", - "es_AR": "Acordate de commitear en el orden especificado (bugFix antes de master)", - "es_ES": "Acuérdate de hacer commit en el orden especificado (bugFix antes de master)", - "pt_BR": "Lembre-se de commitar na ordem especificada (bugFix antes de master)", - "gl" : "Lembrate de facer commit na orde específica (bugFix antes de master)", - "fr_FR": "Pensez à faire des commits dans l'ordre indiqué (bugFix avant master)", - "zh_CN": "要按目标窗口中指定的顺序进行提交(bugFix 先于 master)", - "zh_TW": "記住按指定的順序 commit(bugFix 比 master 優先)", - "ko": "말씀드린 순서대로 커밋해주세요 (bugFix에 먼저 커밋하고 master에 커밋)", - "ru_RU": "Не забудь делать коммиты в правильном порядке (сначала bugFix, потом master)", - "uk": "Не забудь робити коміти в правильному порядку (спочатку bugFix, а вже потім master)", - "vi": "Nhớ là commit theo đúng thứ tự(bugFix trước master)", - "sl_SI": 'Zapomni si, da je potrebno commitati v pravilnem vrstnem redu (bugfix pred master)' + "es_AR": "Acordate de commitear en el orden especificado (bugFix antes de main)", + "es_MX": "Acuérdate de hacer commit en el orden especificado (bugFix antes de main)", + "es_ES": "Acuérdate de hacer commit en el orden especificado (bugFix antes de main)", + "pt_BR": "Lembre-se de commitar na ordem especificada (bugFix antes de main)", + "gl" : "Lembrate de facer commit na orde específica (bugFix antes de main)", + "fr_FR": "Pensez à faire des commits dans l'ordre indiqué (bugFix avant main)", + "zh_CN": "要按目标窗口中指定的顺序进行提交(bugFix 先于 main)", + "zh_TW": "記住按指定的順序 commit(bugFix 比 main 優先)", + "ko": "말씀드린 순서대로 커밋해주세요 (bugFix에 먼저 커밋하고 main에 커밋)", + "ru_RU": "Не забудь делать коммиты в правильном порядке (сначала bugFix, потом main)", + "uk": "Не забудь робити коміти в правильному порядку (спочатку bugFix, а вже потім main)", + "vi": "Nhớ là commit theo đúng thứ tự(bugFix trước main)", + "sl_SI": 'Zapomni si, da je potrebno commitati v pravilnem vrstnem redu (bugfix pred main)', + "pl" : "Pamiętaj, aby commit-ować w określonej kolejności (bugFix przed main)" }, "disabledMap": { "git revert": true @@ -61,32 +65,32 @@ exports.level = { "beforeMarkdowns": [ "Here we have two branches; each has one commit that's unique. This means that neither branch includes the entire set of \"work\" in the repository that we have done. Let's fix that with merge.", "", - "We will `merge` the branch `bugFix` into `master`." + "We will `merge` the branch `bugFix` into `main`." ], "afterMarkdowns": [ - "Woah! See that? First of all, `master` now points to a commit that has two parents. If you follow the arrows up the commit tree from `master`, you will hit every commit along the way to the root. This means that `master` contains all the work in the repository now.", + "Woah! See that? First of all, `main` now points to a commit that has two parents. If you follow the arrows up the commit tree from `main`, you will hit every commit along the way to the root. This means that `main` contains all the work in the repository now.", "", "Also, see how the colors of the commits changed? To help with learning, I have included some color coordination. Each branch has a unique color. Each commit turns a color that is the blended combination of all the branches that contain that commit.", "", - "So here we see that the `master` branch color is blended into all the commits, but the `bugFix` color is not. Let's fix that..." + "So here we see that the `main` branch color is blended into all the commits, but the `bugFix` color is not. Let's fix that..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Let's merge `master` into `bugFix`:" + "Let's merge `main` into `bugFix`:" ], "afterMarkdowns": [ - "Since `bugFix` was an ancestor of `master`, git didn't have to do any work; it simply just moved `bugFix` to the same commit `master` was attached to.", + "Since `bugFix` was an ancestor of `main`, git didn't have to do any work; it simply just moved `bugFix` to the same commit `main` was attached to.", "", "Now all the commits are the same color, which means each branch contains all the work in the repository! Woohoo!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -98,9 +102,9 @@ exports.level = { "* Make a new branch called `bugFix`", "* Checkout the `bugFix` branch with `git checkout bugFix`", "* Commit once", - "* Go back to `master` with `git checkout`", + "* Go back to `main` with `git checkout`", "* Commit another time", - "* Merge the branch `bugFix` into `master` with `git merge`", + "* Merge the branch `bugFix` into `main` with `git merge`", "", "*Remember, you can always re-display this dialog with \"objective\"!*" ] @@ -130,32 +134,32 @@ exports.level = { "beforeMarkdowns": [ "Hier haben wir zwei Branches; jeder besteht jeweils aus einem eigenen Commit. Das bedeutet, dass keiner der beiden Branches alle Inhalte des gesamten Repositorys kennt. Das werden wir mit einem Merge ändern.", "", - "Wir werden den Branch `bugFix` in `master` integrieren." + "Wir werden den Branch `bugFix` in `main` integrieren." ], "afterMarkdowns": [ - "Wow! Hast du das gesehen? Zunächst mal zeigt `master` jetzt auf einen Commit mit zwei Vorgängern. Wenn du den beiden Pfeilen immer weiter folgst, kommst du an jedem Commit im Repository vorbei. Das heißt `master` enthält jetzt alles, was es im Repository gibt.", + "Wow! Hast du das gesehen? Zunächst mal zeigt `main` jetzt auf einen Commit mit zwei Vorgängern. Wenn du den beiden Pfeilen immer weiter folgst, kommst du an jedem Commit im Repository vorbei. Das heißt `main` enthält jetzt alles, was es im Repository gibt.", "", "Siehst du außerdem wie sich die Farben der Commits verändert haben? Um die Vorgänge zu verdeutlichen hab ich etwas Farbe ins Spiel gebracht. Jeder Branch hat seine eindeutige Farbe. Jeder Merge Commit bekommt als Farbe eine Mischung aus den Farben seiner Vorgänger.", "", - "Wir sehen also, dass die Farbe des Branch `master` in alle Commits gemischt wurde, die von `bugFix` aber nicht. Ändern wir das ..." + "Wir sehen also, dass die Farbe des Branch `main` in alle Commits gemischt wurde, die von `bugFix` aber nicht. Ändern wir das ..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Mergen wir `master` in `bugFix`:" + "Mergen wir `main` in `bugFix`:" ], "afterMarkdowns": [ - "Da `bugFix` ein Vorgänger von `master` war, musste git hier kaum etwas tun; es verschiebt `bugFix` einfach auf den Commit, auf den auch `master` zeigt.", + "Da `bugFix` ein Vorgänger von `main` war, musste git hier kaum etwas tun; es verschiebt `bugFix` einfach auf den Commit, auf den auch `main` zeigt.", "", "Jetzt haben alle Commits dieselbe Farbe, das heißt jeder Branch enthält die Informationen des gesamten Repositorys! Juhu!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -167,9 +171,9 @@ exports.level = { "* Lege einen neuen Branch `bugFix` an", "* Checke `bugFix` aus mittels `git checkout bugFix`", "* Mach einen Commit", - "* Geh mit `git checkout` zum `master` zurück", + "* Geh mit `git checkout` zum `main` zurück", "* Mach noch einen Commit", - "* Merge den Branch `bugFix` in `master` mit `git merge`", + "* Merge den Branch `bugFix` in `main` mit `git merge`", "", "*Denk dran, du kannst diese Meldung mit dem Befehl `objective` so oft anzeigen, wie du willst!*" ] @@ -199,32 +203,32 @@ exports.level = { "beforeMarkdowns": [ "それぞれ別のコミットを指している2つのブランチがあります。変更が別々のブランチに分散していて統合されていないケースです。これをマージで1つにまとめてみましょう。", "", - "`bugFix`ブランチを`master`ブランチにマージしてみます。" + "`bugFix`ブランチを`main`ブランチにマージしてみます。" ], "afterMarkdowns": [ - "わあ、見ましたか?まず初めに、`master`ブランチが2つのコミットを親に持つ新しいコミットを指してますね。`master`から親をたどっていくと、最も古いコミットにたどり着くまでに全てのコミットを含んでいる様が確認できます。これで、全ての変更を含む`master`が完成しました。", + "わあ、見ましたか?まず初めに、`main`ブランチが2つのコミットを親に持つ新しいコミットを指してますね。`main`から親をたどっていくと、最も古いコミットにたどり着くまでに全てのコミットを含んでいる様が確認できます。これで、全ての変更を含む`main`が完成しました。", "", "色がどう変わったかにも注目して下さい。学習を助けるために、ブランチ毎に色をつけています。それぞれのブランチは自分の色を持っていて、どのブランチから派生して出てくるか次第でコミットごとの色が決まります。", "", - "今回のコミットには`master`ブランチの色が使われました。しかし`bugFix`ブランチの色がまだ変わってないようなので、これを変えてみましょう。" + "今回のコミットには`main`ブランチの色が使われました。しかし`bugFix`ブランチの色がまだ変わってないようなので、これを変えてみましょう。" ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "`master`ブランチを`bugFix`ブランチにマージしてみます。" + "`main`ブランチを`bugFix`ブランチにマージしてみます。" ], "afterMarkdowns": [ - "`bugFix`ブランチは`master`ブランチの派生元だったので、gitは実際大したことはしていません。`bugFix`ブランチを指していたポインタを`master`が指していたコミットへと移動させただけです。", + "`bugFix`ブランチは`main`ブランチの派生元だったので、gitは実際大したことはしていません。`bugFix`ブランチを指していたポインタを`main`が指していたコミットへと移動させただけです。", "", "これで全てのコミットが同じ色になりました。つまり、リポジトリの中の全ての変更をそれぞれのブランチが持ったことになります。やったね!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -236,9 +240,9 @@ exports.level = { "* `bugFix`という名前で新しいブランチを切る", "* `git checkout bugFix`コマンドで`bugFix`ブランチに切り替える", "* 一回だけコミット", - "* `git checkout`で`master`へ戻る", + "* `git checkout`で`main`へ戻る", "* もう1回コミットする", - "* `git merge`コマンドを使って、`bugFix`ブランチを`master`ブランチへとマージする", + "* `git merge`コマンドを使って、`bugFix`ブランチを`main`ブランチへとマージする", "", "*注:\"objective\"コマンドでこのヘルプにいつでも戻ってこれます*" ] @@ -268,32 +272,32 @@ exports.level = { "beforeMarkdowns": [ "Acá tenemos dos ramas, y cada una tiene un commit que le es único. Esto significa que ninguna de las ramas incluye \"todo el trabajo\" que hay en nuestro repositorio. Hagamos un merge para solucionar eso.", "", - "Vamos a `merge`ar la rama `bugFix` a `master`." + "Vamos a `merge`ar la rama `bugFix` a `main`." ], "afterMarkdowns": [ - "¡Wooow! ¿Viste eso? Primero que nada, `master` ahora apunta a un commit que tiene dos padres. Si seguís las flechas por el árbol de commits empezando desde `master` vas a cruzarte con cada commit del repositorio hasta llegar a la raíz. Esto significa que `master` ahora contiene todo el trabajo que hay en el repositorio.", + "¡Wooow! ¿Viste eso? Primero que nada, `main` ahora apunta a un commit que tiene dos padres. Si seguís las flechas por el árbol de commits empezando desde `main` vas a cruzarte con cada commit del repositorio hasta llegar a la raíz. Esto significa que `main` ahora contiene todo el trabajo que hay en el repositorio.", "", "Además, ¿viste cómo cambiaron los colores de los commits? Para ayudar al aprendizaje, incluí algunas convenciones de colores. Cada rama tiene un color propio. Cada commmit se vuelve del color resultante de mezclar los colores de todas las ramas que lo contienen.", "", - "Así que acá vemos que el color de la rama `master` participa en la mezcla de todos los commits, pero que el de `bugFix` no. Arreglemos eso..." + "Así que acá vemos que el color de la rama `main` participa en la mezcla de todos los commits, pero que el de `bugFix` no. Arreglemos eso..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Mergeemos `master` a `bugFix`:" + "Mergeemos `main` a `bugFix`:" ], "afterMarkdowns": [ - "Como `bugFix` era un ancestro de `master`, git no tuvo que hacer ningún trabajo; simplemente movió `bugFix` al mismo commit al que estaba anexado `master`.", + "Como `bugFix` era un ancestro de `main`, git no tuvo que hacer ningún trabajo; simplemente movió `bugFix` al mismo commit al que estaba anexado `main`.", "", "Ahora todos los commits son del mismo color, lo que significa que cada rama contiene todo el trabajo que hay en el repositorio. ¡Wiii!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -305,9 +309,9 @@ exports.level = { "* Creá una nueva rama, llamada `bugFix`", "* Checkouteá la rama `bugFix` usando `git checkout bugFix`", "* Hacé un commit", - "* Volvé a `master` con `git checkout`", + "* Volvé a `main` con `git checkout`", "* Hacé otro commit", - "* Mergeá la rama `bugFix` a `master` usando `git merge`", + "* Mergeá la rama `bugFix` a `main` usando `git merge`", "", "*Acordate: siempre podés volver a ver este mensaje tipeando \"objective\"!*" ] @@ -315,6 +319,75 @@ exports.level = { } ] }, + "es_MX": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Mergeando ramas", + "", + "¡Genial! Ya sabemos cómo hacer commit y cómo crear ramas. Ahora tenemos que aprender algún modo de unificar el trabajo de dos ramas diferentes. Esto nos va a permitir abrir una nueva rama de desarrollo, implementar alguna nueva funcionalidad, y después unirla de nuevo con el trabajo principal.", + "", + "El primer método para combinarlas que vamos a explorar es `git merge`. Mergear en Git crea un commit especial que tiene dos padres diferentes. Un commit con dos padres esencialmente significa \"Quiero incluir todo el trabajo de este padre de acá y este otro padre de acá, *y* del conjunto de todos sus ancestros\"", + "", + "Es más simple visualizarlo, veámoslo a continuación" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Acá tenemos dos ramas, y cada una tiene un commit que le es único. Esto significa que ninguna de las ramas incluye \"todo el trabajo\" que hay en nuestro repositorio. Hagamos un merge para solucionar eso.", + "", + "Vamos a `merge`ar la rama `bugFix` a `main`." + ], + "afterMarkdowns": [ + "¡Wooow! ¿Viste eso? Primero que nada, `main` ahora apunta a un commit que tiene dos padres. Si sigues las flechas por el árbol de commits empezando desde `main` vas a cruzarte con cada commit del repositorio hasta llegar a la raíz. Esto significa que `main` ahora contiene todo el trabajo que hay en el repositorio.", + "", + "Además, ¿Viste cómo cambiaron los colores de los commits? Para ayudar al aprendizaje, incluí algunas convenciones de colores. Cada rama tiene un color propio. Cada commmit se vuelve del color resultante de mezclar los colores de todas las ramas que lo contienen.", + "", + "Así que acá vemos que el color de la rama `main` participa en la mezcla de todos los commits, pero que el de `bugFix` no. Arreglemos eso..." + ], + "command": "git merge bugFix", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Mergeemos `main` a `bugFix`:" + ], + "afterMarkdowns": [ + "Como `bugFix` era un ancestro de `main`, git no tuvo que hacer ningún trabajo; simplemente movió `bugFix` al mismo commit al que estaba anexado `main`.", + "", + "Ahora todos los commits son del mismo color, lo que significa que cada rama contiene todo el trabajo que hay en el repositorio. ¡Súper!" + ], + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Para completar este nivel, sigue estos pasos:", + "", + "* Crea una nueva rama, llamada `bugFix`", + "* Cambia a la rama `bugFix` usando `git checkout bugFix`", + "* Haz un commit", + "* Vuelve a `main` con `git checkout`", + "* Haz otro commit", + "* Haz un merge de la rama `bugFix` a `main` usando `git merge`", + "", + "*Recuerda: siempre puedes volver a ver este mensaje usando el comando \"objective\"!*" + ] + } + } + ] + }, "es_ES": { "childViews": [ { @@ -337,32 +410,32 @@ exports.level = { "beforeMarkdowns": [ "Aquí tenemos dos ramas, y cada una tiene un commit que le es único. Esto significa que ninguna de las ramas incluye \"todo el trabajo\" que hay en nuestro repositorio. Hagamos un merge para solucionar eso.", "", - "Vamos a `merge`ar la rama `bugFix` a `master`." + "Vamos a `merge`ar la rama `bugFix` a `main`." ], "afterMarkdowns": [ - "¡Caramba! ¿Viste eso? Antes de nada, `master` ahora apunta a un commit que tiene dos padres. Si sigues las flechas por el árbol de commits empezando desde `master` vas a cruzarte con cada commit del repositorio hasta llegar a la raíz. Esto significa que `master` ahora contiene todo el trabajo que hay en el repositorio.", + "¡Caramba! ¿Viste eso? Antes de nada, `main` ahora apunta a un commit que tiene dos padres. Si sigues las flechas por el árbol de commits empezando desde `main` vas a cruzarte con cada commit del repositorio hasta llegar a la raíz. Esto significa que `main` ahora contiene todo el trabajo que hay en el repositorio.", "", "Además, ¿viste cómo cambiaron los colores de los commits? Para ayudar al aprendizaje, he incluido algunas convenciones de colores. Cada rama tiene un color propio. Cada commmit se vuelve del color resultante de mezclar los colores de todas las ramas que lo contienen.", "", - "Así que aquí vemos que el color de la rama `master` participa en la mezcla de todos los commits, pero que el de `bugFix` no. Arreglemos eso..." + "Así que aquí vemos que el color de la rama `main` participa en la mezcla de todos los commits, pero que el de `bugFix` no. Arreglemos eso..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Hagamos merge de `master` a `bugFix`:" + "Hagamos merge de `main` a `bugFix`:" ], "afterMarkdowns": [ - "Como `bugFix` era un ancestro de `master`, git no tuvo que hacer ningún trabajo; simplemente movió `bugFix` al mismo commit al que estaba anexado `master`.", + "Como `bugFix` era un ancestro de `main`, git no tuvo que hacer ningún trabajo; simplemente movió `bugFix` al mismo commit al que estaba anexado `main`.", "", "Ahora todos los commits son del mismo color, lo que significa que cada rama contiene todo el trabajo que hay en el repositorio. ¡Genial!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -374,9 +447,9 @@ exports.level = { "* Crea una nueva rama, llamada `bugFix`", "* Haz checkout de la rama `bugFix` usando `git checkout bugFix`", "* Crea un commit", - "* Vuelve a `master` con `git checkout`", + "* Vuelve a `main` con `git checkout`", "* Crea otro commit", - "* Haz merge de la rama `bugFix` a `master` usando `git merge`", + "* Haz merge de la rama `bugFix` a `main` usando `git merge`", "", "*Recuerda: siempre puedes volver a ver este mensaje escribiendo \"objective\"!*" ] @@ -406,32 +479,32 @@ exports.level = { "beforeMarkdowns": [ "Aqui nós temos dois ramos; cada um tem um commit que é único. Isso significa que nenhum ramo inclui o conjunto do \"trabalho\" que foi realizado no repositório. Vamos consertar isso com um merge.", "", - "Vamos juntar o ramo `bugFix` no `master`." + "Vamos juntar o ramo `bugFix` no `main`." ], "afterMarkdowns": [ - "Uau! Viu isso? Antes de tudo, o `master` agora aponta para um commit que possui dois pais. Se você seguir as setas subindo a árvore de commits a partir do `master`, você será capaz de encontrar, ao longo do caminho até a raiz, qualquer um dos commits. Isso significa que o `master` contém todo o trabalho realizado no repositório até o momento.", + "Uau! Viu isso? Antes de tudo, o `main` agora aponta para um commit que possui dois pais. Se você seguir as setas subindo a árvore de commits a partir do `main`, você será capaz de encontrar, ao longo do caminho até a raiz, qualquer um dos commits. Isso significa que o `main` contém todo o trabalho realizado no repositório até o momento.", "", "Além disso, viu como as cores dos commits mudaram? Para ajudá-lo a aprender, eu incluí uma legenda. Cada ramo tem uma cor única. Cada commit tem a cor resultante da mistura das cores de todos os ramos que o contém.", "", - "Aqui vemos que a cor do ramo `master` está misturada em todos os commits, mas a cor do `bugFix` não está. Vamos corrigir isso..." + "Aqui vemos que a cor do ramo `main` está misturada em todos os commits, mas a cor do `bugFix` não está. Vamos corrigir isso..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Vamos juntar o `master` no `bugFix`:" + "Vamos juntar o `main` no `bugFix`:" ], "afterMarkdowns": [ - "Como o `bugFix` é um ancestral do `master`, o git não teve trabalho nenhum; ele só precisou mover o `bugFix` para o mesmo commit do `master`.", + "Como o `bugFix` é um ancestral do `main`, o git não teve trabalho nenhum; ele só precisou mover o `bugFix` para o mesmo commit do `main`.", "", "Agora todos os commits possuem a mesma cor, o que significa que ambos os ramos contém todo o trabalho realizado no repositório! Eba!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -443,9 +516,9 @@ exports.level = { "* Crie um novo ramo chamado `bugFix`", "* Faça checkout no ramo `bugFix` com `git checkout bugFix`", "* Faça um commit", - "* Volte ao `master` com `git checkout`", + "* Volte ao `main` com `git checkout`", "* Faça um novo commit", - "* Junte o ramo `bugFix` no `master` com `git merge`", + "* Junte o ramo `bugFix` no `main` com `git merge`", "", "*Lembre-se, você pode sempre mostrar esta mensagem novamente com o comando \"objective\"!*" ] @@ -475,32 +548,32 @@ exports.level = { "beforeMarkdowns": [ "Aquí nos temos dúas ramas; cada unha ten un commit que é único. Isto significa que ningunha rama inclúe o conxunto de \"traballo\" feito no noso repositorio. Imos arranxar esto cun merge.", "", - "Imos xuntar a rama `bugFix` na `master`." + "Imos xuntar a rama `bugFix` na `main`." ], "afterMarkdowns": [ - "¡Uah! ¿Viches? Antes de todo, `master` agora apunta a un commit que ten dous pais. Se ti sigues as frechas subindo a árbore de commits a partir de `master`, serás capaz de ver tódolos commits ata a raíz, calquera de eles. Isto significa que a rama `master` contén todo o traballo realizado no repositorio ata ese momento.", + "¡Uah! ¿Viches? Antes de todo, `main` agora apunta a un commit que ten dous pais. Se ti sigues as frechas subindo a árbore de commits a partir de `main`, serás capaz de ver tódolos commits ata a raíz, calquera de eles. Isto significa que a rama `main` contén todo o traballo realizado no repositorio ata ese momento.", "", "Ademáis, ¿viches como cambiaron as cores dos commits? Para axudarte a aprender, hai unha lenda. Cada rama ten unha única cor. Cada commit ten a cor resultante de mesturar as cores de tódalas ramas que contén.", "", - "Aquí vemos que a rama `master` está mesturada en todos os commits, pero a cor da rama `bugFix` non o está. Imos arranxar eso..." + "Aquí vemos que a rama `main` está mesturada en todos os commits, pero a cor da rama `bugFix` non o está. Imos arranxar eso..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Imos mesturar a rama `master` en `bugFix`:" + "Imos mesturar a rama `main` en `bugFix`:" ], "afterMarkdowns": [ - "Como o `bugFix` é un ancestro de `master`, o git non ten traballo que facer; el só ten que mover o punteiro de `bugFix` para o mesmo commit que `master`.", + "Como o `bugFix` é un ancestro de `main`, o git non ten traballo que facer; el só ten que mover o punteiro de `bugFix` para o mesmo commit que `main`.", "", "Agora tódolos commits teñen a mesma cor, o que significa que ambas ramas teñen o mesmo traballo no repositorios! Iepa!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -512,9 +585,9 @@ exports.level = { "* Crea unha nova ramara chamada `bugFix`", "* Fai checkout da rama `bugFix` con `git checkout bugFix`", "* Fai un commit", - "* Volve á rama `master` con `git checkout`", + "* Volve á rama `main` con `git checkout`", "* Fai un novo commit", - "* Xunta a rama `bugFix` en `master` con `git merge`", + "* Xunta a rama `bugFix` en `main` con `git merge`", "", "¡Recorda, podes amosar esta mensaxe novamente co comando \"objective\"!" ] @@ -530,7 +603,7 @@ exports.level = { "markdowns": [ "## Branches et Merges", "", - "Super ! Nous savons désormais comment faire des commits et des branches. Maintenant nous devons apprendre comment combiner ensemble les contenus de deux branches différentes. Ceci nous permettra de créer une nouvelle branche, développer une nouvelle fonctionnalité sur cette dernière, puis intégrer cette fonctionnalité en combinant le contenu de cette branche de développement à la branche d'origine (master par exemple).", + "Super ! Nous savons désormais comment faire des commits et des branches. Maintenant nous devons apprendre comment combiner ensemble les contenus de deux branches différentes. Ceci nous permettra de créer une nouvelle branche, développer une nouvelle fonctionnalité sur cette dernière, puis intégrer cette fonctionnalité en combinant le contenu de cette branche de développement à la branche d'origine (main par exemple).", "", "La première méthode que nous allons voir pour combiner le contenu de deux branches est `git merge`. Faire un 'merge' avec Git crée un commit spécial qui a deux parents. Un commit avec deux parents indique en susbtance \"Je veux inclure le contenu de ce parent et le contenu de cet autre parent, *et* l'ensemble de leurs parents.\"", "", @@ -544,32 +617,32 @@ exports.level = { "beforeMarkdowns": [ "Ici nous avons deux branches ; chacune a un commit qui lui est propre. Cela signifie qu'aucune des deux branches n'inclut la totalité du \"travail\" qui a été fait dans le dépôt. Arrangeons-cela avec merge.", "", - "Nous allons `merge` («fusionner») la branche `bugFix` dans `master`." + "Nous allons `merge` («fusionner») la branche `bugFix` dans `main`." ], "afterMarkdowns": [ - "Youhou ! Vous avez vu ça ? Avant tout, `master` pointe donc maintenant sur un commit qui a deux parents. Si vous remontez l'enchaînement des flèches depuis `master`, vous allez passez par tous les commits jusqu'à la racine. Cela signifie que `master` contient maintenant tout le travail du dépôt.", + "Youhou ! Vous avez vu ça ? Avant tout, `main` pointe donc maintenant sur un commit qui a deux parents. Si vous remontez l'enchaînement des flèches depuis `main`, vous allez passez par tous les commits jusqu'à la racine. Cela signifie que `main` contient maintenant tout le travail du dépôt.", "", "Par ailleurs, avez-vous remarqué les nouvelles couleurs des commits ? Pour faciliter l'apprentissage, j'ai inclus une certaine logique dans la coloration. Chaque branche a une unique couleur. Chaque commit est de la couleur de toutes les branches qui le contiennent.", "", - "Ici nous voyons que la couleur de `master` est intégrée à tous les commits, sauf ceux de `bugFix`. Réparons-cela ..." + "Ici nous voyons que la couleur de `main` est intégrée à tous les commits, sauf ceux de `bugFix`. Réparons-cela ..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Faisons un merge de `master` dans `bugFix`:" + "Faisons un merge de `main` dans `bugFix`:" ], "afterMarkdowns": [ - "Puisque `bugFix` était un ancêtre de `master`, git n'avait aucun travail à effectuer; il a simplement déplacé `bugFix` au même commit auquel `master` est attaché.", + "Puisque `bugFix` était un ancêtre de `main`, git n'avait aucun travail à effectuer; il a simplement déplacé `bugFix` au même commit auquel `main` est attaché.", "", "Maintenant tous les commits sont de la même couleur, ce qui indique que chaque branche contient tout le contenu du dépôt ! Woohoo!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -581,9 +654,9 @@ exports.level = { "* Faites une nouvelle branche appelée `bugFix`", "* Positionnez-vous sur la branche `bugFix` avec `git checkout bugFix`", "* Faites un commit", - "* Retournez sur la branche `master` (commande `git checkout`)", + "* Retournez sur la branche `main` (commande `git checkout`)", "* Faites un nouveau commit", - "* Fusionnez la branche `bugFix` dans `master` avec `git merge`", + "* Fusionnez la branche `bugFix` dans `main` avec `git merge`", "", "*Rappelez-vous que vous pouvez à tout moment réafficher ces indications avec \"objective\"!*" ] @@ -613,32 +686,32 @@ exports.level = { "beforeMarkdowns": [ "我们准备了两个分支,每个分支上各有一个独有的提交。这意味着没有一个分支包含了我们修改的所有内容。咱们通过合并这两个分支来解决这个问题。", "", - "我们要把 `bugFix` 合并到 `master` 里" + "我们要把 `bugFix` 合并到 `main` 里" ], "command": "git merge bugFix", "afterMarkdowns": [ - "哇哦!看见了吗?首先,`master` 现在指向了一个拥有两个父节点的提交记录。假如从 `master` 开始沿着箭头向上看,在到达起点的路上会经过所有的提交记录。这意味着 `master` 包含了对代码库的所有修改。↓↓↓", + "哇哦!看见了吗?首先,`main` 现在指向了一个拥有两个父节点的提交记录。假如从 `main` 开始沿着箭头向上看,在到达起点的路上会经过所有的提交记录。这意味着 `main` 包含了对代码库的所有修改。↓↓↓", "", "还有,看见各个提交记录的颜色变化了吗?为了帮助学习理解,我引入了颜色搭配。每个分支都有不同的颜色,而每个提交记录的颜色是所有包含该提交记录的分支的颜色混合之后的颜色。", "", - "所以,`master` 分支的颜色被混入到所有的提交记录,但 `bugFix` 没有。下面咱们让它也改变一下颜色。" + "所以,`main` 分支的颜色被混入到所有的提交记录,但 `bugFix` 没有。下面咱们让它也改变一下颜色。" ], - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "咱们再把 `master` 分支合并到 `bugFix`:" + "咱们再把 `main` 分支合并到 `bugFix`:" ], - "command": "git checkout bugFix; git merge master", + "command": "git checkout bugFix; git merge main", "afterMarkdowns": [ - "因为 `master` 继承自 `bugFix`,Git 什么都不用做,只是简单地把 `bugFix` 移动到 `master` 所指向的那个提交记录。", + "因为 `main` 继承自 `bugFix`,Git 什么都不用做,只是简单地把 `bugFix` 移动到 `main` 所指向的那个提交记录。", "", "现在所有提交记录的颜色都一样了,这表明每一个分支都包含了代码库的所有修改!大功告成!" ], - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -650,9 +723,9 @@ exports.level = { "* 创建新分支 `bugFix`", "* 用 `git checkout bugFix` 命令切换到该分支", "* 提交一次", - "* 用 `git checkout master` 切换回 `master`", + "* 用 `git checkout main` 切换回 `main`", "* 再提交一次", - "* 用 `git merge` 把 `bugFix` 合并到 `master`", + "* 用 `git merge` 把 `bugFix` 合并到 `main`", "", "* 你随时都可以用“objective”命令来打开这个对话框!*" ] @@ -668,7 +741,7 @@ exports.level = { "markdowns": [ "## branch 以及 merge", "", - "太好了! 我們已經知道怎麼使用 commit 和 branch 了。接下來要學的一招是如何合併(merge)兩個不同 branch 的工作。這讓我們可以建立一個新的 branch ,並且在上面開發新功能,然後合併回 master branch。", + "太好了! 我們已經知道怎麼使用 commit 和 branch 了。接下來要學的一招是如何合併(merge)兩個不同 branch 的工作。這讓我們可以建立一個新的 branch ,並且在上面開發新功能,然後合併回 main branch。", "", "`git merge` 是我們要學習 merge 的第一個方法。該 merge 會產生一個特殊的 commit,它包含兩個唯一 parent commit。一個 commit 如果有兩個 parent commit 的話,那就表示:「我想把這兩個 parent commit 本身及它們的 所有的 parent commit 都包含進來。」", "", @@ -682,32 +755,32 @@ exports.level = { "beforeMarkdowns": [ "在這裡,我們有兩個 branch:各自都有一個唯一的 commit。這意味著沒有一個 branch 包含我們對文件的所有修改。讓我們 merge 這兩個 branch 來解決這個問題。", "", - "我們要 merge `bugFix` 到 `master` " + "我們要 merge `bugFix` 到 `main` " ], "command": "git merge bugFix", "afterMarkdowns": [ - "哇!看見了沒有?首先,`master` 現在指向一個 commit,這個 commit 有兩個 parent commit。假如從 `master` 開始沿著箭頭向上走,在到達起點的路上會經過所有的 commit。這說明了現在 `master` 紀錄了對文件的所有修改。", + "哇!看見了沒有?首先,`main` 現在指向一個 commit,這個 commit 有兩個 parent commit。假如從 `main` 開始沿著箭頭向上走,在到達起點的路上會經過所有的 commit。這說明了現在 `main` 紀錄了對文件的所有修改。", "", "還有,看見各個 commit 的顏色變化了嗎?為了幫助學習,我混合了顏色。每個 branch 都有特定的顏色。每個 commit 的顏色都變成了含有此 commit 的所有 branch 的混合色。", "", - "所以,`master` branch 的顏色被混入到所有的 commit,但 `bugFix` 沒有。接下來就改一下這裡吧。" + "所以,`main` branch 的顏色被混入到所有的 commit,但 `bugFix` 沒有。接下來就改一下這裡吧。" ], - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "讓我們 merge `master` branch 到 `bugFix` 吧。" + "讓我們 merge `main` branch 到 `bugFix` 吧。" ], - "command": "git checkout bugFix; git merge master", + "command": "git checkout bugFix; git merge main", "afterMarkdowns": [ - "因為 `bugFix` branch只是 `master` branch 的 parent,git 什麼都不用做,只是簡單地把 `bugfix` branch 移動到 `master` 指向的 commit。", + "因為 `bugFix` branch只是 `main` branch 的 parent,git 什麼都不用做,只是簡單地把 `bugfix` branch 移動到 `main` 指向的 commit。", "", "現在所有的 commit 的顏色都是一樣的啦,這表示每一個 branch 都包含了所有文件的修改!太厲害了啦!" ], - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -719,9 +792,9 @@ exports.level = { "* 建立新的 branch,叫做 `bugFix` ", "* 用 `git checkout bugFix` 切換到 `bugFix` branch", "* commit 一次", - "* 用 `git checkout` 切換回 `master` branch", + "* 用 `git checkout` 切換回 `main` branch", "* 再 commit 一次", - "* 用 `git merge` 將 `bugFix` merge 到 `master`", + "* 用 `git merge` 將 `bugFix` merge 到 `main`", "", "*記住,你可以用 \"objective\" 指令來重新顯示這個對話框!*" ] @@ -751,32 +824,32 @@ exports.level = { "beforeMarkdowns": [ "여기에 브랜치가 두 개 있습니다. 각 브랜치에 독립된 커밋이 하나씩 있구요. 그 말은 이 저장소에 지금까지 작업한 내역이 나뉘어 담겨 있다는 얘기입니다. 두 브랜치를 합쳐서(merge) 이 문제를 해결해 볼까요?", "", - "`bugFix` 브랜치를 `master` 브랜치에 합쳐(merge) 보겠습니다." + "`bugFix` 브랜치를 `main` 브랜치에 합쳐(merge) 보겠습니다." ], "afterMarkdowns": [ - "보셨어요? 우선, `master`가 두 부모가 있는 커밋을 가리키고 있습니다. ", + "보셨어요? 우선, `main`가 두 부모가 있는 커밋을 가리키고 있습니다. ", "", "또, 커밋들의 색이 바뀐 것을 눈치 채셨나요? 이해를 돕기위해 색상으로 구분해 표현했습니다. 각 브랜치는 그 브랜치만의 색상으로 그렸습니다. 브랜치가 합쳐지는 커밋의 경우에는, 그 브랜치들의 색을 조합한 색상으로 표시 했습니다.", "", - "그런식으로 여기에 `bugFix`브랜치 쪽을 제외한 나머지 커밋만 `master` 브랜치의 색으로 칠해져 있습니다. 이걸 고쳐보죠..." + "그런식으로 여기에 `bugFix`브랜치 쪽을 제외한 나머지 커밋만 `main` 브랜치의 색으로 칠해져 있습니다. 이걸 고쳐보죠..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "이제 `master` 브랜치에 `bugFix`를 합쳐(merge) 봅시다:" + "이제 `main` 브랜치에 `bugFix`를 합쳐(merge) 봅시다:" ], "afterMarkdowns": [ - "`bugFix`가 `master`의 부모쪽에 있었기 때문에, git이 별다른 일을 할 필요가 없었습니다; 간단히 `bugFix`를 `master`가 붙어 있는 커밋으로 이동시켰을 뿐입니다.", + "`bugFix`가 `main`의 부모쪽에 있었기 때문에, git이 별다른 일을 할 필요가 없었습니다; 간단히 `bugFix`를 `main`가 붙어 있는 커밋으로 이동시켰을 뿐입니다.", "", "짜잔! 이제 모든 커밋의 색이 같아졌고, 이는 두 브랜치가 모두 저장소의 모든 작업 내역을 포함하고 있다는 뜻입니다." ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -788,9 +861,9 @@ exports.level = { "* `bugFix`라는 새 브랜치를 만듭니다", "* `git checkout bugFix`를 입력해 `bugFix` 브랜치로 이동(checkout)합니다.", "* 커밋 한 번 하세요", - "* `git checkout` 명령어를 이용해 `master`브랜치로 돌아갑니다", + "* `git checkout` 명령어를 이용해 `main`브랜치로 돌아갑니다", "* 커밋 또 하세요", - "* `git merge` 명령어로 `bugFix`브랜치를 `master`에 합쳐 넣습니다.", + "* `git merge` 명령어로 `bugFix`브랜치를 `main`에 합쳐 넣습니다.", "", "*아 그리고, \"objective\" 명령어로 이 안내창을 다시 볼 수 있다는 것을 기억해 두세요!*" ] @@ -820,32 +893,32 @@ exports.level = { "beforeMarkdowns": [ "Вот у нас две ветки, каждая содержит по одному уникальному коммиту. Это означает, что ни одна из веток не содержит полный набор \"работ\", выполненных в этом репозитории. Можно исправить эту ситуацию, выполнив слияние.", "", - "Мы сделаем `merge` ветки `bugFix` в ветку `master`." + "Мы сделаем `merge` ветки `bugFix` в ветку `main`." ], "afterMarkdowns": [ - "Что мы видим? Во-первых, ветка `master` теперь указывает на коммит, у которого два родителя. Если проследовать по стрелкам от этого коммита, вы пройдёте через каждый коммит в дереве прямиком к началу. Это означает, что теперь в ветке `master` содержатся все изменения репозитория.", + "Что мы видим? Во-первых, ветка `main` теперь указывает на коммит, у которого два родителя. Если проследовать по стрелкам от этого коммита, вы пройдёте через каждый коммит в дереве прямиком к началу. Это означает, что теперь в ветке `main` содержатся все изменения репозитория.", "", "Во-вторых, обрати внимание, как изменились цвета коммитов. Мы ввели цветовую дифференциацию, чтобы помочь пониманию. У каждой ветки — свой цвет. Каждый коммит становится того цвета, какого его ветка. Если в нём изменения сразу двух веток - он становится цветом, смешанным из цветов родительских веток.", "", - "И вот мы видим, что цвет ветки `master` подмешан к каждому коммиту, а ветки `bugFix` - нет. Это можно поправить." + "И вот мы видим, что цвет ветки `main` подмешан к каждому коммиту, а ветки `bugFix` - нет. Это можно поправить." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Смерджим ветку `master` в ветку `bugFix`." + "Смерджим ветку `main` в ветку `bugFix`." ], "afterMarkdowns": [ - "Так как ветка `bugFix` была предшественницей `master`, Git не делал ничего, только сдвинул `bugFix` на тот же коммит, где находится `master`", + "Так как ветка `bugFix` была предшественницей `main`, Git не делал ничего, только сдвинул `bugFix` на тот же коммит, где находится `main`", "", "Теперь все коммиты одного цвета, что означает, что каждая ветка содержит все изменения репозитория! Поздравляем!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -857,9 +930,9 @@ exports.level = { "* Создай новую ветку под названием `bugFix`", "* Переключись на новую ветку `bugFix` командой `git checkout bugFix`", "* Сделай один коммит", - "* Вернись на ветку `master` при помощи `git checkout`", + "* Вернись на ветку `main` при помощи `git checkout`", "* Сделай ещё один коммит", - "* Слей ветку `bugFix` с веткой `master` при помощи `git merge`", + "* Слей ветку `bugFix` с веткой `main` при помощи `git merge`", "", "* Если что-то пошло не так - можешь подглядеть в эту шпаргалку командой \"objective\"!*" ] @@ -889,32 +962,32 @@ exports.level = { "beforeMarkdowns": [ "Тут ми маємо дві гілки; кожна з них містить унікальний коміт. Це означає що жодна з них не містить повного набору \"робочої інфи\" в цьому репозиторії. Давайте зіллємо всю інфу докупи за допомогою merge.", "", - "Ми `змержимо` гілку `bugFix` в `master`." + "Ми `змержимо` гілку `bugFix` в `main`." ], "afterMarkdowns": [ - "Нічого собі! Ви це бачили? По-перше, `master` тепер вказує на коміт з двома батьками. Якщо ти піднімешся вверх з цього коміту по дереву, починаючи з `master`, на шляху ти зустрінеш кожен коміт аж до кореневого. Це означає що гілка `master` тепер містить всю інфу в цьому репозиторії.", + "Нічого собі! Ви це бачили? По-перше, `main` тепер вказує на коміт з двома батьками. Якщо ти піднімешся вверх з цього коміту по дереву, починаючи з `main`, на шляху ти зустрінеш кожен коміт аж до кореневого. Це означає що гілка `main` тепер містить всю інфу в цьому репозиторії.", "", "А ти помітив як змінилися кольори комітів? Для кращого розуміння процесу я додав певну кольорову диференціацію. Кожен бранч виділено окремим кольором. Колір кожного коміту це суміш кольорів всіх гілок що місять цей коміт.", "", - "Тож ми бачимо що колір гілки `master` містять всі коміти, але не колір `bugFix`. Давайте виправимо це..." + "Тож ми бачимо що колір гілки `main` містять всі коміти, але не колір `bugFix`. Давайте виправимо це..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Давай змержимо `master` в `bugFix`:" + "Давай змержимо `main` в `bugFix`:" ], "afterMarkdowns": [ - "Так як `bugFix` є нащадком `master`, git'у не потрібно нічого робити; він просто пересунув `bugFix` на тей самий коміт, на якому знаходиться `master`.", + "Так як `bugFix` є нащадком `main`, git'у не потрібно нічого робити; він просто пересунув `bugFix` на тей самий коміт, на якому знаходиться `main`.", "", "Тепер всі коміти одного кольору, що означає що кожен бранч включає в собі всю корисну інфу яка є в цьому репозиторії! Ура!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -926,9 +999,9 @@ exports.level = { "* Зроби нову гілку (branch) з назвою `bugFix`", "* Перейди на гілку `bugFix` за допомогою `git checkout bugFix`", "* Зроби один коміт", - "* Повернись до `master` за допомогою `git checkout`", + "* Повернись до `main` за допомогою `git checkout`", "* Зроби ще один коміт", - "* Змерджи (злий) гілку `bugFix` в `master` за допомогою `git merge`", + "* Змерджи (злий) гілку `bugFix` в `main` за допомогою `git merge`", "", "*Не забувай, ти можеш завжди повернутися до цього діалогу за допомогою \"objective\"!*" ] @@ -958,32 +1031,32 @@ exports.level = { "beforeMarkdowns": [ "Ở đây ta có 2 nhánh; mỗi nhánh có 1 commit độc nhất. Có nghĩa là chẳng nhánh nào có đủ \"thành quả\" trong kho chứa của ta cả. Sửa nó bằng merge nào.", "", - "Ta sẽ `merge` nhánh `bugFix` vào `master`." + "Ta sẽ `merge` nhánh `bugFix` vào `main`." ], "afterMarkdowns": [ - "Wao! Thấy chứ? Trước tiên, `master` giờ đã trỏ đến commit có 2 cha. Nếu bạn lần theo mũi tên lên trên từ `master`, bạn sẽ gặp tất cả các commit lên đến commit gốc. Có nghĩa là `master` giờ đã chứa tất cả thành quả trong kho.", + "Wao! Thấy chứ? Trước tiên, `main` giờ đã trỏ đến commit có 2 cha. Nếu bạn lần theo mũi tên lên trên từ `main`, bạn sẽ gặp tất cả các commit lên đến commit gốc. Có nghĩa là `main` giờ đã chứa tất cả thành quả trong kho.", "", "Đồng thời, bạn thấy màu commit thay đổi chứ? Để bạn dễ học hơn, tôi đã phối hợp một số bảng màu. Mỗi nhánh có một màu duy nhất. Mỗi commit mang màu pha trộn của tất cả nhánh chứa nó.", "", - "Vì vậy, ở đây chúng ta thấy rằng màu nhánh `master` được pha trộn vào tất cả các commit, nhưng màu` bugFix` thì không. Hãy sửa nó nào ..." + "Vì vậy, ở đây chúng ta thấy rằng màu nhánh `main` được pha trộn vào tất cả các commit, nhưng màu` bugFix` thì không. Hãy sửa nó nào ..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Hãy gộp nhánh `master` vào `bugFix` nào:" + "Hãy gộp nhánh `main` vào `bugFix` nào:" ], "afterMarkdowns": [ - "Vì `bugFix` là bậc cha ông của `master`, git chẳng phải làm gì cả; nó đơn giản chỉ chuyển `bugFix` vào commit mà `master` đang trỏ tới.", + "Vì `bugFix` là bậc cha ông của `main`, git chẳng phải làm gì cả; nó đơn giản chỉ chuyển `bugFix` vào commit mà `main` đang trỏ tới.", "", "Giờ thì tất cả commit đã có cùng màu, nghĩa là mỗi nhánh đã chứa tất cả thành quả trong kho! Ồ hố!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -995,9 +1068,9 @@ exports.level = { "* Tạo một nhánh mới tên là `bugFix`", "* Chuyển sang nhánh `bugFix` với `git checkout bugFix`", "* Commit một lần", - "* Trở về `master` với `git checkout`", + "* Trở về `main` với `git checkout`", "* Commit một lần nữa", - "* Gộp nhánh `bugFix` vào `master` với `git merge`", + "* Gộp nhánh `bugFix` vào `main` với `git merge`", "", "*Nhớ rằng, bạn luôn luôn có thể bật lại hội thoại này với lệnh \"objective\"!*" ] @@ -1027,32 +1100,32 @@ exports.level = { "beforeMarkdowns": [ "Tu imamo dva brancha; vsak ima en commit, ki je unikaten. To pomeni, da noben branch v repozitorju nima vsega \"dela\". Pa popravimo to z mergeom.", "", - "Sedaj bomo `mergeali` branch `bugFix` v `master`." + "Sedaj bomo `mergeali` branch `bugFix` v `main`." ], "afterMarkdowns": [ - "Woah! Si videl to? `master` sedaj kaže na commit, ki ima dva starša. Če slediš puščicam po drevesu commitov iz `master`, boš našel vsak commit po poti do roota. To pomeni, da `master` sedaj vsebuje vso delo iz repozitorija.", + "Woah! Si videl to? `main` sedaj kaže na commit, ki ima dva starša. Če slediš puščicam po drevesu commitov iz `main`, boš našel vsak commit po poti do roota. To pomeni, da `main` sedaj vsebuje vso delo iz repozitorija.", "", "Opaziš tudi, kako so se barve commitov spremenile? V pomoč pri učenju, sem vključil še nekaj barvne pomoči. Vsak branch ima svojo barvo. Vsak commit spremeni barvo v kombinirano barvo vseh branchev, ki imajo ta commit.", "", - "Torej tukaj vidimo, da je `master` branch barva zmešana v vseh commitih, `bugFix` barva pa ne. Popravimo to ..." + "Torej tukaj vidimo, da je `main` branch barva zmešana v vseh commitih, `bugFix` barva pa ne. Popravimo to ..." ], "command": "git merge bugFix", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Zmergajmo sedaj `master` v `bugFix`:" + "Zmergajmo sedaj `main` v `bugFix`:" ], "afterMarkdowns": [ - "Ker je `bugFix` bil prednik `master`, git ni rabil storiti ničesar; preprosto je premaknil `bugFix` v isti commit, kamer kaže `master`.", + "Ker je `bugFix` bil prednik `main`, git ni rabil storiti ničesar; preprosto je premaknil `bugFix` v isti commit, kamer kaže `main`.", "", "Sedaj so vsi commiti iste barve, kar pomeni, da vsak branch vsebuje vse delo v repozitoriju!! Woohoo!" ], - "command": "git checkout bugFix; git merge master", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit; git merge bugFix" + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" } }, { @@ -1064,15 +1137,84 @@ exports.level = { "* Naredi novi branch `bugFix`", "* Checkoutaj `bugFix` branch z `git checkout bugFix`", "* Enkrat commitaj", - "* Pojdi nazaj na `master` z `git checkout`", + "* Pojdi nazaj na `main` z `git checkout`", "* Še enkrat commitaj", - "* Mergeaj branch `bugFix` v `master` z `git merge`", + "* Mergeaj branch `bugFix` v `main` z `git merge`", "", "*Pomni, vedno lahko spet pogledaš ta dialog z \"objective\"!*" ] } } ] + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Łączenie (scalanie) Branch-y", + "", + "Świetnie! Już wiemy, jak stworzyć commit-y oraz jak tworzyć branch-e. Teraz musimy się nauczyć jak połączyć pracę dwóch różnych branch-y. Stwórzmy nowy branch, wprowadzamy nową funkcjonalność, a następnie je połączymy.", + "", + "Pierwszą metodą łączenia pracy, którą zamierzamy użyć, jest `git merge`. Połączenie te tworzy w GIT specjalny commit, który ma dwóch różnych rodziców. Commit z dwojgiem rodziców zasadniczo oznacza: \"Chcę uwzględnić całą pracę tych dwóch rodziców oraz zbiory wszystkich swoich przodków\".", + "", + "Łatwiej będzie to wizualizować, zobaczymy to w następnym widoku." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Mamy tutaj dwa branch-e (gałęzie); każdy ma po jednym commit-cie, które są unikalne. Oznacza to, że żadna z branch-y nie zawiera \"całej pracy\", które jest w naszym repozytorium. Naprawmy to za pomocą funkcji marge.", + "", + "Użyjmy `merge` aby połączyć branch `bugFix` z `main`." + ], + "afterMarkdowns": [ + "Wow! Widzialiście to? Przede wszystkim \"main\" wskazuje teraz na commit, który ma dwoje rodziców. Jeśli podążasz za strzałkami w górę drzewa zatwierdzenia od `main`, trafisz na każdy commit po drodze do korzenia. Oznacza to, że `main` zawiera teraz całą pracę w repozytorium.", + "", + "Czy widziałeś również, jak zmieniły się kolory zatwierdzeń? Aby Ci pomóc w nauce, dołączyłem kilka konwencji kolorów. Każdy branch ma swój własny kolor. Każdy commit staje się kolorem wynikającym z mieszania kolorów wszystkich branch-y, które commit-ujesz", + "", + "Więc tutaj widzimy, że kolor branch-a `main` uczestniczy w miksowaniu wszystkich commit-ów, ale kolor branch-u `bugFix` już nie. Naprawmy to..." + ], + "command": "git merge bugFix", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Połączmy brach `main` z branch `bugFix`:" + ], + "afterMarkdowns": [ + "Ponieważ `bugFix` był przodkiem branch-a `main`, GIT nie musiał wykonywać żadnej pracy; po prostu przeniosł branch `bugFix` do tego samego commit-a, do którego był dołączony branch `main`.", + "", + "Teraz wszystkie commit-y mają ten sam kolor, co oznacza, że każdy branch zawiera całą pracę znajdującą się w repozytorium! Super!" + ], + "command": "git checkout bugFix; git merge main", + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit; git merge bugFix" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Aby ukończyć ten poziom, wykonaj następujące czynności:", + "", + "* Stwórz nowy branch o nazwie `bugFix`", + "* Przełącz się na branch `bugFix`, używając polecenia `git checkout bugFix`", + "* Zrób commit", + "* Wróć do branch-u `main` za pomocą polecenia `git checkout`", + "* Zrób ponownie commit", + "* Złącz branch `bugFix` z branch-em `main` używając polecenia `git merge`", + "", + "*Pamiętaj: zawsze możesz zobaczyć tą wiadomość ponownie, wpisując \"objective\"!*" + ] + } + } + ] } } }; diff --git a/src/levels/intro/rebasing.js b/src/levels/intro/rebasing.js index c8914cbf..57921d2b 100644 --- a/src/levels/intro/rebasing.js +++ b/src/levels/intro/rebasing.js @@ -1,11 +1,12 @@ exports.level = { "goalTreeString": "%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C3%22%2C%22id%22%3A%22master%22%7D%2C%22bugFix%22%3A%7B%22target%22%3A%22C2%27%22%2C%22id%22%3A%22bugFix%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C2%27%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C2%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22bugFix%22%2C%22id%22%3A%22HEAD%22%7D%7D", - "solutionCommand": "git checkout -b bugFix;git commit;git checkout master;git commit;git checkout bugFix;git rebase master", + "solutionCommand": "git checkout -b bugFix;git commit;git checkout main;git commit;git checkout bugFix;git rebase main", "name": { "en_US": "Rebase Introduction", "de_DE": "Einführung in Rebase", "ja" : "Rebaseの解説", "es_AR": "Introducción a rebase", + "es_MX": "Introducción a rebase", "es_ES": "Introducción a rebase", "pt_BR": "Introdução ao rebase", "gl" : "Introducción a rebase", @@ -16,7 +17,8 @@ exports.level = { "ru_RU": "Введение в rebase", "uk": "Знайомство з rebase", "vi": "Giới thiệu về rebase", - 'sl_SI': 'Uvod v Rebase' + 'sl_SI': 'Uvod v Rebase', + "pl" : "Wprowadzenie do Rebase" }, "hint": { "en_US": "Make sure you commit from bugFix first", @@ -24,6 +26,7 @@ exports.level = { "ja" : "初めにbugFixを指した状態でコミットする", "fr_FR": "Assurez-vous de bien faire votre commit sur bugFix en premier", "es_AR": "Asegurate de commitear desde bugFix primero", + "es_MX": "Asegúrate de hacer commit desde bugFix primero", "es_ES": "Asegúrate de hacer commit desde bugFix primero", "pt_BR": "O bugFix precisa ser commitado primeiro", "gl" : "Asegurate de facer o commit dende bugFix primeiro", @@ -33,7 +36,8 @@ exports.level = { "ru_RU": "Убедись, что сделал коммит в ветке bugFix", "uk": "Впевнись, що зробив коміт в гілці bugFix", "vi": "Hãy chắc chắn rằng bạn commit từ bugFix trước", - 'sl_SI': 'Prepričaj se, da si najprej commital bugFix.' + 'sl_SI': 'Prepričaj se, da si najprej commital bugFix.', + "pl" : "Upewnij się, że masz commit z bugFix" }, "disabledMap": { "git revert": true @@ -61,18 +65,18 @@ exports.level = { "beforeMarkdowns": [ "Here we have two branches yet again; note that the bugFix branch is currently selected (note the asterisk)", "", - "We would like to move our work from bugFix directly onto the work from master. That way it would look like these two features were developed sequentially, when in reality they were developed in parallel.", + "We would like to move our work from bugFix directly onto the work from main. That way it would look like these two features were developed sequentially, when in reality they were developed in parallel.", "", "Let's do that with the `git rebase` command." ], "afterMarkdowns": [ - "Awesome! Now the work from our bugFix branch is right on top of master and we have a nice linear sequence of commits.", + "Awesome! Now the work from our bugFix branch is right on top of main and we have a nice linear sequence of commits.", "", - "Note that the commit C3 still exists somewhere (it has a faded appearance in the tree), and C3' is the \"copy\" that we rebased onto master.", + "Note that the commit C3 still exists somewhere (it has a faded appearance in the tree), and C3' is the \"copy\" that we rebased onto main.", "", - "The only problem is that master hasn't been updated either, let's do that now..." + "The only problem is that main hasn't been updated either, let's do that now..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -80,13 +84,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Now we are checked out on the `master` branch. Let's go ahead and rebase onto `bugFix`..." + "Now we are checked out on the `main` branch. Let's go ahead and rebase onto `bugFix`..." ], "afterMarkdowns": [ - "There! Since `master` was an ancestor of `bugFix`, git simply moved the `master` branch reference forward in history." + "There! Since `main` was an ancestor of `bugFix`, git simply moved the `main` branch reference forward in history." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -97,8 +101,8 @@ exports.level = { "", "* Checkout a new branch named `bugFix`", "* Commit once", - "* Go back to master and commit again", - "* Check out bugFix again and rebase onto master", + "* Go back to main and commit again", + "* Check out bugFix again and rebase onto main", "", "Good luck!" ] @@ -116,7 +120,7 @@ exports.level = { "", "Der zweite Weg um Inhalte aus verschiedenen Branches zu kombinieren ist `git rebase`. Rebasen nimmt im Prinzip eine Menge von Commits, \"kopiert\" sie und packt sie auf etwas anderes drauf.", "", - "Auch wenn das erst mal komisch klingt liegt der Vorteil von Rebase darin, dass man es benutzen kann um hübsch lineare Abfolgen von Commits zu erhalten. Das Commit-Protokoll des Repositorys wird durch Rebase eine ganze Ecke einfacher aussehen, weil Merge Commits vermieden werden.", + "Auch wenn das erst mal komisch klingt, liegt der Vorteil von Rebase darin, dass man es benutzen kann um hübsch lineare Abfolgen von Commits zu erhalten. Das Commit-Protokoll des Repositorys wird durch Rebase eine ganze Ecke einfacher aussehen, weil Merge Commits vermieden werden.", "", "Schauen wir's uns mal in Aktion an ..." ] @@ -128,18 +132,18 @@ exports.level = { "beforeMarkdowns": [ "Hier haben wir wieder zwei Branches; wie du siehst ist `bugFix` aktuell ausgewählt (sieht man am `*`).", "", - "Wir würden jetzt gerne unsere Arbeit aus `bugFix` direkt auf den `master` packen. Das Ergebnis wäre, dass alle aktuellen Änderungen in `master` auch im Branch `bugFix` sind.", + "Wir würden jetzt gerne unsere Arbeit aus `bugFix` direkt auf den `main` packen. Das Ergebnis wäre, dass alle aktuellen Änderungen in `main` auch im Branch `bugFix` sind.", "", "Das machen wir mit dem Befehl `git rebase`:" ], "afterMarkdowns": [ - "Hammer! Was wir in `bugFix` gemacht haben ist jetzt oben auf `master` draufgepackt und wir haben eine schön lineare Abfolge von Commits bekommen.", + "Hammer! Was wir in `bugFix` gemacht haben ist jetzt oben auf `main` draufgepackt und wir haben eine schön lineare Abfolge von Commits bekommen.", "", - "Commit `C3` existiert immer noch irgendwo (deswegen ist er blaß dargestellt) und `C3'` ist die \"Kopie\" die wir auf den `master` gepackt haben.", + "Commit `C3` existiert immer noch irgendwo (deswegen ist er blaß dargestellt) und `C3'` ist die \"Kopie\" die wir auf den `main` gepackt haben.", "", - "Aber `master` ist jetzt nicht aktualisiert worden, lass uns das gerade noch nachholen ..." + "Aber `main` ist jetzt nicht aktualisiert worden, lass uns das gerade noch nachholen ..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -147,13 +151,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Jetzt sind wir im `master`. Lass uns den mal auf `bugFix` rebasen ..." + "Jetzt sind wir im `main`. Lass uns den mal auf `bugFix` rebasen ..." ], "afterMarkdowns": [ - "So! Da `master` ein Vorgänger von `bugFix` war konnte Git hier einfach den Bezeichner `master` auf denselben Commit schieben, auf den auch `bugFix` zeigt." + "So! Da `main` ein Vorgänger von `bugFix` war konnte Git hier einfach den Bezeichner `main` auf denselben Commit schieben, auf den auch `bugFix` zeigt." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -164,8 +168,8 @@ exports.level = { "", "* Einen neuen Branch namens `bugFix` auschecken", "* Einen Commit machen", - "* Zurück zum `master` wechseln und noch einmal committen", - "* `bugFix` auschecken und auf den `master` rebasen", + "* Zurück zum `main` wechseln und noch einmal committen", + "* `bugFix` auschecken und auf den `main` rebasen", "", "Viel Erfolg!" ] @@ -206,7 +210,7 @@ exports.level = { "", "一つ問題が残ってて、masterブランチがまだ最新化されていませんね。ちょっと直してみましょう。。" ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -217,10 +221,10 @@ exports.level = { "masterブランチにチェックアウトしてあります。この状態からmasterブランチを`bugFix`へとリベースしてみましょう。" ], "afterMarkdowns": [ - "できた!`master`は`bugFix`の直前のコミットだったので、gitは単純に`master`ブランチのポインタを前に進めただけでした。" + "できた!`main`は`bugFix`の直前のコミットだったので、gitは単純に`main`ブランチのポインタを前に進めただけでした。" ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -262,18 +266,18 @@ exports.level = { "beforeMarkdowns": [ "Acá tenemos dos ramas otra vez. Notar que la rama bugFix está actualmente seleccionada (tiene un asterisco)", "", - "Nos gustaría mover nuestro trabajo de bugFix directamente sobre el trabajo de master. De ese modo, parecería que esas dos tareas se desarrollaron secuencialmente, cuando en realidad se hicieron en paralelo.", + "Nos gustaría mover nuestro trabajo de bugFix directamente sobre el trabajo de main. De ese modo, parecería que esas dos tareas se desarrollaron secuencialmente, cuando en realidad se hicieron en paralelo.", "", "Hagámoslo usando el comando `git rebase`." ], "afterMarkdowns": [ - "¡Genial! Ahora el trabajo de nuestra rama bugFix está justo encima del de master, y tenemos una secuencia lineal de commits.", + "¡Genial! Ahora el trabajo de nuestra rama bugFix está justo encima del de main, y tenemos una secuencia lineal de commits.", "", - "Notá que el commit C3 sigue existiendo en algún lado (aparece medio desvanecido en el árbol), y C3' es la \"copia\" que rebaseamos sobre master.", + "Notá que el commit C3 sigue existiendo en algún lado (aparece medio desvanecido en el árbol), y C3' es la \"copia\" que rebaseamos sobre main.", "", - "El único problema es que master todavía no se actualizó, resolvámoslo ahora..." + "El único problema es que main todavía no se actualizó, resolvámoslo ahora..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -281,13 +285,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Ahora estamos parados sobre la rama `master`. Avancemos y rebaseémosla sobre `bugFix`..." + "Ahora estamos parados sobre la rama `main`. Avancemos y rebaseémosla sobre `bugFix`..." ], "afterMarkdowns": [ - "¡Ahí está! Como `master` era un ancestro de `bugFix`, git simplemente movió la referencia de `master` hacia adelante en la historia." + "¡Ahí está! Como `main` era un ancestro de `bugFix`, git simplemente movió la referencia de `main` hacia adelante en la historia." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -298,8 +302,75 @@ exports.level = { "", "* Checkouteá una nueva rama llamada `bugFix`", "* Commiteá una vez", - "* Volvé a master y commiteå de nuevo", - "* Checkoutá bugFix otra vez y rebaseala sobre master", + "* Volvé a main y commiteå de nuevo", + "* Checkoutá bugFix otra vez y rebaseala sobre main", + "", + "¡Éxitos!" + ] + } + } + ] + }, + "es_MX": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Git Rebase", + "", + "El segundo modo de combinar el trabajo de distintas ramas es el *rebase*. Rebasear esencialmente agarra un conjunto de commits, los \"copia\", y los aplica sobre algún otro lado.", + "", + "Aunque esto pueda sonar confuso, la ventaja de rebasear es que puede usarse para conseguir una secuencia de commits lineal, más bonita. El historial / log de commits del repositorio va a estar mucho más claro si sólo usas rebase.", + "", + "Veámoslo en acción..." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Acá tenemos dos ramas otra vez. Nota que la rama bugFix está actualmente seleccionada (tiene un asterisco)", + "", + "Nos gustaría mover nuestro trabajo de bugFix directamente sobre el trabajo de main. De ese modo, parecería que esas dos tareas se desarrollaron secuencialmente, cuando en realidad se hicieron en paralelo.", + "", + "Hagámoslo usando el comando `git rebase`." + ], + "afterMarkdowns": [ + "¡Genial! Ahora el trabajo de nuestra rama bugFix está justo encima del de main, y tenemos una secuencia lineal de commits.", + "", + "Notá que el commit C3 sigue existiendo en algún lado (aparece medio desvanecido en el árbol), y C3' es la \"copia\" que rebaseamos sobre main.", + "", + "El único problema es que main todavía no se actualizó, resolvámoslo ahora..." + ], + "command": "git rebase main", + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Ahora estamos parados sobre la rama `main`. Avancemos y rebaseémosla sobre `bugFix`..." + ], + "afterMarkdowns": [ + "¡Ahí está! Como `main` era un ancestro de `bugFix`, git simplemente movió la referencia de `main` hacia adelante en la historia." + ], + "command": "git rebase bugFix", + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Para completar este nivel, haz lo siguiente:", + "", + "* Cámbiate a una nueva rama llamada `bugFix`", + "* Haz un commit de una vez", + "* Vuelve a main y haz commit de nuevo", + "* Cámbiate a la rama bugFix otra vez y rebaséala sobre main", "", "¡Éxitos!" ] @@ -329,18 +400,18 @@ exports.level = { "beforeMarkdowns": [ "Aquí tenemos dos ramas otra vez. Observa que la rama bugFix está actualmente seleccionada (tiene un asterisco)", "", - "Nos gustaría mover nuestro trabajo de bugFix directamente sobre el trabajo de master. De ese modo, parecería que esas dos tareas se desarrollaron secuencialmente, cuando en realidad se hicieron en paralelo.", + "Nos gustaría mover nuestro trabajo de bugFix directamente sobre el trabajo de main. De ese modo, parecería que esas dos tareas se desarrollaron secuencialmente, cuando en realidad se hicieron en paralelo.", "", "Hagámoslo usando el comando `git rebase`." ], "afterMarkdowns": [ - "¡Genial! Ahora el trabajo de nuestra rama bugFix está justo encima del de master, y tenemos una secuencia lineal de commits.", + "¡Genial! Ahora el trabajo de nuestra rama bugFix está justo encima del de main, y tenemos una secuencia lineal de commits.", "", - "Nota que el commit C3 sigue existiendo en algún lado (aparece medio desvanecido en el árbol), y C3' es la \"copia\" que rebaseamos sobre master.", + "Nota que el commit C3 sigue existiendo en algún lado (aparece medio desvanecido en el árbol), y C3' es la \"copia\" que rebaseamos sobre main.", "", - "El único problema es que master todavía no se actualizó, resolvámoslo ahora..." + "El único problema es que main todavía no se actualizó, resolvámoslo ahora..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -348,13 +419,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Ahora estamos parados sobre la rama `master`. Avancemos y hagamos rebase sobre `bugFix`..." + "Ahora estamos parados sobre la rama `main`. Avancemos y hagamos rebase sobre `bugFix`..." ], "afterMarkdowns": [ - "¡Ahí está! Como `master` era un ancestro de `bugFix`, git simplemente movió la referencia de `master` hacia adelante en la historia." + "¡Ahí está! Como `main` era un ancestro de `bugFix`, git simplemente movió la referencia de `main` hacia adelante en la historia." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -365,8 +436,8 @@ exports.level = { "", "* Haz checkout de una nueva rama llamada `bugFix`", "* Crea un commit", - "* Vuelve a la rama master y crea otro commit", - "* Haz checkout en bugFix otra vez y haz rebase sobre master", + "* Vuelve a la rama main y crea otro commit", + "* Haz checkout en bugFix otra vez y haz rebase sobre main", "", "¡Misión cumplida!" ] @@ -396,18 +467,18 @@ exports.level = { "beforeMarkdowns": [ "Aqui temos dois ramos novamente; note que o ramo bugFix está atualmente ativo (veja o asterisco)", "", - "Queremos mover nosso trabalho do bugFix diretamente dentro do master. Desta forma, vai parecer que esses dois recursos foram desenvolvidos sequencialmente, quando na realidade foram feitos em paralelo.", + "Queremos mover nosso trabalho do bugFix diretamente dentro do main. Desta forma, vai parecer que esses dois recursos foram desenvolvidos sequencialmente, quando na realidade foram feitos em paralelo.", "", "Vamos fazê-lo com o comando `git rebase`." ], "afterMarkdowns": [ - "Incrível! Agora o trabalho do nosso ramo bugFix está logo após o do master, e temos uma linda sequência linear de commits.", + "Incrível! Agora o trabalho do nosso ramo bugFix está logo após o do main, e temos uma linda sequência linear de commits.", "", - "Perceba que o commit C3 ainda existe em algum lugar (ele está clareado na árvore), e que o C3' é a \"cópia\" que rebaseamos no master.", + "Perceba que o commit C3 ainda existe em algum lugar (ele está clareado na árvore), e que o C3' é a \"cópia\" que rebaseamos no main.", "", - "O único problema é que o master não foi atualizado também, vamos fazê-lo agora..." + "O único problema é que o main não foi atualizado também, vamos fazê-lo agora..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -415,13 +486,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Agora o ramo `master` está ativo. Vamos em frente, fazer rebase no `bugFix`..." + "Agora o ramo `main` está ativo. Vamos em frente, fazer rebase no `bugFix`..." ], "afterMarkdowns": [ - "Aí está! Como o `master` era um ancestral do `bugFix`, o git simplesmente moveu a referência do ramo `master` para frente na história." + "Aí está! Como o `main` era um ancestral do `bugFix`, o git simplesmente moveu a referência do ramo `main` para frente na história." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -432,8 +503,8 @@ exports.level = { "", "* Faça checkout de um novo branch chamado `bugFix`", "* Faça um commit", - "* Volte ao master e faça um novo commit", - "* Faça checkout do bugFix novamente e faça rebase no master", + "* Volte ao main e faça um novo commit", + "* Faça checkout do bugFix novamente e faça rebase no main", "", "Boa sorte!" ] @@ -463,18 +534,18 @@ exports.level = { "beforeMarkdowns": [ "Aquí temos dúas ramas novamente; decátate de que a rama `bugFix` está seleccionada (olla ó asterisco)", "", - "Queremos mover o noso traballo do `bugFix` directamente dentro da rama `master`. Desta forma, vai parecer que eses dous recursos foron editados secuencialmente, cando a realidade é que se fixeron en paralelo.", + "Queremos mover o noso traballo do `bugFix` directamente dentro da rama `main`. Desta forma, vai parecer que eses dous recursos foron editados secuencialmente, cando a realidade é que se fixeron en paralelo.", "", "Imos lanzar o comando `git rebase`." ], "afterMarkdowns": [ - "¡Buah chorvo! Agora o traballo da nosa rama `bugFix` está seguida de master, e temos unha fermosa línea de commits.", + "¡Buah chorvo! Agora o traballo da nosa rama `bugFix` está seguida de main, e temos unha fermosa línea de commits.", "", - "Percibe que o commit `C3` aínda existe nalgún lugar (el está borrado na árbore), e que `C3'` é a \"copia\" que rebasamos en master.", + "Percibe que o commit `C3` aínda existe nalgún lugar (el está borrado na árbore), e que `C3'` é a \"copia\" que rebasamos en main.", "", - "O único problema é que a rama master non foi actualizada tamén, ímolo facer agora..." + "O único problema é que a rama main non foi actualizada tamén, ímolo facer agora..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -482,13 +553,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Agora a rama `master` está ativa. Continuamos facendo o rebase na `bugFix`..." + "Agora a rama `main` está ativa. Continuamos facendo o rebase na `bugFix`..." ], "afterMarkdowns": [ - "¡Xa está! Como `master` era um ancestro de `bugFix`, git simplemente moveu a referencia da rama `master` máis adiante na historia." + "¡Xa está! Como `main` era um ancestro de `bugFix`, git simplemente moveu a referencia da rama `main` máis adiante na historia." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -499,8 +570,8 @@ exports.level = { "", "* Fai checkout de un novo branch chamado `bugFix`", "* Fai un commit", - "* Regresa a master e fai un commit novamente", - "* Móvete á rama bugFix outra vez e fai rebase sobre master", + "* Regresa a main e fai un commit novamente", + "* Móvete á rama bugFix outra vez e fai rebase sobre main", "", "Boa sorte!" ] @@ -530,18 +601,18 @@ exports.level = { "beforeMarkdowns": [ "Ici nous avons encore une fois deux branches; notez que nous sommes sur la branche bugFix (cf. l'astérisque)", "", - "Nous voudrions transférer notre travail de la branche 'bugFix' directement sur le travail existant dans 'master'. Ainsi on aurait l'impression que ces deux travaux ont été développés séquentiellement alors qu'en réalité ils ont été réalisés en parallèle.", + "Nous voudrions transférer notre travail de la branche 'bugFix' directement sur le travail existant dans 'main'. Ainsi on aurait l'impression que ces deux travaux ont été développés séquentiellement alors qu'en réalité ils ont été réalisés en parallèle.", "", "Faisons cela avec la commande `git rebase`." ], "afterMarkdowns": [ - "Super! Désormais, le travail de la branche 'bugFix' est juste en haut de la branche 'master' et nous avons une belle séquence linéaire de commits.", + "Super! Désormais, le travail de la branche 'bugFix' est juste en haut de la branche 'main' et nous avons une belle séquence linéaire de commits.", "", - "Notez que le commit C3 existe toujours quelque part (il est en grisé sur l'arbre), et C3' est la \"copie\" que nous avons créée sur master avec rebase.", + "Notez que le commit C3 existe toujours quelque part (il est en grisé sur l'arbre), et C3' est la \"copie\" que nous avons créée sur main avec rebase.", "", - "Le seul problème est que master n'a pas été mis à jour, faisons cela maintenant…" + "Le seul problème est que main n'a pas été mis à jour, faisons cela maintenant…" ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -549,8 +620,8 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Nous sommes désormais positionnés sur la branche `master`. Continuons en faisant le rebase sur `bugFix`…", - "Et voilà ! Puisque `master` était un ascendant de `bugFix`, git a simplement déplacé la référence de la branche `master` en avant dans le temps." + "Nous sommes désormais positionnés sur la branche `main`. Continuons en faisant le rebase sur `bugFix`…", + "Et voilà ! Puisque `main` était un ascendant de `bugFix`, git a simplement déplacé la référence de la branche `main` en avant dans le temps." ], "afterMarkdowns": [ "Voilà vous avez vu comment cela fonctionne", @@ -558,7 +629,7 @@ exports.level = { "Continuons et essayons ce niveau !" ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -569,8 +640,8 @@ exports.level = { "", "* Positionnez-vous (checkout) sur une nouvelle branche nommée `bugFix`", "* Faites un commit", - "* Retournez sur master et faites un nouveau commit", - "* Positionnez-vous à nouveau sur bugFix et faites un rebase sur master", + "* Retournez sur main et faites un nouveau commit", + "* Positionnez-vous à nouveau sur bugFix et faites un rebase sur main", "", "Bonne chance !" ] @@ -600,17 +671,17 @@ exports.level = { "beforeMarkdowns": [ "还是准备了两个分支;注意当前所在的分支是 bugFix(星号标识的是当前分支)", "", - "我们想要把 bugFix 分支里的工作直接移到 master 分支上。移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发的。", + "我们想要把 bugFix 分支里的工作直接移到 main 分支上。移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发的。", "", "咱们这次用 `git rebase` 实现此目标" ], - "command": "git rebase master", + "command": "git rebase main", "afterMarkdowns": [ - "怎么样?!现在 bugFix 分支上的工作在 master 的最顶端,同时我们也得到了一个更线性的提交序列。", + "怎么样?!现在 bugFix 分支上的工作在 main 的最顶端,同时我们也得到了一个更线性的提交序列。", "", - "注意,提交记录 C3 依然存在(树上那个半透明的节点),而 C3' 是我们 Rebase 到 master 分支上的 C3 的副本。", + "注意,提交记录 C3 依然存在(树上那个半透明的节点),而 C3' 是我们 Rebase 到 main 分支上的 C3 的副本。", "", - "现在唯一的问题就是 master 还没有更新,下面咱们就来更新它吧……" + "现在唯一的问题就是 main 还没有更新,下面咱们就来更新它吧……" ], "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } @@ -619,13 +690,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "现在我们切换到了 `master` 上。把它 rebase 到 `bugFix` 分支上……" + "现在我们切换到了 `main` 上。把它 rebase 到 `bugFix` 分支上……" ], "command": "git rebase bugFix", "afterMarkdowns": [ - "好了!由于 `bugFix` 继承自 `master`,所以 Git 只是简单的把 `master` 分支的引用向前移动了一下而已。" + "好了!由于 `bugFix` 继承自 `main`,所以 Git 只是简单的把 `main` 分支的引用向前移动了一下而已。" ], - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -636,8 +707,8 @@ exports.level = { "", "* 新建并切换到 `bugFix` 分支", "* 提交一次", - "* 切换回 master 分支再提交一次", - "* 再次切换到 bugFix 分支,rebase 到 master 上", + "* 切换回 main 分支再提交一次", + "* 再次切换到 bugFix 分支,rebase 到 main 上", "", "祝你好运!" ] @@ -667,17 +738,17 @@ exports.level = { "beforeMarkdowns": [ "這裡,還是有兩個 branch;注意目前我們所在的 branch 是 bugFix(看那顆星啦)", "", - "我們想要把在 bugfix 所做的修改直接移到 master branch上。使用 rebasing 的話,兩個 branch 看起來像是依序按順序進行修改,實際上它們的修改是平行進行的。", + "我們想要把在 bugfix 所做的修改直接移到 main branch上。使用 rebasing 的話,兩個 branch 看起來像是依序按順序進行修改,實際上它們的修改是平行進行的。", "", "用 `git rebase` 來實現吧" ], - "command": "git rebase master", + "command": "git rebase main", "afterMarkdowns": [ - "很厲害吧!現在 bugFix branch 上的工作在 master branch 的最前端,同時我們也得到了一個更加線性的 commit 順序。", + "很厲害吧!現在 bugFix branch 上的工作在 main branch 的最前端,同時我們也得到了一個更加線性的 commit 順序。", "", - "注意,本來的 commit C3 沒有消失(在圖上面呈現陰影),而我們\"複製\" C3,將它的副本 C3' 接在 master branch 的後面。", + "注意,本來的 commit C3 沒有消失(在圖上面呈現陰影),而我們\"複製\" C3,將它的副本 C3' 接在 main branch 的後面。", "", - "現在唯一的問題是 master branch 還沒有更新...我們接下來就更新它吧!" + "現在唯一的問題是 main branch 還沒有更新...我們接下來就更新它吧!" ], "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } @@ -686,13 +757,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "現在,切換到 `master` branch。接下來就把它 rebase 到 `bugFix` 上面吧..." + "現在,切換到 `main` branch。接下來就把它 rebase 到 `bugFix` 上面吧..." ], "command": "git rebase bugFix", "afterMarkdowns": [ - "完成!因為 `master` branch 是 `bugFix` 的 parent,所以 git 只是把 `master` branch 往前移動到 `bugFix` 上。" + "完成!因為 `main` branch 是 `bugFix` 的 parent,所以 git 只是把 `main` branch 往前移動到 `bugFix` 上。" ], - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -703,8 +774,8 @@ exports.level = { "", "* 建立 `bugFix` branch", "* commit 一次", - "* 切換回 master branch 再 commit 一次", - "* 再次切換到 bugFix branch,接著 rebase bugFix 這個 branch 到 master branch 上", + "* 切換回 main branch 再 commit 一次", + "* 再次切換到 bugFix branch,接著 rebase bugFix 這個 branch 到 main branch 上", "", "祝你好運啦!" ] @@ -734,18 +805,18 @@ exports.level = { "beforeMarkdowns": [ "여기 또 브랜치 두 개가 있습니다; bugFix브랜치가 현재 선택됐다는 점 눈여겨 보세요 (별표 표시)", "", - "bugFix 브랜치에서의 작업을 master 브랜치 위로 직접 옮겨 놓으려고 합니다. 그렇게 하면, 실제로는 두 기능을 따로따로 개발했지만, 마치 순서대로 개발한 것처럼 보이게 됩니다.", + "bugFix 브랜치에서의 작업을 main 브랜치 위로 직접 옮겨 놓으려고 합니다. 그렇게 하면, 실제로는 두 기능을 따로따로 개발했지만, 마치 순서대로 개발한 것처럼 보이게 됩니다.", "", "`git rebase` 명령어로 함께 해보죠." ], "afterMarkdowns": [ - "오! 이제 bugFix 브랜치의 작업 내용이 master의 바로 위에 깔끔한 한 줄의 커밋으로 보이게 됐습니다.", + "오! 이제 `bugFix` 브랜치의 작업 내용이 `main`의 바로 위에 깔끔한 한 줄의 커밋으로 보이게 됐습니다.", "", - "C3 커밋은 어딘가에 아직 남아있고(그림에서 흐려짐), C3'는 master 위에 올려 놓은 복사본입니다.", + "C3 커밋은 어딘가에 아직 남아있고(그림에서 흐려짐), C3'는 `main` 위에 올려 놓은 복사본입니다.", "", - "master가 아직 그대로라는 문제가 남아있는데요, 바로 해결해보죠..." + "`main`이 아직 그대로라는 문제가 남아있는데요, 바로 해결해보죠..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -753,13 +824,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "우리는 지금 `master` 브랜치를 선택한 상태입니다. `bugFix` 브랜치쪽으로 리베이스 해보겠습니다..." + "우리는 지금 `main` 브랜치를 선택한 상태입니다. `bugFix` 브랜치쪽으로 리베이스 해보겠습니다..." ], "afterMarkdowns": [ - "보세요! `master`가 `bugFix`의 부모쪽에 있었기 때문에, 단순히 그 브랜치를 더 앞쪽의 커밋을 가리키게 이동하는 것이 전부입니다." + "보세요! `main`이 `bugFix`의 부모쪽에 있었기 때문에, 단순히 그 브랜치를 더 앞쪽의 커밋을 가리키게 이동하는 것이 전부입니다." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -770,8 +841,8 @@ exports.level = { "", "* `bugFix`라는 새 브랜치를 만들어 선택하세요", "* 커밋 한 번 합니다", - "* master로 돌아가서 또 커밋합니다", - "* bugFix를 다시 선택하고 master에 리베이스 하세요", + "* `main` 브랜치로 돌아가서 또 커밋합니다", + "* `bugFix`를 다시 선택하고 `main`에 리베이스 하세요", "", "화이팅!" ] @@ -801,18 +872,18 @@ exports.level = { "beforeMarkdowns": [ "У нас здесь снова две ветки. Обрати внимание, что выбрана ветка `bugFix` (отмечена звёздочкой)", "", - "Хочется сдвинуть наши изменения из `bugFix` прямо на вершину ветки `master`. Благодаря этому всё будет выглядеть, как будто эти изменения делались последовательно, хотя на самом деле - параллельно.", + "Хочется сдвинуть наши изменения из `bugFix` прямо на вершину ветки `main`. Благодаря этому всё будет выглядеть, как будто эти изменения делались последовательно, хотя на самом деле - параллельно.", "", "Применим `git rebase`." ], "afterMarkdowns": [ - "Супер! Теперь изменения из `bugFix` находятся в конце ветки `master` и являют собой линейную последовательность коммитов.", + "Супер! Теперь изменения из `bugFix` находятся в конце ветки `main` и являют собой линейную последовательность коммитов.", "", - "Обрати внимание, что коммит С3 до сих пор существует где-то, а С3' - это его \"копия\" в ветке `master`", + "Обрати внимание, что коммит С3 до сих пор существует где-то, а С3' - это его \"копия\" в ветке `main`", "", - "Единственная проблема - ветка `master` не обновлена до последних изменений. Это легко исправить." + "Единственная проблема - ветка `main` не обновлена до последних изменений. Это легко исправить." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -820,13 +891,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Вот мы выбрали ветку `master`. Вперёд - сделаем rebase на `bugFix`." + "Вот мы выбрали ветку `main`. Вперёд - сделаем rebase на `bugFix`." ], "afterMarkdowns": [ - "Вуаля! Так как `master` был предком `bugFix`, git просто сдвинул ссылку на `master` вперёд." + "Вуаля! Так как `main` был предком `bugFix`, git просто сдвинул ссылку на `main` вперёд." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -837,8 +908,8 @@ exports.level = { "", "* Переключись на ветку `bugFix`", "* Сделай коммит", - "* Вернись на `master` и сделай коммит ещё раз", - "* Переключись на `bugFix` и сделай rebase на `master`", + "* Вернись на `main` и сделай коммит ещё раз", + "* Переключись на `bugFix` и сделай rebase на `main`", "", "Удачи!" ] @@ -868,18 +939,18 @@ exports.level = { "beforeMarkdowns": [ "Ми знову маємо дві гілки; зауваж, що наразі вибрана гілка bugFix (вважай зірочку)", "", - "Ми хочемо перемістити наші зміни з гілки bugFix прямо до змін з гілки master. Тоді це буде виглядати наче ці зміни були додані одна за одною, хоча насправді вони були додані одночасно.", + "Ми хочемо перемістити наші зміни з гілки bugFix прямо до змін з гілки main. Тоді це буде виглядати наче ці зміни були додані одна за одною, хоча насправді вони були додані одночасно.", "", "Давайте зробимо це за допомогою команди `git rebase`." ], "afterMarkdowns": [ - "Добре! Тепер зміни з гілки bugFix знаходяться прямо попереду змін з master й ми отримали зручну лінійну послідовність комітів.", + "Добре! Тепер зміни з гілки bugFix знаходяться прямо попереду змін з main й ми отримали зручну лінійну послідовність комітів.", "", - "Вважай що коміт C3 досі десь існує (в дереві він тьмяніший за решту), й C3' це \"копія\" яку ми заребейсили в master.", + "Вважай що коміт C3 досі десь існує (в дереві він тьмяніший за решту), й C3' це \"копія\" яку ми заребейсили в main.", "", - "Є лише одна проблема: гілка master також не була оновлена, давайте зробимо це наступним кроком..." + "Є лише одна проблема: гілка main також не була оновлена, давайте зробимо це наступним кроком..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -887,13 +958,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Тепер ми перейшли (checkout) до гілки `master`. Далі робимо rebase на `bugFix`..." + "Тепер ми перейшли (checkout) до гілки `main`. Далі робимо rebase на `bugFix`..." ], "afterMarkdowns": [ - "Вуаля! Так як `master` це предок `bugFix`, git просто просунув посилання гілки `master` вперед в історії." + "Вуаля! Так як `main` це предок `bugFix`, git просто просунув посилання гілки `main` вперед в історії." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -904,8 +975,8 @@ exports.level = { "", "* Зачекауть (checkout) новий бранч з назвою `bugFix`", "* Зроби один коміт", - "* Повернись на master й зроби ще один коміт", - "* Зачекауть bugFix знову й заребейсь його на master", + "* Повернись на main й зроби ще один коміт", + "* Зачекауть bugFix знову й заребейсь його на main", "", "Нехай щастить!" ] @@ -935,18 +1006,18 @@ exports.level = { "beforeMarkdowns": [ "Giờ ta lại có 2 nhánh; để ý rằng nhánh bugFix đang được chọn (thấy dấu hoa thị chứ?)", "", - "Ta muốn chuyển bugFix trực tiếp sang master. Theo cách đó thì các chức năng nhìn có vẻ được phát triển tuần tự, trong khi thực tế chúng được phát triển song song.", + "Ta muốn chuyển bugFix trực tiếp sang main. Theo cách đó thì các chức năng nhìn có vẻ được phát triển tuần tự, trong khi thực tế chúng được phát triển song song.", "", "Dùng lệnh `git rebase` để thử nào" ], "afterMarkdowns": [ - "Tuyệt vời! Giờ thành quả của nhánh bugFix nằm ngay trên master và ta có các commit nằm thẳng tuột.", + "Tuyệt vời! Giờ thành quả của nhánh bugFix nằm ngay trên main và ta có các commit nằm thẳng tuột.", "", - "Để ý rằng commit C3 vẫn nằm đâu đó (đã được làm mờ), và commit C3' là bản \"sao chép\" mà ta dán lên nhánh master.", + "Để ý rằng commit C3 vẫn nằm đâu đó (đã được làm mờ), và commit C3' là bản \"sao chép\" mà ta dán lên nhánh main.", "", - "Vấn đề duy nhất bây giờ là nhánh master vẫn chưa được cập nhật, làm luôn cho nóng nào..." + "Vấn đề duy nhất bây giờ là nhánh main vẫn chưa được cập nhật, làm luôn cho nóng nào..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -954,13 +1025,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Giờ thì ta đã chuyển sang nhánh `master`. Tiếp tục dán nó vào `bugFix` nào..." + "Giờ thì ta đã chuyển sang nhánh `main`. Tiếp tục dán nó vào `bugFix` nào..." ], "afterMarkdowns": [ - "Đó! Bởi vì `master` là cha ông của `bugFix`, git đơn giản chuyển tham chiếu của nhánh `master` tiến lên." + "Đó! Bởi vì `main` là cha ông của `bugFix`, git đơn giản chuyển tham chiếu của nhánh `main` tiến lên." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -971,8 +1042,8 @@ exports.level = { "", "* Chuyển sang nhánh mới tên là `bugFix`", "* Commit một lần", - "* Quay về master và commit lần nữa", - "* Quay trở lại bugFix và rebase sang master", + "* Quay về main và commit lần nữa", + "* Quay trở lại bugFix và rebase sang main", "", "Chúc may mắn!" ] @@ -1008,11 +1079,11 @@ exports.level = { "afterMarkdowns": [ "Super! Sedaj je naše delo iz bugFix brancha na vrhu masterja in imamo lepo zaporedje commitov.", "", - "Omenimo, da commit C3 še vedno obstaja nekje (v drevesu je zbledel), in C3' je v bistvu \"kopija\", ki smo jo rebaseali na master.", + "Omenimo, da commit C3 še vedno obstaja nekje (v drevesu je zbledel), in C3' je v bistvu \"kopija\", ki smo jo rebaseali na main.", "", - "Edini problem je, da tudi master ni bil posodobljen, naredimo to sedaj ..." + "Edini problem je, da tudi main ni bil posodobljen, naredimo to sedaj ..." ], - "command": "git rebase master", + "command": "git rebase main", "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" } }, @@ -1020,13 +1091,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Sedaj smo checkoutani na `master` branchu. Pojdimo in rebaseajmo na `bugFix`..." + "Sedaj smo checkoutani na `main` branchu. Pojdimo in rebaseajmo na `bugFix`..." ], "afterMarkdowns": [ - "Tako! Ker je bil `master` prednik `bugFix`, je git enostavno premaknil `master` branch referenco naprej v zgodovini." + "Tako! Ker je bil `main` prednik `bugFix`, je git enostavno premaknil `main` branch referenco naprej v zgodovini." ], "command": "git rebase bugFix", - "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase master; git checkout master" + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" } }, { @@ -1037,14 +1108,81 @@ exports.level = { "", "* Checkoutaj nov branch poimenovan `bugFix`", "* Enkrat commitaj", - "* Pojdi nazaj na master in commitaj ponovno", - "* Ponovno checkoutaj bugFix in ga rebaseaj na master", + "* Pojdi nazaj na main in commitaj ponovno", + "* Ponovno checkoutaj bugFix in ga rebaseaj na main", "", "Srečno!" ] } } ] + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Git Rebase", + "", + "Drugim sposobem na łączenie naszej pracy między branch-ami jest *rebase*. Rebase zasadniczo pobiera zestaw commit-ów, \"kopiuje\" je i umieszcza w innym miejscu.", + "", + "Chociaż brzmi to zagmatwane, zaletą rebase jest to, że można jej użyć do stworzenia ładnej liniowej sekwencji zatwierdzeń. Rebase sprawi, że historia commit-ów w repozytorium będzie wyglądał na dużo prostszy, ponieważ unika się commit-ów scalających (merge).", + "", + "Zobaczmy to w akcji..." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Tutaj znowu mamy dwa gałęzie (branch-e); zwróć uwagę, że branch bugFix jest aktualnie wybrany (zwróć uwagę, że ma gwiazdkę)", + "", + "Chcielibyśmy przenieść nasze pracę z branch-a bugFix bezpośrednio do branch-a main. W ten sposób wyglądałoby to tak, jakby te dwa zadania były rozwijane sekwencyjnie, podczas gdy w rzeczywistości rozwijano je równolegle.", + "", + "Zróbmy to za pomocą polecenia `git rebase`." + ], + "afterMarkdowns": [ + "Świetnie! Teraz nasz branch bugFix znajduje się tuż nad main i mamy ładną liniową sekwencję zatwierdzeń tj. commit-ów.", + "", + "Zauważ, że commit C3 nadal gdzieś istnieje (ma wyblakły wygląd w drzewie), a commit C3' jest \"kopią\", którą nadpisujemy na main.", + "", + "Jedynym problemem jest to, że main też nie został zaktualizowany, zróbmy to teraz..." + ], + "command": "git rebase main", + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Jesteśmy teraz na branch-u `main`. Przejdźmy dalej i zróbmy połączenie rebase z branch-em `bugFix`..." + ], + "afterMarkdowns": [ + "Oto jest! Ponieważ `main` był przodkiem `bugFix`, GIT po prostu przesunął odniesienie do branch-a `main` do przodu w historii." + ], + "command": "git rebase bugFix", + "beforeCommand": "git commit; git checkout -b bugFix C1; git commit; git rebase main; git checkout main" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Aby ukończyć ten poziom, wykonaj następujące czynności:", + "", + "* Przejdź do nowego utworzonego branch-u o nazwie `bugFix`", + "* Zrób commit", + "* Wróć do branch-a main i zrób kolejny commit", + "* Przejdź do bugFix oraz połącz za pomocą rebase z main", + "", + "Powodzenia, misja zakończona!" + ] + } + } + ] } } }; diff --git a/src/levels/mixed/describe.js b/src/levels/mixed/describe.js index 56025028..1eefde4d 100644 --- a/src/levels/mixed/describe.js +++ b/src/levels/mixed/describe.js @@ -76,7 +76,7 @@ exports.level = { "Let's look at a quick example. For this tree below:" ], "afterMarkdowns": [ - "The command `git describe master` would output:", + "The command `git describe main` would output:", "", "`v1_2_gC2`", "", @@ -139,7 +139,7 @@ exports.level = { "Regardons un petit exemple. Prenons cet arbre :" ], "afterMarkdowns": [ - "La commande`git describe master` donne le résultat :", + "La commande`git describe main` donne le résultat :", "", "`v1_2_gC2`", "", @@ -202,7 +202,7 @@ exports.level = { "讓我們來看一個例子,對於下面的 tree:" ], "afterMarkdowns": [ - "`git describe master` 會輸出:", + "`git describe main` 會輸出:", "", "`v1_2_gC2`", "", @@ -267,7 +267,7 @@ exports.level = { "让我们来看一个例子,对于下面的提交树:" ], "afterMarkdowns": [ - "`git describe master` 会输出:", + "`git describe main` 会输出:", "", "`v1_2_gC2`", "", @@ -330,7 +330,7 @@ exports.level = { "Veamos un ejemplo breve. Para este árbol de commits:" ], "afterMarkdowns": [ - "El comando `git describe master` mostraría:", + "El comando `git describe main` mostraría:", "", "`v1_2_gC2`", "", @@ -393,7 +393,7 @@ exports.level = { "Veamos un ejemplo breve. Para este árbol de commits:" ], "afterMarkdowns": [ - "El comando `git describe master` mostraría:", + "El comando `git describe main` mostraría:", "", "`v1_2_gC2`", "", @@ -456,7 +456,7 @@ exports.level = { "Vejamos um exemplo rápido. Para a árvore abaixo:" ], "afterMarkdowns": [ - "O comando `git describe master` daria a saída:", + "O comando `git describe main` daria a saída:", "", "`v1_2_gC2`", "", @@ -519,7 +519,7 @@ exports.level = { "Vexamos un exemplo rápido. Para a árbore de abaixo:" ], "afterMarkdowns": [ - "O comando `git describe master` daría a saída:", + "O comando `git describe main` daría a saída:", "", "`v1_2_gC2`", "", @@ -551,9 +551,9 @@ exports.level = { "markdowns": [ "### Git Describe", "", - "Weil Tags so super als \"Anker\" im Repository dienen können bietet Git einen Befehl um zu *beschreiben* wo du dich relativ zum nächsten \"Anker\" (also Tag) befindest. Und der heißt `git describe`.", + "Weil Tags so super als \"Anker\" im Repository dienen können, bietet Git einen Befehl um zu *beschreiben*, wo du dich relativ zum nächsten \"Anker\" (also Tag) befindest. Und der heißt `git describe`.", "", - "Er hilft dir dabei, dir einen Überblick zu verschaffen nachdem du viele Commits im Log zurück- oder vorgegangen bist; das kann vorkommen nachdem du ein `git bisect` (eine Fehlersuche) abgeschlossen hast oder wenn du dich an den Rechner eines Kollegen setzt, der gerade aus dem Urlaub gekommen ist." + "Er hilft dir dabei, dir einen Überblick zu verschaffen nachdem du viele Commits im Log zurück- oder vorgegangen bist; das kann vorkommen, nachdem du ein `git bisect` (eine Fehlersuche) abgeschlossen hast oder wenn du dich an den Rechner eines Kollegen setzt, der gerade aus dem Urlaub gekommen ist." ] } }, @@ -565,7 +565,7 @@ exports.level = { "", "`git describe `", "", - "Dabei ist `` jeder beliebige Name, der einem Commit zugeordnet ist (Branch, Tag etc). Wenn du keinen angibst benutzt Git `HEAD`, also den aktuellen Checkout.", + "Dabei ist `` jeder beliebige Name, der einem Commit zugeordnet ist (Branch, Tag etc). Wenn du keinen angibst, benutzt Git `HEAD`, also den aktuellen Checkout.", "", "Die Befehlsausgabe sieht so aus:", "", @@ -573,7 +573,7 @@ exports.level = { "", "`` ist dabei der nächstliegende Tag in den Vorgänger-Commits, `` zeigt an, wieviele Commits dieses Tag entfernt ist und `` ist das SHA des Commits, auf den HEAD zeigt.", "", - "**Achtung**: `` und `` erscheint nur, wenn HEAD nicht auf ein Tag zeigt. `git describe` verarbeitet standardmässig nur annotierte Tags. Um nicht annotierte tags zu sehen, verwende bitte`git describe --tags`." + "**Achtung**: `` und `` erscheint nur, wenn HEAD nicht auf ein Tag zeigt. `git describe` verarbeitet standardmäßig nur annotierte Tags. Um nicht annotierte Tags zu sehen, verwende bitte `git describe --tags`." ] } }, @@ -584,7 +584,7 @@ exports.level = { "Schauen wir uns das schnell an einem Beispiel an. Für den folgenden Baum:" ], "afterMarkdowns": [ - "Der Befehl `git describe master` würde folgendes ausgeben:", + "Der Befehl `git describe main` würde folgendes ausgeben:", "", "`v1_2_gC2`", "", @@ -647,7 +647,7 @@ exports.level = { "軽い例を見てみましょう。この木においての例は以下のようになります:" ], "afterMarkdowns": [ - "コマンド`git describe master`の結果は以下のようになります:", + "コマンド`git describe main`の結果は以下のようになります:", "", "`v1_2_gC2`", "", @@ -710,7 +710,7 @@ exports.level = { "Посмотрим на простой пример. Для дерева, показанного ниже:" ], "afterMarkdowns": [ - "Команда `git describe master` выведет:", + "Команда `git describe main` выведет:", "", "`v1_2_gC2`", "", @@ -773,7 +773,7 @@ exports.level = { "간단한 예제를 확인해 봅시다. 아래의 트리에서:" ], "afterMarkdowns": [ - "`git describe master` 명령은 다음을 출력합니다:", + "`git describe main` 명령은 다음을 출력합니다:", "", "`v1_2_gC2`", "", @@ -836,7 +836,7 @@ exports.level = { "Розгляньмо короткий приклад. Для дерева нижче:" ], "afterMarkdowns": [ - "Команда `git describe master` виведе:", + "Команда `git describe main` виведе:", "", "`v1_2_gC2`", "", @@ -899,7 +899,7 @@ exports.level = { "Cùng xem nhanh một ví dụ trên cây lịch sử phía dưới:" ], "afterMarkdowns": [ - "Câu lệnh `git describe master` sẽ cho kết quả:", + "Câu lệnh `git describe main` sẽ cho kết quả:", "", "`v1_2_gC2`", "", @@ -962,7 +962,7 @@ exports.level = { "Poglejmo hiter primer. Za drevo spodaj:" ], "afterMarkdowns": [ - "Bi ukaz `git describe master` izpisal:", + "Bi ukaz `git describe main` izpisal:", "", "`v1_2_gC2`", "", diff --git a/src/levels/mixed/grabbingOneCommit.js b/src/levels/mixed/grabbingOneCommit.js index 9a0d5635..7408627c 100644 --- a/src/levels/mixed/grabbingOneCommit.js +++ b/src/levels/mixed/grabbingOneCommit.js @@ -11,7 +11,7 @@ exports.level = { "git revert": true }, "goalTreeString": "%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C4%27%22%2C%22id%22%3A%22master%22%7D%2C%22debug%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22debug%22%7D%2C%22printf%22%3A%7B%22target%22%3A%22C3%22%2C%22id%22%3A%22printf%22%7D%2C%22bugFix%22%3A%7B%22target%22%3A%22C4%27%22%2C%22id%22%3A%22bugFix%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C4%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C4%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D", - "solutionCommand": "git rebase -i master --solution-ordering C4; git rebase bugFix master", + "solutionCommand": "git rebase -i main --solution-ordering C4; git rebase bugFix main", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\"},\"debug\":{\"target\":\"C2\",\"id\":\"debug\"},\"printf\":{\"target\":\"C3\",\"id\":\"printf\"},\"bugFix\":{\"target\":\"C4\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"}},\"HEAD\":{\"target\":\"bugFix\",\"id\":\"HEAD\"}}", "name": { "ko": "딱 한 개의 커밋만 가져오기", @@ -60,7 +60,7 @@ exports.level = { "", "All of these debugging / print statements are in their own commits. Finally I track down the bug, fix it, and rejoice!", "", - "Only problem is that I now need to get my `bugFix` back into the `master` branch. If I simply fast-forwarded `master`, then `master` would get all my debug statements which is undesirable. There has to be another way..." + "Only problem is that I now need to get my `bugFix` back into the `main` branch. If I simply fast-forwarded `main`, then `main` would get all my debug statements which is undesirable. There has to be another way..." ] } }, @@ -81,7 +81,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "This is a later level so we will leave it up to you to decide which command you want to use, but in order to complete the level, make sure `master` receives the commit that `bugFix` references." + "This is a later level so we will leave it up to you to decide which command you want to use, but in order to complete the level, make sure `main` receives the commit that `bugFix` references." ] } } @@ -99,7 +99,7 @@ exports.level = { "", "Tous ces debug se retrouvent dans une branche particulière. Je trouve le bug et le répare, comme toujours !", "", - "Le seul problème c'est que je ne peux pas faire de merge ou rebase, car tous ces commits de debug seront dans le master. Il doit y avoir une autre façon..." + "Le seul problème c'est que je ne peux pas faire de merge ou rebase, car tous ces commits de debug seront dans le main. Il doit y avoir une autre façon..." ] } }, @@ -118,7 +118,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "C'est un niveau avancé, donc à vous de choisir quelle commande utiliser, mais pour réussir ce niveau, assurez-vous que `master` reçoive le même commit que `bugFix` référence." + "C'est un niveau avancé, donc à vous de choisir quelle commande utiliser, mais pour réussir ce niveau, assurez-vous que `main` reçoive le même commit que `bugFix` référence." ] } } @@ -136,7 +136,7 @@ exports.level = { "", "Todas estas cosas de imprimir y debuggear estan en su propia rama. Finalmente encuentro el problema, lo soluciono, ¡y disfruto!", "", - "El único problema es que ahora necesito llevar mi `bugFix` a la rama `master`. Si simplemente fast-forwardeo `master`, entonces `master` va a tener todos mis agregados de debugging, que es indeseado. Tiene que haber otro modo..." + "El único problema es que ahora necesito llevar mi `bugFix` a la rama `main`. Si simplemente fast-forwardeo `main`, entonces `main` va a tener todos mis agregados de debugging, que es indeseado. Tiene que haber otro modo..." ] } }, @@ -157,7 +157,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Este es un nivel más avanzado, así que está en vos decidir cuál de los dos comandos querés usar, pero para completar el nivel asegurate de que `master` recibe el commit que `bugFix` referencia." + "Este es un nivel más avanzado, así que está en vos decidir cuál de los dos comandos querés usar, pero para completar el nivel asegurate de que `main` recibe el commit que `bugFix` referencia." ] } } @@ -175,7 +175,7 @@ exports.level = { "", "Todas estas cosas de imprimir y debuggear estan en su propia rama. Finalmente encuentro el problema, lo soluciono, ¡y disfruto!", "", - "El único problema es que ahora necesito llevar mi `bugFix` a la rama `master`. Si simplemente fast-forwardeo `master`, entonces `master` va a tener todos mis agregados de debugging, lo cual no es deseable. Tiene que haber otro modo..." + "El único problema es que ahora necesito llevar mi `bugFix` a la rama `main`. Si simplemente fast-forwardeo `main`, entonces `main` va a tener todos mis agregados de debugging, lo cual no es deseable. Tiene que haber otro modo..." ] } }, @@ -196,7 +196,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Este es un nivel más avanzado, así que debes decidir cuál de los dos comandos quieres usar, pero para completar el nivel asegurate de que `master` recibe el commit que `bugFix` referencia." + "Este es un nivel más avanzado, así que debes decidir cuál de los dos comandos quieres usar, pero para completar el nivel asegurate de que `main` recibe el commit que `bugFix` referencia." ] } } @@ -214,7 +214,7 @@ exports.level = { "", "Todos esses comandos de debug e mensagens estão em seus próprios ramos. Finalmente eu encontro o bug, corrijo, e me regozijo!", "", - "O único problema é que agora eu preciso devolver o meu `bugFix` ao ramo `master`. Se eu simplesmente der um fast-forward no `master`, então o `master` terminará contendo todos os comandos de debug, o que é indesejável. Deve existir alguma outra forma..." + "O único problema é que agora eu preciso devolver o meu `bugFix` ao ramo `main`. Se eu simplesmente der um fast-forward no `main`, então o `main` terminará contendo todos os comandos de debug, o que é indesejável. Deve existir alguma outra forma..." ] } }, @@ -235,7 +235,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Este é um nível avançado, então vamos deixar para você a decisão de qual comando usar, mas para completar este nível, certifique-se de que o `master` receba o commit referenciado por `bugFix`." + "Este é um nível avançado, então vamos deixar para você a decisão de qual comando usar, mas para completar este nível, certifique-se de que o `main` receba o commit referenciado por `bugFix`." ] } } @@ -253,7 +253,7 @@ exports.level = { "", "¡Todos esos comandos de debug e mensaxes están nas súas ramas propias. Finalmente eu atopo o erro, arránxoo e reorganizo!", "", - "O único problema é que agora eu preciso devolver o meu `bugFix` á rama `master`. Se eu fixera simplemente un fast-forward en `master`, entón o `master` rematará contendo tódolos comandos de debug, o que é indesexable. Debe existir algunha outra forma..." + "O único problema é que agora eu preciso devolver o meu `bugFix` á rama `main`. Se eu fixera simplemente un fast-forward en `main`, entón o `main` rematará contendo tódolos comandos de debug, o que é indesexable. Debe existir algunha outra forma..." ] } }, @@ -274,7 +274,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Este é un nivel avanzado, entón imos deixarche a decisión de qué comando empregar, pero para completar este nivel, asegurate de que a rama `master` colla o commit referenciado por `bugFix`." + "Este é un nivel avanzado, entón imos deixarche a decisión de qué comando empregar, pero para completar este nivel, asegurate de que a rama `main` colla o commit referenciado por `bugFix`." ] } } @@ -288,11 +288,11 @@ exports.level = { "markdowns": [ "## Lokale Commit-Haufen", "", - "Folgende Situation habe ich beim Entwickeln des öfteren: ich bin auf der Suche nach einem Bug, aber er ist echt schwer zu finden. Um ihm auf die Spur zu kommen schreibe ich mehrere Debug-Kommandos und print-Befehle in den Code.", + "Folgende Situation habe ich beim Entwickeln des Öfteren: ich bin auf der Suche nach einem Bug, aber er ist echt schwer zu finden. Um ihm auf die Spur zu kommen schreibe ich mehrere Debug-Kommandos und print-Befehle in den Code.", "", "Die committe ich auch immer wieder, je weiter die Suche mich trägt; natürlich in einem lokalen Branch. Schließlich finde ich den Bug, fixe ihn und freue mich!", "", - "Einziges Problem ist, dass ich diesen `bugFix` jetzt zurück in den `master` kriegen muss. Wenn ich einfach den `master` vorspule oder meinen Branch hinein merge, bekäme der `master` auch die ganzen Debug-Befehle, was nicht gewünscht ist. Das muss anders gehen ..." + "Einziges Problem ist, dass ich diesen `bugFix` jetzt zurück in den `main` kriegen muss. Wenn ich einfach den `main` vorspule oder meinen Branch hinein merge, bekäme der `main` auch die ganzen Debug-Befehle, was nicht gewünscht ist. Das muss anders gehen ..." ] } }, @@ -312,7 +312,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Da dies ein späterer Level ist überlasse ich es dir zu entscheiden, welchen Befehl du benutzen willst. Aber um da Level zu schaffen musst du irgendwie sicherstellen, dass `master` den Commit bekommt, auf den `bugFix` zeigt." + "Da dies ein späterer Level ist überlasse ich es dir zu entscheiden, welchen Befehl du benutzen willst. Aber um das Level zu schaffen musst du irgendwie sicherstellen, dass `main` den Commit bekommt, auf den `bugFix` zeigt." ] } } @@ -331,7 +331,7 @@ exports.level = { "", "これらのデバッグ用のコードはバグ修正用のブランチにコミットされています。そしてついにバグの原因を突き止めて、修正した!やった!", "", - "あとは`bugFix`ブランチを`master`ブランチに統合できればOK。そこで単純に`master`をfast-forwardすればよいかというと、それでは`master`ブランチの中にデバッグ用のコードも混入してしまいます。" + "あとは`bugFix`ブランチを`main`ブランチに統合できればOK。そこで単純に`main`をfast-forwardすればよいかというと、それでは`main`ブランチの中にデバッグ用のコードも混入してしまいます。" ] } }, @@ -354,7 +354,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "後半の章ですのでどう解決するかをもう自分で考えることができると思います。このレベルをクリアするためには、`bugFix`が持っているコミットを`master`ブランチが受け取る必要がある点には注意してください。" + "後半の章ですのでどう解決するかをもう自分で考えることができると思います。このレベルをクリアするためには、`bugFix`が持っているコミットを`main`ブランチが受け取る必要がある点には注意してください。" ] } } @@ -372,7 +372,7 @@ exports.level = { "", "这些调试和打印语句都在它们各自的提交记录里。最后我终于找到了造成这个 Bug 的根本原因,解决掉以后觉得沾沾自喜!", "", - "最后就差把 `bugFix` 分支里的工作合并回 `master` 分支了。你可以选择通过 fast-forward 快速合并到 `master` 分支上,但这样的话 `master` 分支就会包含我这些调试语句了。你肯定不想这样,应该还有更好的方式……" + "最后就差把 `bugFix` 分支里的工作合并回 `main` 分支了。你可以选择通过 fast-forward 快速合并到 `main` 分支上,但这样的话 `main` 分支就会包含我这些调试语句了。你肯定不想这样,应该还有更好的方式……" ] } }, @@ -393,7 +393,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "由于我们刚刚闯过类似的关卡,所以要不要再尝试一次就看你自己了。但是如果你想试一把的话,确保 `master` 分支能得到 `bugFix` 分支上的相关提交。" + "由于我们刚刚闯过类似的关卡,所以要不要再尝试一次就看你自己了。但是如果你想试一把的话,确保 `main` 分支能得到 `bugFix` 分支上的相关提交。" ] } } @@ -411,7 +411,7 @@ exports.level = { "", "所有的這些 debug 的指令都只在 `bugFix` 這個 branch 裡面。最後我終於找到這個 bug,並且 fix 掉它,接著撒花慶祝一下!", "", - "現在唯一的問題就是要把我在 `bugFix` branch 裡面所做的修改 merge 回 `master` branch。我可以簡單地透過 fast-forward 來 merge ,但這樣的話 `master` branch 就會包含這些含有 debug 指令的 commit 了。我相信一定有其它方法..." + "現在唯一的問題就是要把我在 `bugFix` branch 裡面所做的修改 merge 回 `main` branch。我可以簡單地透過 fast-forward 來 merge ,但這樣的話 `main` branch 就會包含這些含有 debug 指令的 commit 了。我相信一定有其它方法..." ] } }, @@ -432,7 +432,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "這一個關卡是比較後面的關卡,你可以隨意決定你要選擇使用哪個指令,但是 `bugFix` 所指向的那個 commit 一定要可以被 `master` branch 包含到。" + "這一個關卡是比較後面的關卡,你可以隨意決定你要選擇使用哪個指令,但是 `bugFix` 所指向的那個 commit 一定要可以被 `main` branch 包含到。" ] } } @@ -450,7 +450,7 @@ exports.level = { "", "디버깅용 코드나 프린트 명령은 그 브랜치에 들어있습니다. 마침내 버그를 찾아서 고쳤고, 원래 작업하는 브랜치에 합치면 됩니다!", "", - "이제 `bugFix`브랜치의 내용을 `master`에 합쳐 넣으려 하지만, 한 가지 문제가 있습니다. 그냥 간단히 `master`브랜치를 최신 커밋으로 이동시킨다면(fast-forward) 그 불필요한 디버그용 코드들도 함께 들어가 버린다는 문제죠." + "이제 `bugFix`브랜치의 내용을 `main`에 합쳐 넣으려 하지만, 한 가지 문제가 있습니다. 그냥 간단히 `main`브랜치를 최신 커밋으로 이동시킨다면(fast-forward) 그 불필요한 디버그용 코드들도 함께 들어가 버린다는 문제죠." ] } }, @@ -473,7 +473,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "이번 레벨을 통과하기 위해 어떤 방법을 쓰시든 자유입니다만, `master`브랜치가 `bugFix` 브랜치의 커밋을 일부 가져오게 해주세요." + "이번 레벨을 통과하기 위해 어떤 방법을 쓰시든 자유입니다만, `main`브랜치가 `bugFix` 브랜치의 커밋을 일부 가져오게 해주세요." ] } } @@ -489,7 +489,7 @@ exports.level = { "", "Каждая отладочная команда (команды) вывода находится в своём коммите. В итоге мы нашли ошибку, исправили её и порадовались!", "", - "Но проблема в том, что мы хотим добавить в `master` только исправление ошибки из ветки `bugFix`. Если мы воспользуемся простым fast-forward, то в `master` попадут также отладочные команды. Должен быть другой способ..." + "Но проблема в том, что мы хотим добавить в `main` только исправление ошибки из ветки `bugFix`. Если мы воспользуемся простым fast-forward, то в `main` попадут также отладочные команды. Должен быть другой способ..." ] } }, @@ -528,7 +528,7 @@ exports.level = { "", "Всі ці команди для відлагодження та виводу данних знаходяться в своїх власних комітах. Врешті-решт я знаходжу баг, фікшу його та щиро радію!", "", - "От тільки лишається проблема, що потрібно мій фікс перенести з `bugFix` назад в гілку `master`. Якщо я просто зроблю фастфорвард (fast-forwarded) в `master`, тоді в `master` потраплять всі мої println'и, що є зайвим. Має бути інший шлях..." + "От тільки лишається проблема, що потрібно мій фікс перенести з `bugFix` назад в гілку `main`. Якщо я просто зроблю фастфорвард (fast-forwarded) в `main`, тоді в `main` потраплять всі мої println'и, що є зайвим. Має бути інший шлях..." ] } }, @@ -549,7 +549,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "На цьому рівні тобі вирішувати якими командами користуватися, але щоб пройти цей рівень, впевнись що в `master` потрапить коміт, на який посилається `bugFix`." + "На цьому рівні тобі вирішувати якими командами користуватися, але щоб пройти цей рівень, впевнись що в `main` потрапить коміт, на який посилається `bugFix`." ] } } @@ -567,7 +567,7 @@ exports.level = { "", "Mấy lệnh gỡ lỗi và in này nằm yên trong commit của chúng. Cuối cùng thì tôi cũng tìm ra lỗi, gỡ xong, ngon rồi!", "", - "Bây giờ thì lại phải đưa `bugFix` trở về nhánh `master`. Nếu mà đơn giản dùng fast-forwarded lên `master`, thì `master` lại có tất cả các lệnh gỡ lỗi kia(chẳng muốn chút nào). Phải có cách khác chứ nhỉ..." + "Bây giờ thì lại phải đưa `bugFix` trở về nhánh `main`. Nếu mà đơn giản dùng fast-forwarded lên `main`, thì `main` lại có tất cả các lệnh gỡ lỗi kia(chẳng muốn chút nào). Phải có cách khác chứ nhỉ..." ] } }, @@ -588,7 +588,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Bây giờ là cấp độ cao hơn rồi nên bạn hãy tự quyết định nên dùng câu lệnh nào, nhưng để hoàn thành được cấp độ, hãy đàm bảo rằng `master` nhận được commit mà `bugFix` tham chiếu tới." + "Bây giờ là cấp độ cao hơn rồi nên bạn hãy tự quyết định nên dùng câu lệnh nào, nhưng để hoàn thành được cấp độ, hãy đàm bảo rằng `main` nhận được commit mà `bugFix` tham chiếu tới." ] } } @@ -606,7 +606,7 @@ exports.level = { "", "Vsi te ukazi za debuggiranje / izpisovanje so v svojih commitih. Končno odkrijem bug, ga popravim in se veselim!", "", - "Edini problem je, da morem sedaj spraviti moj `bugFix` nazaj v `master` branch. Če uporabim samo fast-forward na `masterju`, potem bi `master` vseboval vse moje debug vrstice, česar si ne želim. Mora obstajati še neka druga pot ..." + "Edini problem je, da morem sedaj spraviti moj `bugFix` nazaj v `main` branch. Če uporabim samo fast-forward na `masterju`, potem bi `main` vseboval vse moje debug vrstice, česar si ne želim. Mora obstajati še neka druga pot ..." ] } }, @@ -627,7 +627,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Tebi prepuščam, da se odločiš, kateri ukaz boš uporabil, da končaš stopnjo. Poskrbi samo, da `master` dobi commit na katerega kaže `bugFix` referenca." + "Tebi prepuščam, da se odločiš, kateri ukaz boš uporabil, da končaš stopnjo. Poskrbi samo, da `main` dobi commit na katerega kaže `bugFix` referenca." ] } } diff --git a/src/levels/mixed/jugglingCommits.js b/src/levels/mixed/jugglingCommits.js index b9609221..e1286f80 100644 --- a/src/levels/mixed/jugglingCommits.js +++ b/src/levels/mixed/jugglingCommits.js @@ -15,7 +15,7 @@ exports.level = { ] }, "goalTreeString": "%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C3%27%27%22%2C%22id%22%3A%22master%22%7D%2C%22newImage%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22newImage%22%7D%2C%22caption%22%3A%7B%22target%22%3A%22C3%27%27%22%2C%22id%22%3A%22caption%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%27%22%7D%2C%22C2%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C2%27%22%7D%2C%22C2%27%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C2%27%27%22%7D%2C%22C2%27%27%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%27%27%27%22%7D%2C%22C3%27%27%22%3A%7B%22parents%22%3A%5B%22C2%27%27%27%22%5D%2C%22id%22%3A%22C3%27%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D", - "solutionCommand": "git rebase -i HEAD~2 --solution-ordering C3,C2;git commit --amend;git rebase -i HEAD~2 --solution-ordering C2'',C3';git rebase caption master", + "solutionCommand": "git rebase -i HEAD~2 --solution-ordering C3,C2;git commit --amend;git rebase -i HEAD~2 --solution-ordering C2'',C3';git rebase caption main", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\"},\"newImage\":{\"target\":\"C2\",\"id\":\"newImage\"},\"caption\":{\"target\":\"C3\",\"id\":\"caption\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"caption\",\"id\":\"HEAD\"}}", "name": { "ko": "커밋들 갖고 놀기", @@ -75,12 +75,12 @@ exports.level = { "* We will re-order the commits so the one we want to change is on top with `git rebase -i`", "* We will `git commit --amend` to make the slight modification", "* Then we will re-order the commits back to how they were previously with `git rebase -i`", - "* Finally, we will move master to this updated part of the tree to finish the level (via the method of your choosing)", + "* Finally, we will move main to this updated part of the tree to finish the level (via the method of your choosing)", "", "There are many ways to accomplish this overall goal (I see you eye-ing cherry-pick), and we will see more of them later, but for now let's focus on this technique.", "Lastly, pay attention to the goal state here -- since we move the commits twice, they both get an apostrophe appended. One more apostrophe is added for the commit we amend, which gives us the final form of the tree ", "", - "That being said, I can compare levels now based on structure and relative apostrophe differences. As long as your tree's `master` branch has the same structure and relative apostrophe differences, I'll give full credit." + "That being said, I can compare levels now based on structure and relative apostrophe differences. As long as your tree's `main` branch has the same structure and relative apostrophe differences, I'll give full credit." ] } } @@ -109,13 +109,13 @@ exports.level = { "* Nous allons réordonner les commits pour que celui que nous voulions changer soit sur le dessus `git rebase -i`", "* Nous allons utiliser `git commit --amend` pour faire les petites modifications", "* Nous allons réordonner les commits dans l'ordre original avec `git rebase -i`", - "* Finalement, nous allons déplacer master vers la nouvelle tête de l'arbre (avec la méthode de votre choix)", + "* Finalement, nous allons déplacer main vers la nouvelle tête de l'arbre (avec la méthode de votre choix)", "", "Il y a plusieurs façons d'atteindre ce but (cherry-pick semble très tentant), mais nous allons parler de cherry-pick plus tard, pour le moment concentrez-vous sur cette technique.", "", "Pour terminer, Faites attention au but -- Dû au fait que nous déplaçons les commits 2 fois, ils se retrouvent tous les deux avec une apostrophe. Une deuxième apostrophe est ajoutée sur le commit que nous modifions, ce qui nous donne la forme finale de l'arbre.", "", - "Ceci étant dit, je peux comparer le résultat avec la structure et les différentes apostrophes. Tant que votre arbre `master` a la même structure et les différentes apostrophes le niveau sera considéré réussi." + "Ceci étant dit, je peux comparer le résultat avec la structure et les différentes apostrophes. Tant que votre arbre `main` a la même structure et les différentes apostrophes le niveau sera considéré réussi." ] } }, @@ -144,13 +144,13 @@ exports.level = { "* Vamos a reordenar los commits para que el que queremos cambiar quede arriba de todo con `git rebase -i`", "* Vamos a hacer `git commit --amend` para aplicar la ligera modificación", "* Después vamos a reordenar los commits a como estaban con `git rebase -i`", - "* Finalmente, vamos a mover master a esta parte actualizada de nuestro árbol de commits para terminar el nivel (usando el método que prefieras)", + "* Finalmente, vamos a mover main a esta parte actualizada de nuestro árbol de commits para terminar el nivel (usando el método que prefieras)", "", "Hay varias maneras de lograr este objetivo en general (ya te veo haciéndole ojitos al cherry-pick), y veremos algunos más después, pero por ahora concentrémonos en esta técnica.", "", "Por último, prestá atención al estado final acá -- como movemos los commits dos veces, ambos quedan con un apóstrofe. El commit que corregimos tiene un apóstrofe extra, y así nos queda nuestro árbol final", "", - "Habiendo dicho eso, puedo comparar los niveles basándome ahora en la estructura y las diferencias relativas de apóstrofes. Mientras que tu rama `master` tenga la misma estructura y diferencias relativas de apóstrofes, te voy a dar el puntaje completo." + "Habiendo dicho eso, puedo comparar los niveles basándome ahora en la estructura y las diferencias relativas de apóstrofes. Mientras que tu rama `main` tenga la misma estructura y diferencias relativas de apóstrofes, te voy a dar el puntaje completo." ] } }, @@ -179,13 +179,13 @@ exports.level = { "* Vamos a reordenar los commits para que el que queremos cambiar quede arriba de los demás con `git rebase -i`", "* Vamos a hacer `git commit --amend` para aplicar la ligera modificación", "* Después vamos a reordenar los commits a como estaban con `git rebase -i`", - "* Finalmente, vamos a mover master a esta parte actualizada de nuestro árbol de commits para terminar el nivel (usando el método que prefieras)", + "* Finalmente, vamos a mover main a esta parte actualizada de nuestro árbol de commits para terminar el nivel (usando el método que prefieras)", "", "Hay varias maneras de lograr este objetivo en general (ya te veo haciéndole ojitos al cherry-pick), y veremos algunos más después, pero por ahora concentrémonos en esta técnica.", "", "Por último, presta atención al estado final -- como movemos los commits dos veces, ambos quedan con un apóstrofe. El commit que corregimos tiene un apóstrofe extra, y así nos queda nuestro árbol final", "", - "Habiendo dicho eso, puedo comparar los niveles basándome ahora en la estructura y las diferencias relativas de apóstrofes. Mientras que tu rama `master` tenga la misma estructura y diferencias relativas de apóstrofes, te voy a dar el puntaje completo." + "Habiendo dicho eso, puedo comparar los niveles basándome ahora en la estructura y las diferencias relativas de apóstrofes. Mientras que tu rama `main` tenga la misma estructura y diferencias relativas de apóstrofes, te voy a dar el puntaje completo." ] } }, @@ -214,13 +214,13 @@ exports.level = { "* Reordenaremos os commits de forma que aquele que desejamos esteja no topo, com `git rebase -i`", "* Usaremos o comando `git commit --amend` para fazer uma pequena modificação", "* Vamos, então, reordenar os commits na mesma ordem que estavam anteriormente com `git rebase -i`", - "* Finalmente, moveremos o master para essa parte atualizada da árvore para finalizar o nível (usando o método de sua escolha)", + "* Finalmente, moveremos o main para essa parte atualizada da árvore para finalizar o nível (usando o método de sua escolha)", "", "Há muitas formas de alcançar o objetivo final (eu vejo o cherry-pick passando pela sua mente), e veremos mais delas depois, mas por enquanto foquemos nesta técnica.", "", "Por último, preste atenção no estado do \"objetivo\" aqui -- como nós movemos os commits duas vezes, ambos ficam com um apóstrofo. Um apóstrofo adicional é colocado no commit que sofreu o \"amend\", o que nos dá a forma final da árvore ", "", - "Tendo dito isto, posso avaliar a resposta baseado na estrutura e nas diferenças relativas de número de apóstrofos. Desde que o ramo `master` da sua árvore tenha a mesma estrutura, e o número de apóstrofos seja igual a menos de uma constante, darei a você todos os pontos para esta tarefa." + "Tendo dito isto, posso avaliar a resposta baseado na estrutura e nas diferenças relativas de número de apóstrofos. Desde que o ramo `main` da sua árvore tenha a mesma estrutura, e o número de apóstrofos seja igual a menos de uma constante, darei a você todos os pontos para esta tarefa." ] } }, @@ -249,13 +249,13 @@ exports.level = { "* Reordenaremos os commits seleccionando aqueles que desexamos que estén no cambio, con `git rebase -i`", "* Empregaremos o comando `git commit --amend` para facer unha pequena modificación", "* Imos, entón, reordear os commits na mesma orde na que estaban anteriormente con `git rebase -i`", - "* Finalmente, moveremos o master para esa parte atualizada da árbore e así finalizar o nivel (usando o método que máis che pete)", + "* Finalmente, moveremos o main para esa parte atualizada da árbore e así finalizar o nivel (usando o método que máis che pete)", "", "Hai moitas formas de obter o obxectivo final (eu vexo o cherry-pick pasando pola túa cachola), e verémolo máis adiante, pero agora ímonos centrar nesta técnica.", "", "Por último, preste atención no estado do \"objectivo\" aquí -- como movemos os commits dúas veces, ambos teñen o apóstrofo sumado. O apóstrofo engádese polo commit que nos correximos (amend), o cal danos a forma final da árbore.", "", - "Contado todo esto, a resposta valídase baseándose na estructura e nos diferentes apóstrofes. Cando a rama `master` teña a mesma estructura, e o número de apóstrofos sexa igual, obterás todos os puntos da tarefa." + "Contado todo esto, a resposta valídase baseándose na estructura e nos diferentes apóstrofes. Cando a rama `main` teña a mesma estructura, e o número de apóstrofos sexa igual, obterás todos os puntos da tarefa." ] } }, @@ -281,16 +281,16 @@ exports.level = { "markdowns": [ "Um das zu schaffen gehen wir wie folgt vor:", "", - "* Wir sortieren die Commits mit `git rebase -i` so um, dass der, den wir ändern wollen, ganz oben liegt.", + "* Wir sortieren die Commits mit `git rebase -i` so um, dass der Commit, den wir ändern wollen, ganz oben liegt.", "* Wir verändern den Commit mit `git commit --amend`.", - "* Dann sortieren wir die Commit mit einem erneuten `git rebase -i` wieder in die alte Reihenfolge.", - "* Schließlich aktualisieren wir den `master` auf das Ende unseres fertigen Baums, um diesen Level abzuschließen.", + "* Dann sortieren wir die Commits mit einem erneuten `git rebase -i` wieder in die alte Reihenfolge.", + "* Schließlich aktualisieren wir den `main` auf das Ende unseres fertigen Baums, um diesen Level abzuschließen.", "", "Es gibt sehr viele Wege um das Endziel dieses Levels zu erreichen (ich sehe, du schielst auf `cherry-pick`) und wir werden uns später noch andere ansehen. Aber für's erste lass uns diese Methode ausprobieren.", "", - "Beachte den geschilderten Zielzustand. Da wir die Commits zweimal umsortieren bekommen sie jedesmal ein Apostroph hinzugefügt (weil sie jedesmal kopiert werden). Ein weiteres Apostroph entsteht durch den `git commit --amend`.", + "Beachte den geschilderten Zielzustand. Da wir die Commits zweimal umsortieren, bekommen sie jedes Mal ein Apostroph hinzugefügt (weil sie jedes Mal kopiert werden). Ein weiteres Apostroph entsteht durch den `git commit --amend`.", "", - "Zuguterletzt noch eine Bemerkung: ich kann Level nur auf Struktur und Apostroph-Differenz prüfen. So lange wie dein `master` am Ende dieselbe Struktur und Apostroph-Differenz aufweist wie der Ziel-`master`, ist der Level bestanden." + "Zuguterletzt noch eine Bemerkung: ich kann Level nur auf Struktur und Apostroph-Differenz prüfen. So lange wie dein `main` am Ende dieselbe Struktur und Apostroph-Differenz aufweist wie der Ziel-`main`, ist der Level bestanden." ] } }, @@ -352,12 +352,12 @@ exports.level = { "* 先用 `git rebase -i` 将提交重新排序,然后把我们想要修改的提交记录挪到最前", "* 然后用 `git commit --amend` 来进行一些小修改", "* 接着再用 `git rebase -i` 来将他们调回原来的顺序", - "* 最后我们把 master 移到修改的最前端(用你自己喜欢的方法),就大功告成啦!", + "* 最后我们把 main 移到修改的最前端(用你自己喜欢的方法),就大功告成啦!", "", "当然完成这个任务的方法不止上面提到的一种(我知道你在看 cherry-pick 啦),之后我们会多点关注这些技巧啦,但现在暂时只专注上面这种方法。", "最后有必要说明一下目标状态中的那几个`'` —— 我们把这个提交移动了两次,每移动一次会产生一个 `'`;而 C2 上多出来的那个是我们在使用了 amend 参数提交时产生的,所以最终结果就是这样了。", "", - "也就是说,我在对比结果的时候只会对比提交树的结构,对于 `'` 的数量上的不同,并不纳入对比范围内。只要你的 `master` 分支结构与目标结构相同,我就算你通过。" + "也就是说,我在对比结果的时候只会对比提交树的结构,对于 `'` 的数量上的不同,并不纳入对比范围内。只要你的 `main` 分支结构与目标结构相同,我就算你通过。" ] } } @@ -386,7 +386,7 @@ exports.level = { "* 先用 `git rebase -i` 將 commit 重新排序,然後把我們想要修改的 commit 移到最前面", "* 然後用 `git commit --amend` 來進行一些修改", "* 接著再用 `git rebase -i` 來將他們按照最開始的順序重新排好", - "* 最後我們把 master 移到這個修改的最前端(用你自己喜歡的方法),就大功告成啦!", + "* 最後我們把 main 移到這個修改的最前端(用你自己喜歡的方法),就大功告成啦!", "", "當然還有許多方法可以完成這個任務(我知道你在想 cherry-pick 啦),之後我們會多點關注這些技巧啦,但現在暫時只注意上面這種方法。", "", @@ -419,7 +419,7 @@ exports.level = { "* `git rebase -i` 명령으로 우리가 바꿀 커밋을 가장 최근 순서로 바꾸어 놓습니다", "* `git commit --amend` 명령으로 커밋 내용을 정정합니다", "* 다시 `git rebase -i` 명령으로 이 전의 커밋 순서대로 되돌려 놓습니다", - "* 마지막으로, master를 지금 트리가 변경된 부분으로 이동합니다. (편하신 방법으로 하세요)", + "* 마지막으로, main을 지금 트리가 변경된 부분으로 이동합니다. (편하신 방법으로 하세요)", "", "이 목표를 달성하기 위해서는 많은 방법이 있는데요(체리픽을 고민중이시죠?), 체리픽은 나중에 더 살펴보기로 하고, 우선은 위의 방법으로 해결해보세요.", "", @@ -452,7 +452,7 @@ exports.level = { "* Переставить коммит так, чтобы нужный находился наверху при помощи `git rebase -i`", "* Внести изменения при помощи `git commit --amend`", "* Переставить всё обратно при помощи `git rebase -i`", - "* И наконец, переместить master на изменённую часть дерева, чтобы закончить уровень.", + "* И наконец, переместить main на изменённую часть дерева, чтобы закончить уровень.", "", "Это задание можно выполнить несколькими способами (и, гляжу, ты посматриваешь на cherry-picking), но сейчас сосредоточься на вышеописанном методе.", "", @@ -487,12 +487,12 @@ exports.level = { "* Ми відсортуємо коміти таким чином, щоб той, який ми хочемо змінити, був останнім за допомогою `git rebase -i`", "* Ми виконаємо `git commit --amend` щоб внести невелику правку до останнього коміту", "* Тоді ми відсортуємо коміти в попередньому порядку, за допомогою `git rebase -i`", - "* І на останок, ми пересунемо master на змінену частину дерева щоб закінчити цей рівень(ти можеш вибрати метод)", + "* І на останок, ми пересунемо main на змінену частину дерева щоб закінчити цей рівень(ти можеш вибрати метод)", "", "Насправді є кілька способів як виконати поставлену задачу (Я бачу, ти поглядаєш на cherry-pick), і ми розберемося з ними всіма трохи пізніше, але зараз скористаймося саме цим методом.", "Зверни увагу на фінальний стан в цьому рівні -- позаяк ми перемістили коміти двічі, кожен з них отримає по апострофу. Ще один апостроф додасться коли ми виконаємо commit --amend.", "", - "Враховуючи сказане вище, я буду порівнювати дерево як за назвою коміта, так і за кількістю апострофів. Щойно дерево цілей та master співпадуть, ти пройдеш цей рівень." + "Враховуючи сказане вище, я буду порівнювати дерево як за назвою коміта, так і за кількістю апострофів. Щойно дерево цілей та main співпадуть, ти пройдеш цей рівень." ] } } @@ -521,12 +521,12 @@ exports.level = { "* Ta sẽ dùng `git rebase -i` sắp xếp lại commit để cái ta cần sửa sẽ nằm trên cùng", "* Ta sẽ dùng `git commit --amend` tạo ra một điều chỉnh nhỏ", "* Sau đó ta sẽ lại sắp xếp lại commit như trước bằng cách dùng `git rebase -i`", - "* Cuối cùng, ta sẽ chuyển `master` tới phần đã cập nhật để hoàn thành cấp độ (dùng cách nào tùy bạn)", + "* Cuối cùng, ta sẽ chuyển `main` tới phần đã cập nhật để hoàn thành cấp độ (dùng cách nào tùy bạn)", "", "Có nhiều cách để hoàn thành mục tiêu (Tôi thấy bạn hấp háy sang cherry-pick rồi đấy), rồi ta sẽ thấy chúng nhiều hơn, nhưng giờ hãy cứ tập trung vào kỹ thuật này đã.", "Sau cùng thì, để ý các dấu nháy đơn(') chứ?-- vì ta đã chuyển commit 2 lần, nên chúng có thêm một dấu nháy đơn. Và một dấu nữa cho commit mà ta đã sửa đổi, thế là ta có trạng thái cuối cùng của cây lịch sử ", "", - "Nói cách khác, khi tôi so sánh kết quả, tôi chỉ so sánh cấu trúc của cây lịch sử. Sự khác biệt về số lượng `'` không được bao gồm trong so sánh. Miễn là cấu trúc nhánh `master` của bạn giống với cấu trúc đích, tôi sẽ vẫn để bạn qua bài." + "Nói cách khác, khi tôi so sánh kết quả, tôi chỉ so sánh cấu trúc của cây lịch sử. Sự khác biệt về số lượng `'` không được bao gồm trong so sánh. Miễn là cấu trúc nhánh `main` của bạn giống với cấu trúc đích, tôi sẽ vẫn để bạn qua bài." ] } } @@ -555,12 +555,12 @@ exports.level = { "* Preuredili bomo commite tako, da bo tisti, ki ga želimo spremeniti, na vrhu z `git rebase -i`", "* Izvedli bomo `git commit --amend`, da naredimo naš popravek", "* Nato bomo preuredili commite nazaj v začetno stanje z `git rebase -i`", - "* Za konec bomo premaknili master na ta posodobljen del drevesa, da zaključimo stopnjo (z metodo po tvoji izbiri)", + "* Za konec bomo premaknili main na ta posodobljen del drevesa, da zaključimo stopnjo (z metodo po tvoji izbiri)", "", "Obstaja več načinov, da dosežemo ta cilj (vidim te kako gledaš cherry-pick) s katerimi se bomo ukvarjali kasneje, ampak za zdaj se osredotočimo na to tehniko.", "In nenazadnje, bodi pozoren na ciljno stanje -- ker premaknemo commit dvakrat, oba dobita pripet opuščaj zgoraj. Še eden je dodan za ammendan commit, torej skupno tri.", "", - "Sedaj lahko primerjam stopnje po strukturi in relativni spremembi opuščajev. Dokler ima `master` branch na tvojem drevesu enako strukturo in število opuščajev, dobiš vse točke." + "Sedaj lahko primerjam stopnje po strukturi in relativni spremembi opuščajev. Dokler ima `main` branch na tvojem drevesu enako strukturo in število opuščajev, dobiš vse točke." ] } } diff --git a/src/levels/mixed/jugglingCommits2.js b/src/levels/mixed/jugglingCommits2.js index 95e657e9..0f20a3da 100644 --- a/src/levels/mixed/jugglingCommits2.js +++ b/src/levels/mixed/jugglingCommits2.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22master%22%7D%2C%22newImage%22%3A%7B%22target%22%3A%22C2%22%2C%22id%22%3A%22newImage%22%7D%2C%22caption%22%3A%7B%22target%22%3A%22C3%22%2C%22id%22%3A%22caption%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C2%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%27%22%7D%2C%22C2%27%27%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%27%27%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%27%27%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D", - "solutionCommand": "git checkout master;git cherry-pick C2;git commit --amend;git cherry-pick C3", + "solutionCommand": "git checkout main;git cherry-pick C2;git commit --amend;git cherry-pick C3", "disabledMap": { "git revert": true }, @@ -34,21 +34,21 @@ exports.level = { "sl_SI": "Žongliranje s Commiti #2" }, "hint": { - "en_US": "Don't forget to forward master to the updated changes!", - "fr_FR": "N'oubliez pas d'appliquer les changements depuis la branche master", - "es_AR": "¡No te olvides de avanzar master a los cambios actualizados!", - "es_ES": "¡No te olvides de avanzar master a los cambios actualizados!", - "pt_BR": "Não se esqueça de avançar a referência do master para as mudanças efetuadas!", - "gl" : "¡Non te esquezas de avanzar master ós cambios actualizados!", - "de_DE": "Vergiss nicht den master auf die aktuelle Version vorzuspulen", + "en_US": "Don't forget to forward main to the updated changes!", + "fr_FR": "N'oubliez pas d'appliquer les changements depuis la branche main", + "es_AR": "¡No te olvides de avanzar main a los cambios actualizados!", + "es_ES": "¡No te olvides de avanzar main a los cambios actualizados!", + "pt_BR": "Não se esqueça de avançar a referência do main para as mudanças efetuadas!", + "gl" : "¡Non te esquezas de avanzar main ós cambios actualizados!", + "de_DE": "Vergiss nicht den main auf die aktuelle Version vorzuspulen", "ja": "masterのポインタを先に進めることを忘れずに!", - "ko": "master를 변경 완료한 커밋으로 이동(forward)시키는 것을 잊지 마세요!", - "zh_CN": "别忘记了将 master 快进到最新的更新上!", - "zh_TW": "別忘記了將 master 推到最新的 commit 上面!", - "ru_RU": "Не забудь переместить master на последние изменения.", - "uk": "Не забудь перемістити master на останні зміни!", - "vi": "Đừng quên đẩy nhánh master lên cập nhật mới nhất!", - "sl_SI": "Ne pozabi prestaviti master naprej na posodobljene spremembe." + "ko": "main을 변경 완료한 커밋으로 이동(forward)시키는 것을 잊지 마세요!", + "zh_CN": "别忘记了将 main 快进到最新的更新上!", + "zh_TW": "別忘記了將 main 推到最新的 commit 上面!", + "ru_RU": "Не забудь переместить main на последние изменения.", + "uk": "Не забудь перемістити main на останні зміни!", + "vi": "Đừng quên đẩy nhánh main lên cập nhật mới nhất!", + "sl_SI": "Ne pozabi prestaviti main naprej na posodobljene spremembe." }, "startDialog": { "en_US": { @@ -79,7 +79,7 @@ exports.level = { "Nice! Let's move on." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -122,7 +122,7 @@ exports.level = { "Bien ! continuons." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -165,7 +165,7 @@ exports.level = { "¡Bien! Sigamos..." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -208,7 +208,7 @@ exports.level = { "¡Bien! Sigamos..." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -251,7 +251,7 @@ exports.level = { "Ótimo! Vamos em frente." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -294,7 +294,7 @@ exports.level = { "¡A tope! Seguimos." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -319,7 +319,7 @@ exports.level = { "", "Du solltest \"Jonglieren mit Commits\" (den vorherigen Level) bestanden haben, bevor du dich an diesem hier versuchst.", "", - "Wie du im letzten Level gesehen hast haben wir `git rebase -i` genutzt, um die Commits neu anzuordnen. Sobald der Commit, den wir ändern wollte, ganz oben war, konnten wir das auch einfach mit `git commit --amend` tun. Danach haben wir die alte Reihenfolge wiederhergestellt.", + "Wie du im letzten Level gesehen hast, haben wir `git rebase -i` genutzt, um die Commits neu anzuordnen. Sobald der Commit, den wir ändern wollten, ganz oben war, konnten wir ihn einfach mit `git commit --amend` anpassen. Danach haben wir die alte Reihenfolge wiederhergestellt.", "", "Das einzige Problem ist hier, dass da eine Menge Umsortieren stattfindet, was zu Rebase-Konflikten führen kann. Schauen wir uns also eine Methode mit `git cherry-pick` an." ] @@ -329,7 +329,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Wie du dich erinnerst macht `git cherry-pick` eine Kopie des angegebenen Commits und fügt sie an `HEAD` an (es sei denn der Commit ist ein Vorgänger von `HEAD`).", + "Wie du dich erinnerst, macht `git cherry-pick` eine Kopie des angegebenen Commits und fügt sie an `HEAD` an (es sei denn der Commit ist ein Vorgänger von `HEAD`).", "", "Hier eine kleine Demo zur Erinnerung:" ], @@ -337,7 +337,7 @@ exports.level = { "Schick! Und weiter geht's." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -380,7 +380,7 @@ exports.level = { "できました!次へ進みましょう" ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -421,7 +421,7 @@ exports.level = { "afterMarkdowns": [ "看到了吧?我们继续" ], - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -464,7 +464,7 @@ exports.level = { "afterMarkdowns": [ "太棒了,我們繼續吧!" ], - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -505,7 +505,7 @@ exports.level = { "좋아요! 계속할게요" ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -546,7 +546,7 @@ exports.level = { "Ок! Едем дальше!" ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -589,7 +589,7 @@ exports.level = { "Добре! Продовжуємо" ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -632,7 +632,7 @@ exports.level = { "Hay! Tiếp tục nào" ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { @@ -675,7 +675,7 @@ exports.level = { "Odlično! Nadaljujmo ..." ], "command": "git cherry-pick C2", - "beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit" + "beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit" } }, { diff --git a/src/levels/mixed/tags.js b/src/levels/mixed/tags.js index 7511a934..9415642f 100644 --- a/src/levels/mixed/tags.js +++ b/src/levels/mixed/tags.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C5\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C3\",\"id\":\"side\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C1\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C2\",\"C4\"],\"id\":\"C5\"}},\"tags\":{\"v1\":{\"target\":\"C2\",\"id\":\"v1\",\"type\":\"tag\"},\"v0\":{\"target\":\"C1\",\"id\":\"v0\",\"type\":\"tag\"}},\"HEAD\":{\"target\":\"C2\",\"id\":\"HEAD\"}}", - "solutionCommand": "git tag v1 side~1;git tag v0 master~2;git checkout v1", + "solutionCommand": "git tag v1 side~1;git tag v0 main~2;git checkout v1", "startTree": "{\"branches\":{\"master\":{\"target\":\"C5\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C3\",\"id\":\"side\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C1\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C2\",\"C4\"],\"id\":\"C5\"}},\"tags\":{},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}", "name": { "en_US": "Git Tags", @@ -461,7 +461,7 @@ exports.level = { "markdowns": [ "## Git Tags", "", - "Wie du aus den vorhergehenden Levels weißt sind Branches einfach durch die Gegend zu schieben und zeigen auf verschiedene Commits, während die Arbeit in ihnen fortschreitet. Ein Branch wird oft verändert, manchmal nur temporär, und ist ständig in Bewegung.", + "Wie du aus den vorhergehenden Levels weißt, sind Branches einfach durch die Gegend zu schieben und zeigen auf verschiedene Commits, während die Arbeit in ihnen fortschreitet. Ein Branch wird oft verändert, manchmal nur temporär, und ist ständig in Bewegung.", "", "Da das so ist fragst du dich vielleicht, ob es nicht eine Möglichkeit gibt, eine bestimmte Stelle in deiner Projekt-History *permanent* zu kennzeichnen. Kann man nicht zum Beispiel für große Releases und Meilensteine nicht einen Commit mit etwas festerem kennzeichnen, als mit einem Branch-Namen?", "" @@ -487,7 +487,7 @@ exports.level = { "Lass uns ein Tag bei `C1` anlegen und damit die Version 1 unseres Prototyps markieren." ], "afterMarkdowns": [ - "Peng! Ziemlich einfach. Wir haben das Tag `v1` genannt und lassen es auf `C1` zeigen. Wenn du den Commit weglässt wird das Tag für den Commit erzeugt, auf den `HEAD` zeigt." + "Peng! Ziemlich einfach. Wir haben das Tag `v1` genannt und lassen es auf `C1` zeigen. Wenn du den Commit weglässt, wird das Tag für den Commit erzeugt, auf den `HEAD` zeigt." ], "command": "git tag v1 C1", "beforeCommand": "git commit" @@ -499,7 +499,7 @@ exports.level = { "markdowns": [ "Um diesen Level zu schaffen, erstelle einfach die Tags wie sie in der Zielbeschreibung stehen und mach dann einen Checkout auf `v1`. Beachte wie du dabei in den \"Detached HEAD\" Zustand gehst -- das liegt daran, dass du keine Commits direkt auf das `v1` Tag machen kannst.", "", - "Im nächsten Level schauen wir uns dann interessantere Anwendungsfälle für Tags an." + "Im nächsten Level schauen wir uns dann einen interessanteren Anwendungsfall für Tags an." ] } } diff --git a/src/levels/rampup/cherryPick.js b/src/levels/rampup/cherryPick.js index 527a76ce..0c9d9470 100644 --- a/src/levels/rampup/cherryPick.js +++ b/src/levels/rampup/cherryPick.js @@ -78,20 +78,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Here's a repository where we have some work in branch `side` that we want to copy to `master`. This could be accomplished through a rebase (which we have already learned), but let's see how cherry-pick performs." + "Here's a repository where we have some work in branch `side` that we want to copy to `main`. This could be accomplished through a rebase (which we have already learned), but let's see how cherry-pick performs." ], "afterMarkdowns": [ "That's it! We wanted commits `C2` and `C4` and git plopped them down right below us. Simple as that!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "To complete this level, simply copy some work from the three branches shown into master. You can see which commits we want by looking at the goal visualization.", + "To complete this level, simply copy some work from the three branches shown into main. You can see which commits we want by looking at the goal visualization.", "" ] } @@ -135,20 +135,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Ici le dépôt que nous avons contient du travail dans la branche `side`, que nous voulons copier dans `master`. Cela pourrait être fait avec un rebase (que nous avons déjà appris), mais voyons comment cherry-pick fonctionne." + "Ici le dépôt que nous avons contient du travail dans la branche `side`, que nous voulons copier dans `main`. Cela pourrait être fait avec un rebase (que nous avons déjà appris), mais voyons comment cherry-pick fonctionne." ], "afterMarkdowns": [ "Voilà ! Nous voulions les commits `C2` et `C4` et git les a fait apparaître juste sous nos jambes. Aussi simple que ça !" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Pour finir ce niveau, copiez simplement le travail désigné dans la branche master. Vous pouvez voir les commits que nous souhaitons avoir en regardant dans la fenêtre d'objectif.", + "Pour finir ce niveau, copiez simplement le travail désigné dans la branche main. Vous pouvez voir les commits que nous souhaitons avoir en regardant dans la fenêtre d'objectif.", "" ] } @@ -192,20 +192,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Acá tenemos un repositorio con algo de trabajo en la rama `side` que queremos copiar a `master`. Podríamos lograrlo con un rebase (y ya aprendimos cómo), pero veamos cómo se comporta cherry-pick." + "Acá tenemos un repositorio con algo de trabajo en la rama `side` que queremos copiar a `main`. Podríamos lograrlo con un rebase (y ya aprendimos cómo), pero veamos cómo se comporta cherry-pick." ], "afterMarkdowns": [ "¡Eso es todo! Queríamos los commits `C2` y `C4` y git los aplicó justo donde estábamos. ¡Tan simple como eso!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nivel, simplemente copiá algo de trabajo desde otras tres ramas a master. Podés ver qué commits queremos en la visualización del objetivo.", + "Para completar este nivel, simplemente copiá algo de trabajo desde otras tres ramas a main. Podés ver qué commits queremos en la visualización del objetivo.", "" ] } @@ -249,20 +249,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "A continuación tenemos un repositorio con algo de trabajo en la rama `side` que queremos copiar a `master`. Podríamos lograrlo con un rebase (y ya aprendimos cómo), pero veamos cómo se comporta cherry-pick." + "A continuación tenemos un repositorio con algo de trabajo en la rama `side` que queremos copiar a `main`. Podríamos lograrlo con un rebase (y ya aprendimos cómo), pero veamos cómo se comporta cherry-pick." ], "afterMarkdowns": [ "¡Eso es todo! Queríamos los commits `C2` y `C4` y git los aplicó justo donde estábamos. ¡Tan simple como eso!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nivel, simplemente copia algo de trabajo desde otras tres ramas a master. Puedes ver qué commits queremos en la visualización del objetivo.", + "Para completar este nivel, simplemente copia algo de trabajo desde otras tres ramas a main. Puedes ver qué commits queremos en la visualización del objetivo.", "" ] } @@ -306,20 +306,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Aqui está um repositório onde temos algum trabalho no ramo `side` que desejamos copiar para o `master`. Isso poderia ser obtido por meio de um rebase (que já aprendemos), mas vamos ver como o cherry-pick se sai." + "Aqui está um repositório onde temos algum trabalho no ramo `side` que desejamos copiar para o `main`. Isso poderia ser obtido por meio de um rebase (que já aprendemos), mas vamos ver como o cherry-pick se sai." ], "afterMarkdowns": [ "É isso! Queríamos os commits `C2` e `C4` e o git os inseriu logo abaixo de nós. Simples assim!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nível, simplesmente copie algum trabalho dos outros três ramos para o master. Você pode ver quais commits queremos copiar na visualização do objetivo.", + "Para completar este nível, simplesmente copie algum trabalho dos outros três ramos para o main. Você pode ver quais commits queremos copiar na visualização do objetivo.", "" ] } @@ -363,20 +363,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Aquí está un repositorio onde hai algún traballo na rama `side` que desexamos copiar para a rama `master`. Iso podería ser obtido por medio dun rebase (que xa aprendemos), pero imos ver como o resolve cherry-pick." + "Aquí está un repositorio onde hai algún traballo na rama `side` que desexamos copiar para a rama `main`. Iso podería ser obtido por medio dun rebase (que xa aprendemos), pero imos ver como o resolve cherry-pick." ], "afterMarkdowns": [ "¡Eso é! Queríamos os commits `C2` e `C4` e git insertounos por baixo de nós. ¡Moi sinxelo!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nivel, copia algo de traballo das outras ramas na master. Podes ver qué commits queremos copiar na visualización do obxectivo.", + "Para completar este nivel, copia algo de traballo das outras ramas na main. Podes ver qué commits queremos copiar na visualización do obxectivo.", "" ] } @@ -420,20 +420,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "這裡有一個 repo,在 `side` branch 中,我們有一些 commit 想要複製到 `master` branch 上,這可以透過一個 rebase 來完成(我們之前已經學到了),但是讓我們看看 `git cherry-pick` 怎麼做。" + "這裡有一個 repo,在 `side` branch 中,我們有一些 commit 想要複製到 `main` branch 上,這可以透過一個 rebase 來完成(我們之前已經學到了),但是讓我們看看 `git cherry-pick` 怎麼做。" ], "afterMarkdowns": [ "就是那樣!我們複製了 `C2` 以及 `C4` 並且把它們放到我們的後面,很簡單吧!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "要完成這個關卡,只需要從三個 branch 複製幾個 commit 到 `master` 下面,你可以從視覺化的目標看到我們需要哪些 commit。", + "要完成這個關卡,只需要從三個 branch 複製幾個 commit 到 `main` 下面,你可以從視覺化的目標看到我們需要哪些 commit。", "" ] } @@ -476,20 +476,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "这里有一个仓库, 我们想将 `side` 分支上的工作复制到 `master` 分支,你立刻想到了之前学过的 `rebase` 了吧?但是咱们还是看看 `cherry-pick` 有什么本领吧。" + "这里有一个仓库, 我们想将 `side` 分支上的工作复制到 `main` 分支,你立刻想到了之前学过的 `rebase` 了吧?但是咱们还是看看 `cherry-pick` 有什么本领吧。" ], "afterMarkdowns": [ "这就是了!我们只需要提交记录 `C2` 和 `C4`,所以 Git 就将被它们抓过来放到当前分支下了。 就是这么简单!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "要通过此关, 只需要简单的将三个分支中的提交记录复制到 master 上就可以了。目标窗口展示了我们想要哪些提交记录,如果你不小心关掉了的话,通过 `show goal` 命令可以打开,左上角也有“显示目标按钮”", + "要通过此关, 只需要简单的将三个分支中的提交记录复制到 main 上就可以了。目标窗口展示了我们想要哪些提交记录,如果你不小心关掉了的话,通过 `show goal` 命令可以打开,左上角也有“显示目标按钮”", "" ] } @@ -504,7 +504,7 @@ exports.level = { "markdowns": [ "## Inhalte verschieben", "", - "Bis jetzt haben wir uns die Grundlagen von Git angeschaut -- comitten, verzweigen und sich im Commit-Baum bewegen. Nur damit lässt sich schon 90% der Macht von Git-Repositories nutzen und die meisten Anforderungen von Entwicklern erfüllen.", + "Bis jetzt haben wir uns die Grundlagen von Git angeschaut -- comitten, verzweigen und sich im Commit-Baum bewegen. Nur damit lässt sich schon 90% der Macht von Git-Repositorys nutzen und die meisten Anforderungen von Entwicklern erfüllen.", "", "Die übrigen 10% jedoch können in komplexeren Abläufen sehr hilfreich sein (oder wenn man sich in eine schwierige Lage manövriert hat). Das nächste was wir uns anschauen, ist, Inhalte durch den Commit-Baum zu schieben. Es gibt dem Entwickler die Möglichkeit in präziser, eloquenter Manier zu sagen \"Ich will diese Inhalte hier und diese dort haben\".", "", @@ -522,7 +522,7 @@ exports.level = { "", "* `git cherry-pick <...>`", "", - "Er ist eine einfache Möglichkeit um auszudrücken, dass du eine Folge von Commits unter deinen aktuellen Checkout (also `HEAD`) hängen möchtest. Ich persönlich liebe `cherry-pick`, weil es wenig Magic enthält und einfach zu verstehen ist.", + "Er ist eine einfache Möglichkeit um auszudrücken, dass du eine Folge von Commits unter deinen aktuellen Checkout (also `HEAD`) hängen möchtest. Ich persönlich liebe `cherry-pick`, weil es wenig Magie enthält und einfach zu verstehen ist.", "", "Schauen wir's uns mal an.", "" @@ -533,20 +533,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Hier haben wir ein Repository mit einigem Zeugs im Branch `side`, das wir in den Branch `master` kopieren wollen. Das könnten wir mit einem Rebase machen (wie bereits gesehen), aber schauen wir mal wie das mit `cherry-pick` geht." + "Hier haben wir ein Repository mit einigem Zeugs im Branch `side`, das wir in den Branch `main` kopieren wollen. Das könnten wir mit einem Rebase machen (wie bereits gesehen), aber schauen wir mal, wie das mit `cherry-pick` geht." ], "afterMarkdowns": [ - "Das war's! Wir wollten die commits `C2` und `C4` und Git hat die einfach unter unseren aktuellen Checkout kopiert. So einfach ist das." + "Das war's! Wir wollten die Commits `C2` und `C4` und Git hat die einfach unter unseren aktuellen Checkout kopiert. So einfach ist das." ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Um diesen Level zu schaffen musst du einfach nur einige Commits aus den drei gezeigten Branches in den `master` kopieren. Der Zielbaum zeigt dir, welche.", + "Um diesen Level zu schaffen musst du einfach nur einige Commits aus den drei gezeigten Branches in den `main` kopieren. Der Zielbaum zeigt dir, welche.", "" ] } @@ -590,13 +590,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "このリポジトリには、現在`side`ブランチから`master`にコピーしたいコードがあります。この前に学んだrebaseコマンドでも実現可能ですが、ここではcherry-pickの動作を見ていきましょう。" + "このリポジトリには、現在`side`ブランチから`main`にコピーしたいコードがあります。この前に学んだrebaseコマンドでも実現可能ですが、ここではcherry-pickの動作を見ていきましょう。" ], "afterMarkdowns": [ "これだけで終わりです!コミット`C2` と `C4`を取得したかったわけですが、gitが現在の位置の直下に落としてくれました。単純ですね!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { @@ -647,13 +647,13 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Вот репозиторий, где есть некие изменения в ветке `side`, которые мы хотим применить и в ветку `master`. Мы можем сделать это при помощи команды rebase, которую мы уже прошли, но давай посмотрим, как cherry-pick справится с этой задачей." + "Вот репозиторий, где есть некие изменения в ветке `side`, которые мы хотим применить и в ветку `main`. Мы можем сделать это при помощи команды rebase, которую мы уже прошли, но давай посмотрим, как cherry-pick справится с этой задачей." ], "afterMarkdowns": [ "Вуаля! Мы хотели перенести коммиты `C2` и `C4`, Git дал нам их там, где они нужны. Всё просто!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { @@ -704,20 +704,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "여기 repository가 있습니다. `master`와 master로 복사하고 싶은 작업이 있는 브랜치 `side`가 있습니다. 이것은 rebase를 통해서 할 수 있습니다(이미 배운), 하지만 체리-픽이 이 작업을 어떻게 수행하는지 확인해 봅시다." + "여기 repository가 있습니다. `main` 으로 복사하고 싶은 작업이 있는 브랜치 `side`가 있습니다. 이것은 rebase를 통해서 할 수 있습니다(이미 배운), 하지만 체리-픽이 이 작업을 어떻게 수행하는지 확인해 봅시다." ], "afterMarkdowns": [ "됬습니다! 우리는 `C2`와 `C4` 커밋을 원했고 git이 우리가 원하는 곳 바로 밑에 톡 떨어뜨려 줬습니다. 아주 간단하죠!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "이 레벨을 통과하기 위해서는 몇개의 작업을 세개의 브랜치들에서 master로 복사해와야합니다. 어떤 커밋들이 필요한지는 goal을 보고 확인하면 됩니다.", + "이 레벨을 통과하기 위해서는 몇개의 작업을 세개의 브랜치들에서 `main` 브랜치로 복사해와야합니다. 어떤 커밋들이 필요한지는 goal을 보고 확인하면 됩니다.", "" ] } @@ -761,20 +761,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Ми бачимо репозиторій де є певні зміни в гілці `side` які ми хочемо скопіювати в `master`. Для цього можна використати rebase (який ми вже вивчили), але подивимось як з цим впорається cherry-pick." + "Ми бачимо репозиторій де є певні зміни в гілці `side` які ми хочемо скопіювати в `main`. Для цього можна використати rebase (який ми вже вивчили), але подивимось як з цим впорається cherry-pick." ], "afterMarkdowns": [ "Овва! Ми хотіли коміти `C2` та `C4` і git додав їх до поточного розташування. Просто й доступно!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Щоб пройти це рівень, просто скопіюй якісь зміни з трьох гілок показаних на діаграмі в master. В візуалізації видно які коміти потрібно скопіювати.", + "Щоб пройти це рівень, просто скопіюй якісь зміни з трьох гілок показаних на діаграмі в main. В візуалізації видно які коміти потрібно скопіювати.", "" ] } @@ -818,20 +818,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Ở đây ta có một kho chứa mà ta muốn sao chép thành quả công việc từ nhánh `side` sang nhánh `master`. Có thể dùng rebase để làm việc này (kỹ thuật mà ta đã học), nhưng hãy xem thử cherry-pick làm điều này ra sao." + "Ở đây ta có một kho chứa mà ta muốn sao chép thành quả công việc từ nhánh `side` sang nhánh `main`. Có thể dùng rebase để làm việc này (kỹ thuật mà ta đã học), nhưng hãy xem thử cherry-pick làm điều này ra sao." ], "afterMarkdowns": [ "Thế thôi! Chúng ta chỉ cần các commit `C2` và` C4`, vì vậy Git sẽ lấy chúng và đặt chúng dưới nhánh hiện tại. Thật đơn giản!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Để hoàn thành cấp độ này, hãy copy thành quả công việc từ 3 nhánh khác vào master. Bạn có thể nhìn vào mô tả mục tiêu để biết chúng ta cần những commit nào.", + "Để hoàn thành cấp độ này, hãy copy thành quả công việc từ 3 nhánh khác vào main. Bạn có thể nhìn vào mô tả mục tiêu để biết chúng ta cần những commit nào.", "" ] } @@ -875,20 +875,20 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Tu je repozitorij, kjer imamo nekaj dela na branchu `side`, ki bi ga radi skopirali na `master`. To bi lahko dosegli z rebase-om (kar smo se že naučili), ampak poglejmo kako se odreže cherry-pick." + "Tu je repozitorij, kjer imamo nekaj dela na branchu `side`, ki bi ga radi skopirali na `main`. To bi lahko dosegli z rebase-om (kar smo se že naučili), ampak poglejmo kako se odreže cherry-pick." ], "afterMarkdowns": [ "To je to! Želeli smo commita `C2` in `C4` in git ju je prilimal točno pod nas. Preprosto!" ], "command": "git cherry-pick C2 C4", - "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;" + "beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;" } }, { "type": "ModalAlert", "options": { "markdowns": [ - "Za končanje te stopnje enostavno skopiraj nekaj dela iz predstavljenih treh branchev v master. V priloženi vizualizaciji lahko vidiš katere commite.", + "Za končanje te stopnje enostavno skopiraj nekaj dela iz predstavljenih treh branchev v main. V priloženi vizualizaciji lahko vidiš katere commite.", "" ] } diff --git a/src/levels/rampup/detachedHead.js b/src/levels/rampup/detachedHead.js index 7373bae0..d001b03b 100644 --- a/src/levels/rampup/detachedHead.js +++ b/src/levels/rampup/detachedHead.js @@ -17,7 +17,8 @@ exports.level = { "ko" : "HEAD 분리하기", "uk": "Втрачаємо голову чи detached HEAD", 'vi': "Tháo đầu cái nào", - "sl_SI": "Ločevanje tvoje glave - HEAD-a" + "sl_SI": "Ločevanje tvoje glave - HEAD-a", + "pl" : "Odczep swój HEAD" }, "hint": { "en_US": "Use the label (hash) on the commit for help!", @@ -34,7 +35,8 @@ exports.level = { "ko" : "커밋에 있는 라벨(hash)을 활용하세요!", "uk": "Орієнтуйся по індентифікаторам (hash) комітів.", "vi": "Dùng mã băm (hash) của commit để hoàn thành!", - "sl_SI": "Uporabi oznako (hash) commita za pomoč!" + "sl_SI": "Uporabi oznako (hash) commita za pomoč!", + "pl": "Wpisz (hash) w wiadomości commita aby uzyskać pomoc!", }, "startDialog": { "en_US": { @@ -77,9 +79,9 @@ exports.level = { "Let's see this in action. Here we will reveal HEAD before and after a commit." ], "afterMarkdowns": [ - "See! HEAD was hiding underneath our `master` branch all along." + "See! HEAD was hiding underneath our `main` branch all along." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -91,7 +93,7 @@ exports.level = { "", "Detaching HEAD just means attaching it to a commit instead of a branch. This is what it looks like beforehand:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -155,9 +157,9 @@ exports.level = { "Veámoslo en acción. Acá vamos a ver a HEAD antes y después de un commit." ], "afterMarkdowns": [ - "¡Ves! HEAD estuvo oculta bajo nuestra rama `master` todo este tiempo." + "¡Ves! HEAD estuvo oculta bajo nuestra rama `main` todo este tiempo." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -169,7 +171,7 @@ exports.level = { "", "Detachear (_des-adjuntar_) HEAD simplemente significa adjuntarla a un commit en lugar de a un branch. Así es como se ve de antemano:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -233,9 +235,9 @@ exports.level = { "Veámoslo en acción. A continuación vamos a ver a HEAD antes y después de un commit." ], "afterMarkdowns": [ - "¡Ves! HEAD estuvo oculta bajo nuestra rama `master` todo este tiempo." + "¡Ves! HEAD estuvo oculta bajo nuestra rama `main` todo este tiempo." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -247,7 +249,7 @@ exports.level = { "", "Detachear (_des-adjuntar_) HEAD simplemente significa adjuntarla a un commit en lugar de a un branch. Así es como se ve de antemano:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -311,9 +313,9 @@ exports.level = { "Vejamos isto em ação. Aqui vamos mostrar o HEAD antes e depois de um commit." ], "afterMarkdowns": [ - "Veja! O HEAD estava se escondendo ao lado do nosso `master` esse tempo todo." + "Veja! O HEAD estava se escondendo ao lado do nosso `main` esse tempo todo." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -325,7 +327,7 @@ exports.level = { "", "Soltar o HEAD significa anexá-lo a um commit em vez de anexá-lo a um ramo. Antes do estado solto (\"detached\"), é assim como se parece:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -389,9 +391,9 @@ exports.level = { "Vexamos isto en acción. Aquí imos mostrar o HEAD antes e depois dun commit." ], "afterMarkdowns": [ - "Ves! O HEAD estivo ó lado do noso `master` todo este tempo." + "Ves! O HEAD estivo ó lado do noso `main` todo este tempo." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -403,7 +405,7 @@ exports.level = { "", "Soltar o HEAD significa apuntar a un commit en vez de apuntar a unha rama. Antes do estado solo (\"detached\"), é así como aparece:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -467,9 +469,9 @@ exports.level = { "Voyons cela en action. Ici nous allons indiquer où se situe HEAD avant et après un commit." ], "afterMarkdowns": [ - "Vous voyez ! HEAD était caché en dessous de la branche `master` tout le long." + "Vous voyez ! HEAD était caché en dessous de la branche `main` tout le long." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -481,7 +483,7 @@ exports.level = { "", "Détacher HEAD signifie simplement que l'on attache HEAD à un commit au lieu d'une branche. Voilà à quoi cela ressemble actuellement :", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -513,7 +515,7 @@ exports.level = { "markdowns": [ "## Navigation durch Git", "", - "Bevor wir uns einige fortgeschrittene Konzepte in Git ansehen ist es wichtig, verschiedene Wege zum Navigieren durch den Commit-Baum, der das Projekt enthält, zu kennen.", + "Bevor wir uns einige fortgeschrittene Konzepte in Git ansehen, ist es wichtig, verschiedene Wege zum Navigieren durch den Commit-Baum, der das Projekt enthält, zu kennen.", "", "Sobald du das drauf hast, vergrößern sich deine Möglichkeiten in allen anderen Git-Befehlen.", "", @@ -532,7 +534,7 @@ exports.level = { "", "Erst mal müssen wir über `HEAD` reden. `HEAD` ist ein Alias für den Commit, der gerade ausgecheckt ist -- es ist im Prinzip der Commit, an den du deinen nächsten Commit hängst.", "", - "`HEAD` zeigt immer auf den neuesten Commit. Die meisten Git-Befehle, die den Baum verändern, fangen damit an dass sie `HEAD` verschieben.", + "`HEAD` zeigt immer auf den neuesten Commit. Die meisten Git-Befehle, die den Baum verändern, fangen damit an, dass sie `HEAD` verschieben.", "", "Normalerweise zeigt `HEAD` auf einen Branch-Namen (z.B. `bugFix`). Wenn du einen Commit machst, wird `bugFix` auf diesen Commit geschoben, und `HEAD` (da es auf `bugFix` zeigt) automatisch auch." ] @@ -545,9 +547,9 @@ exports.level = { "Schauen wir uns das mal in Aktion an. Wir werden hier `HEAD` vor und nach dem Commit anzeigen." ], "afterMarkdowns": [ - "Siehst du? `HEAD` war die ganze Zeit unter `master` versteckt." + "Siehst du? `HEAD` war die ganze Zeit unter `main` versteckt." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -559,7 +561,7 @@ exports.level = { "", "`HEAD` abzukoppeln bedeutet, es direkt an einen bestimmten Commit zu hängen, anstatt an einen Branch. Wir gelangen dadurch in den \"detached HEAD state\". So sieht's vorher aus:", "", - "`HEAD` -> `master` -> `C1`", + "`HEAD` -> `main` -> `C1`", "" ], "afterMarkdowns": [ @@ -619,12 +621,12 @@ exports.level = { "下面咱们通过实际操作看一下。我们将会观察提交前后 HEAD 的位置。" ], "afterMarkdowns": [ - "看到了吗? HEAD 指向了 `master`,随着提交向前移动。", + "看到了吗? HEAD 指向了 `main`,随着提交向前移动。", "", "(译者注:实际这些命令并不是真的在查看 HEAD 指向,看下一屏就了解了。如果想看 HEAD 指向,可以通过 `cat .git/HEAD` 查看,", "如果 HEAD 指向的是一个引用,还可以用 `git symbolic-ref HEAD` 查看它的指向。但是该程序不支持这两个命令)" ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -636,9 +638,9 @@ exports.level = { "", "分离的 HEAD 就是让其指向了某个具体的提交记录而不是分支名。在命令执行之前的状态如下所示: ", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "", - "HEAD 指向 master, master 指向 C1" + "HEAD 指向 main, main 指向 C1" ], "afterMarkdowns": [ "现在变成了", @@ -697,9 +699,9 @@ exports.level = { "在實際的例子中。我們將會觀察 commit 前後 HEAD 的位置。" ], "afterMarkdowns": [ - "看吧!HEAD 一直藏在 `master` 分支的後面。" + "看吧!HEAD 一直藏在 `main` 分支的後面。" ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -711,7 +713,7 @@ exports.level = { "", "分離 HEAD 就是讓其指向一個 commit 而不是 branch 的名稱。這是指令執行之前的樣子:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -775,9 +777,9 @@ exports.level = { "実際の動作を見てみましょう。ここでは、コミットの前と後のHEADの状態を確認します。" ], "afterMarkdowns": [ - "ほら、HEADが元から`master`ブランチの下に隠れていたんですね!" + "ほら、HEADが元から`main`ブランチの下に隠れていたんですね!" ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -789,7 +791,7 @@ exports.level = { "", "HEADの分離(detached HEAD)とは単に、ブランチではなく特定のコミットにHEADを紐づけることです。実行前の状態は次のようです:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -853,9 +855,9 @@ exports.level = { "Посмотрим, как это работает. Обратите внимание на то, где находится HEAD до и после коммита." ], "afterMarkdowns": [ - "Вот! HEAD всё это время скрывался за веткой `master`." + "Вот! HEAD всё это время скрывался за веткой `main`." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -867,7 +869,7 @@ exports.level = { "", "Отделение (detaching) HEAD означает лишь присвоение его не ветке, а конкретному коммиту. Посмотрим, что было до отделения:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -931,9 +933,9 @@ exports.level = { "직접 확인해 봅시다. 여기서 우리는 보이지 않던 HEAD를 커밋전, 후에 드러낼 것입니다." ], "afterMarkdowns": [ - "보세요! HEAD가 `master`브랜치 아래에 숨어 있던 거군요." + "보세요! HEAD가 `main`브랜치 아래에 숨어 있던 거군요." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -945,7 +947,7 @@ exports.level = { "", "HEAD를 분리한다는 것은 HEAD를 브랜치 대신 커밋에 붙이는 것을 의미합니다. 명령을 사용하기 전의 모습은 다음과 같습니다:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -1009,9 +1011,9 @@ exports.level = { "Розберемось з цим на практиці. Зараз ми перевіримо HEAD до та після коміту." ], "afterMarkdowns": [ - "Ти диви! HEAD весь цей час ховався за гілкою `master`." + "Ти диви! HEAD весь цей час ховався за гілкою `main`." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -1023,7 +1025,7 @@ exports.level = { "", "Detached HEAD (відокремлена голова) просто означає що HEAD посилається на коміт, а не на якусь гілку. Ось як це виглядає спочатку:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -1087,9 +1089,9 @@ exports.level = { "Xem thử thực tế nào. Ở đây ta sẽ bộc lộ HEAD trước và sau khi commit." ], "afterMarkdowns": [ - "Thấy chứ? HEAD đã ẩn dưới nhánh `master` suốt." + "Thấy chứ? HEAD đã ẩn dưới nhánh `main` suốt." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -1101,7 +1103,7 @@ exports.level = { "", "Tháo HEAD đơng giản nghĩa là dán nó vào một commit thay vì một nhánh. Lúc trước thì nó trông như thế này:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -1165,9 +1167,9 @@ exports.level = { "Poglejmo to v akciji. Sedaj bomo razkrili HEAD pred in po commitu." ], "afterMarkdowns": [ - "Evo! HEAD se je vseskozi skrival pod našim `master` branchom." + "Evo! HEAD se je vseskozi skrival pod našim `main` branchom." ], - "command": "git checkout C1; git checkout master; git commit; git checkout C2", + "command": "git checkout C1; git checkout main; git commit; git checkout C2", "beforeCommand": "" } }, @@ -1179,7 +1181,7 @@ exports.level = { "", "Ločevanje HEAD-a pomeni samo, da ga namestno na branch sedaj pripnemo na commit. Tako je izgledalo prej:", "", - "HEAD -> master -> C1", + "HEAD -> main -> C1", "" ], "afterMarkdowns": [ @@ -1202,6 +1204,84 @@ exports.level = { } } ] + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Poruszanie się w Git", + "", + "Zanim przejdziemy do niektórych z bardziej zaawansowanych funkcji Gita, ważne jest, aby zrozumieć różne sposoby poruszania się po drzewie commitów, które reprezentują twój projekt.", + "", + "Kiedy będziesz już czuć się swobodnie, twoje moce z innymi komendami gitowymi zostaną wzmocnione!", + "", + "", + "", + "", + "" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## HEAD", + "", + "Najpierw musimy porozmawiać o \"HEAD\". HEAD to symboliczna nazwa dla aktualnie zcheckout'owanego commitu - jest to zasadniczo ostatni commit nad, którym pracowałeś.", + "", + "HEAD zawsze wskazuje na najnowszy commit, który jest odzwierciedlony w drzewie zmian. Większość poleceń git, które wprowadzają zmiany w drzewie, zaczyna się od zmiany HEAD'a.", + "", + "Normalnie HEAD wskazuje na nazwę gałęzi (jak np. `bugFix`). Kiedy commitujesz zmiany, status gałęzi `bugFix` się zmienia i zmiana ta jest widoczna właśnie poprzez przemieszczenie się HEAD'a." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Sprawdźmy to w akcji. Pokażemy HEAD przed i po commicie." + ], + "afterMarkdowns": [ + "Zobacz! HEAD przez cały czas ukrywał się pod naszą gałęzią `main`." + ], + "command": "git checkout C1; git checkout main; git commit; git checkout C2", + "beforeCommand": "" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "### Odłączanie HEAD'a", + "", + "Odłączenie HEAD'a oznacza po prostu dołączenie go do commita, a nie gałęzi. Tak to wyglądało przed:", + "", + "HEAD -> main -> C1", + "" + ], + "afterMarkdowns": [ + "A tak po:", + "", + "HEAD -> C1" + ], + "command": "git checkout C1", + "beforeCommand": "" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Aby ukończyć ten poziom, odłącz HEAD od gałęzi `bugFix` i dołącz go do commita.", + "", + "Możesz wybrać konkretnego commita posługując się jego haszem. Hasz każdego commita jest wyświetlany na okręgu, który go reprezentuje." + ] + } + } + ] } } }; diff --git a/src/levels/rampup/interactiveRebase.js b/src/levels/rampup/interactiveRebase.js index 7d2775c9..da97a036 100644 --- a/src/levels/rampup/interactiveRebase.js +++ b/src/levels/rampup/interactiveRebase.js @@ -73,11 +73,12 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "When the interactive rebase dialog opens, you have the ability to do 3 things:", + "When the interactive rebase dialog opens, you have the ability to do two things in our educational application:", "", "* You can reorder commits simply by changing their order in the UI (in our window this means dragging and dropping with the mouse).", "* You can choose to completely omit some commits. This is designated by `pick` -- toggling `pick` off means you want to drop the commit.", - "* Lastly, you can squash commits. Unfortunately our levels don't support this for a few logistical reasons, so I'll skip over the details of this. Long story short, though -- it allows you to combine commits.", + "", + "*It is worth mentioning that in the real git interactive rebase you can do many more things like squashing (combining) commits, amending commit messages, and even editing the commits themselves. For our purposes though we will focus on these two operations above.*", "", "Great! Let's see an example." ] @@ -569,9 +570,9 @@ exports.level = { "markdowns": [ "## Interaktiver Rebase", "", - "Cherry-pick ist großartig wenn du genau weißt, welche Commits du willst (_und_ ihre jeweiligen Hashes kennst) -- es ist dann schwer an Einfachheit zu überbieten.", + "Cherry-pick ist großartig, wenn du genau weißt, welche Commits du willst (_und_ ihre jeweiligen Hashes kennst) -- es ist dann schwer an Einfachheit zu überbieten.", "", - "Aber wie sieht es aus, wenn du die Commits nicht genau kennst, die du brauchst? Zum Glück bietet Git auch dafür eine Lösung an. Das können wir mit interaktivem Rebase machen -- die beste Art sich eine Serie von Commits in einem Rebase genau anzusehen.", + "Aber wie sieht es aus, wenn du die benötigten Commits nicht genau kennst? Zum Glück bietet Git auch dafür eine Lösung an. Das können wir mit interaktivem Rebase machen -- die beste Art sich eine Serie von Commits in einem Rebase genau anzusehen.", "", "Schauen wir uns die Details an ..." ] @@ -585,7 +586,7 @@ exports.level = { "", "Wenn du das machst, zeigt Git dir jeden einzelnen Commit, der durch den Rebase kopiert werden würde. Es zeigt dir die Hashes und Kommentare, was gut ist um einen Überblick zu bekommen.", "", - "In echtem Git besteht dieser Dialog daraus, die Commits in einem Text-Editor angezeigt zu bekommen. Für unsere Zwecke hab ich ein kleines Dialog-Fenster gebaut, dass sich ähnlich verhält." + "Im \"echten\" Git werden die Commits in einem Text-Editor angezeigt (z.B. in `vim`). Für unsere Zwecke habe ich ein kleines Dialog-Fenster gebaut, das sich ähnlich verhält." ] } }, @@ -596,8 +597,8 @@ exports.level = { "Wenn sich der Dialog für den interaktiven Rebase öffnet, kannst du drei Dinge tun:", "", "* Du kannst die Reihenfolge der Commits durch Ziehen und Ablegen ändern.", - "* Du kannst Git sagen, einen Commit beim Rebase zu ignorieren -- im Dialog durch die Schaltfläche `pick` dargestellt.", - "* Außerdem kannst du Commit zusammenfassen (squash). Leider wird das hier nicht unterstützt, aber in echtem Git fasst es Commits zu einem zusammen.", + "* Du kannst einen Commit beim Rebase ignorieren, indem du im Dialog auf die Schaltfläche `omit` klickst. Du kannst einen Commit wieder aufnehmen, indem du auf `pick` klickst.", + "* Außerdem kannst du Commits zusammenfassen (squash). Leider wird das hier nicht unterstützt, aber im echten Git fasst es Commits zu einem zusammen.", "", "Super! Schauen wir uns ein Beispiel an." ] @@ -607,7 +608,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Wenn du die Schaltfläche anklickst wird sich der Rebase-Dialog öffnen. Veränder die Reihenfolge der Commits oder klick bei einigen auf `pick` und schau dir das Ergebnis an." + "Wenn du die Schaltfläche anklickst, wird sich der Rebase-Dialog öffnen. Verändere die Reihenfolge der Commits oder klicke bei einigen auf `pick` bzw. `omit` und schaue dir das Ergebnis an." ], "afterMarkdowns": [ "Bämm! Git hat die Commits genau so kopiert, wie du es ausgewählt hast." @@ -620,7 +621,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Um dieses Level zu schaffen mach einen interaktiven Rebase, um genau die Reihenfolge zu erzeugen die im Ziel-Baum angezeigt wird. Denk daran, dass du jederzeit mit `undo` oder `reset` Fehler rückgängig machen kannst. :D" + "Um dieses Level zu schaffen mach einen interaktiven Rebase, um genau die Reihenfolge zu erzeugen, die im Ziel-Baum angezeigt wird. Denk daran, dass du jederzeit mit `undo` oder `reset` Fehler rückgängig machen kannst. :D" ] } } diff --git a/src/levels/rampup/relativeRefs.js b/src/levels/rampup/relativeRefs.js index 240e18ac..0cee8da9 100644 --- a/src/levels/rampup/relativeRefs.js +++ b/src/levels/rampup/relativeRefs.js @@ -17,7 +17,8 @@ exports.level = { "ko" : "상대 참조 (^) (Relative Refs)", "uk": "Відносні посилання", "vi": "Tham chiếu tương đối (^)", - "sl_SI": "Relativne Reference (^)" + "sl_SI": "Relativne Reference (^)", + "pl": "Referencje względne (^)", }, "hint": { "en_US": "Remember the Caret (^) operator!", @@ -34,7 +35,8 @@ exports.level = { "ko" : "(^)연산자를 기억하세요!", "uk": "Не забудь оператор `^`", "vi": "Đừng quên dấu mũ (^)!", - "sl_SI": "Spomni se na (^) operator!" + "sl_SI": "Spomni se na (^) operator!", + "pl": "Pamiętaj o operatorze karetu (^)!", }, "startDialog": { "en_US": { @@ -74,16 +76,16 @@ exports.level = { "beforeMarkdowns": [ "Let's look at the Caret (^) operator first. Each time you append that to a ref name, you are telling Git to find the parent of the specified commit.", "", - "So saying `master^` is equivalent to \"the first parent of `master`\".", + "So saying `main^` is equivalent to \"the first parent of `main`\".", "", - "`master^^` is the grandparent (second-generation ancestor) of `master`", + "`main^^` is the grandparent (second-generation ancestor) of `main`", "", - "Let's check out the commit above master here." + "Let's check out the commit above main here." ], "afterMarkdowns": [ "Boom! Done. Way easier than typing the commit hash." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -149,16 +151,16 @@ exports.level = { "beforeMarkdowns": [ "Regardons l'opérateur circonflexe (^) d'abord. Chaque fois que vous le faites suivre un nom de référence, vous êtes en train de demander à Git de trouver le parent du commit spécifié.", "", - "Ainsi, `master^` est équivalent à \"le premier parent de `master`\".", + "Ainsi, `main^` est équivalent à \"le premier parent de `main`\".", "", - "`master^^` est le grand-parent (ancêtre de seconde génération) de `master`", + "`main^^` est le grand-parent (ancêtre de seconde génération) de `main`", "", - "Faisons un checkout du commit avant master." + "Faisons un checkout du commit avant main." ], "afterMarkdowns": [ "Boum ! Fini. Bien plus facile qu'écrire l'identifiant du commit." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -224,16 +226,16 @@ exports.level = { "beforeMarkdowns": [ "Schauen wir uns zuerst den Dach-Operator (`^`) an. Jedes mal wenn du ihn hinter einen Referenz-Namen setzt, sagst du Git damit, dass es zum Vorgänger des angegebenen Commits gehen soll.", "", - "Das heißt `master^` ist gleichbedeutend mit \"direkter Vorgänger des Commits, auf den `master` zeigt\".", + "Das heißt `main^` ist gleichbedeutend mit \"direkter Vorgänger des Commits, auf den `main` zeigt\".", "", - "`master^^` ist also der Vorgänger des Vorgängers von `master`.", + "`main^^` ist also der Vorgänger des Vorgängers von `main`.", "", - "Wir checken jetzt mal den Commit vor `master` aus:" + "Wir checken jetzt mal den Commit vor `main` aus:" ], "afterMarkdowns": [ "Bämm! Fertig. Einfacher, als den Commit-Hash zu tippen (oder zu kopieren)." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -299,16 +301,16 @@ exports.level = { "beforeMarkdowns": [ "Veamos el operador ^ primero. Cada vez que le agregás eso al nombre de una referencia, le estás diciendo a git que use el padre del commit especificado.", "", - "Entonces, decir `master^` es equivalente a \"el primer padre de `master`\".", + "Entonces, decir `main^` es equivalente a \"el primer padre de `main`\".", "", - "`master^^` es el _abuelo_ (segunda generación de ancestros) de `master`", + "`main^^` es el _abuelo_ (segunda generación de ancestros) de `main`", "", - "Veamos el commit que está antes de master acá." + "Veamos el commit que está antes de main acá." ], "afterMarkdowns": [ "¡Boom! Ahí está. Mucho más simple que tipear el hash de ese commit." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -374,16 +376,16 @@ exports.level = { "beforeMarkdowns": [ "Veamos el operador ^ primero. Cada vez que le agregas eso al nombre de una referencia, le estás diciendo a git que use el padre del commit especificado.", "", - "Entonces, decir `master^` es equivalente a \"el primer padre de `master`\".", + "Entonces, decir `main^` es equivalente a \"el primer padre de `main`\".", "", - "`master^^` es el _abuelo_ (segunda generación de ancestros) de `master`", + "`main^^` es el _abuelo_ (segunda generación de ancestros) de `main`", "", - "Veamos el commit que está antes de master aquí." + "Veamos el commit que está antes de main aquí." ], "afterMarkdowns": [ "¡Zas! Ahí está. Mucho más simple que escribir el hash de ese commit." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -449,16 +451,16 @@ exports.level = { "beforeMarkdowns": [ "Vamos dar uma olhada no operador circunflexo (^) primeiro. Cada vez que você adicioná-lo a um nome de referência, você está dizendo ao Git para encontrar o pai do commit especificado.", "", - "Então, dizer `master^` é equivalente a \"o primeiro pai do `master`\".", + "Então, dizer `main^` é equivalente a \"o primeiro pai do `main`\".", "", - "`master^^` é o avô (ancestral de segunda geração) do `master`", + "`main^^` é o avô (ancestral de segunda geração) do `main`", "", - "Vamos fazer checkout do commit logo acima do master." + "Vamos fazer checkout do commit logo acima do main." ], "afterMarkdowns": [ "Boom! Pronto. Muito mais fácil que digitar o hash do commit." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -524,16 +526,16 @@ exports.level = { "beforeMarkdowns": [ "Votémoslle unha ollada o operador (^) primeiro. Cada vez que o engadimos a unha referencia, estaslle dicindo a commit que queres o pai de esa referencia.", "", - "Entón, dicir `master^` é equivalente a \"o primeiro pai do `master`\".", + "Entón, dicir `main^` é equivalente a \"o primeiro pai do `main`\".", "", - "`master^^` é o avó (ancestral de segunda xeración) do `master`", + "`main^^` é o avó (ancestral de segunda xeración) do `main`", "", - "Imos facer checkout do commit que está enriba de master." + "Imos facer checkout do commit que está enriba de main." ], "afterMarkdowns": [ "Boom! Ahí o tes. Moito máis rápido que por o hash do commit." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -599,16 +601,16 @@ exports.level = { "beforeMarkdowns": [ "首先看看操作符 (^)。把这个符号加在引用名称的后面,表示让 Git 寻找指定提交记录的父提交。", "", - "所以 `master^` 相当于“`master` 的父节点”。", + "所以 `main^` 相当于“`main` 的父节点”。", "", - "`master^^` 是 `master` 的第二个父节点", + "`main^^` 是 `main` 的第二个父节点", "", - "现在咱们切换到 master 的父节点" + "现在咱们切换到 main 的父节点" ], "afterMarkdowns": [ "搞定。这种方式是不是比输入哈希值方便多了?!" ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -674,16 +676,16 @@ exports.level = { "beforeMarkdowns": [ "首先看看插入(^)這一個符號。把這個符號接在某一個 reference 後面,就表示你告訴 git 去找到該 reference 所指向的 commit 的 parent commit。", "", - "所以 `master^` 相當於 \"`master` 的 parent commit\"。", + "所以 `main^` 相當於 \"`main` 的 parent commit\"。", "", - " `master^^` 是 `master` 的 grandparent commit(往前推兩代)", + " `main^^` 是 `main` 的 grandparent commit(往前推兩代)", "", "切換到 master的 parent commit" ], "afterMarkdowns": [ "看吧!完成了。這種方式比輸入代表 commit 的 hash 值簡單多了!" ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -749,16 +751,16 @@ exports.level = { "beforeMarkdowns": [ "まずはカレット(^)から始めましょう。リファレンス名にカレットを追加すると、指定コミットの親コミットを見つけるようにとgitに命令を出しています。", "", - "なので `master^`と記述すれば、\"`master`の一個上の親\"、という意味になります。", + "なので `main^`と記述すれば、\"`main`の一個上の親\"、という意味になります。", "", - "そして`master^^`とはその親の一つの上のコミット(2代前の親)を指します。", + "そして`main^^`とはその親の一つの上のコミット(2代前の親)を指します。", "", "masterの上のコミットをここで見てみましょう" ], "afterMarkdowns": [ "やりました!コミットハッシュを書くよりずっと簡単ですね。" ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -824,16 +826,16 @@ exports.level = { "beforeMarkdowns": [ "Для начала рассмотрим оператор каретки (^). Когда мы добавляем его к имени ссылки, Git воспринимает это как указание найти родителя указанного коммита.", "", - "Так что `master^` означает \"первый родитель ветки `master`\".", + "Так что `main^` означает \"первый родитель ветки `main`\".", "", - "`master^^` означает прародитель (родитель родителя) `master`", + "`main^^` означает прародитель (родитель родителя) `main`", "", - "Давайте переключимся на коммит Выше `master`" + "Давайте переключимся на коммит Выше `main`" ], "afterMarkdowns": [ "Опачки! Готово. Сильно проще, чем поиск и указание хеша." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -899,16 +901,16 @@ exports.level = { "beforeMarkdowns": [ "먼저 캐럿 (^) 연산자 부터 알아보겠습니다. 참조 이름에 하나씩 추가할 때마다, 명시한 커밋의 부모를 찾게 됩니다.", "", - "`master^`는 \"`master`의 부모\"와 같은 의미 입니다.", + "`main^`는 \"`main`의 부모\"와 같은 의미 입니다.", "", - "`master^^` 는 \"`master`의 조부모(부모의 부모)\"를 의미합니다", + "`main^^` 는 \"`main`의 조부모(부모의 부모)\"를 의미합니다", "", - "master 위에 있는 부모를 체크아웃 해 봅시다." + "main 위에 있는 부모를 체크아웃 해 봅시다." ], "afterMarkdowns": [ "Boom! 됬습니다. 커밋의 해시를 입력하는 것보다 훨씬 쉬운 방법입니다." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -974,16 +976,16 @@ exports.level = { "beforeMarkdowns": [ "Розберемось спочатку з оператором каретки (^). Кожна каретка додана до посилання (напр. до імені коміту) вказує git що потрібно знайти батька посилання до якого застосована каретка.", "", - "Тож `master^` тотожнє до \"перший предок посилання `master`\".", + "Тож `main^` тотожнє до \"перший предок посилання `main`\".", "", - "`master^^` це дідусь (предок другого покоління) посилання `master`", + "`main^^` це дідусь (предок другого покоління) посилання `main`", "", - "Давайте перейдемо на коміт трохи вище від master:" + "Давайте перейдемо на коміт трохи вище від main:" ], "afterMarkdowns": [ "Бум! Готово. Трохи простіше ніж набирати хеш коміту" ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -1049,16 +1051,16 @@ exports.level = { "beforeMarkdowns": [ "Xem thử cái dấu mũ (^) trước nào. Mỗi lần bạn nối nó với một cái tên tham chiếu, bạn đang ra lệnh cho Git tìm kiếm cha của một commit cụ thể.", "", - "Cho nên `master^` nghĩa là \"cha đầu tiên của `master`\".", + "Cho nên `main^` nghĩa là \"cha đầu tiên của `main`\".", "", - "`master^^` là ông nội (tổ tiên thế hệ 2) của `master`", + "`main^^` là ông nội (tổ tiên thế hệ 2) của `main`", "", - "Thử nhảy sang commit trước master nào" + "Thử nhảy sang commit trước main nào" ], "afterMarkdowns": [ "BÙUM! Đã xong. Đơn giản hơn gõ mã băm nhiều" ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -1124,16 +1126,16 @@ exports.level = { "beforeMarkdowns": [ "Poglejmo najprej operator `^`. Vsakič, ko pripneš to imenu reference, poveš Gitu, naj najde starša tega commita.", "", - "Torej `master^` je isto kot \"prvi starš brancha `master`\".", + "Torej `main^` je isto kot \"prvi starš brancha `main`\".", "", - "`master^^` je stari starš (prednik druge generacije) `master`.", + "`main^^` je stari starš (prednik druge generacije) `main`.", "", "Checkoutajmo sedaj commit nad masterjem." ], "afterMarkdowns": [ "Boom! Narejeno. Veliko enostavneje kot tipkanje hasha commita." ], - "command": "git checkout master^", + "command": "git checkout main^", "beforeCommand": "git commit" } }, @@ -1161,6 +1163,81 @@ exports.level = { } } ] - } + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Relatywne referencje", + "", + "Poruszanie się w Gitcie poprzez określanie haszy commitów może być trochę nudne. W prawdziwym świecie nie będziesz miał ładnej wizualizacji drzewa commitów obok swojego terminalu (chyba, że będziesz używać Fork'a lub TortoiseGit'a). Będziesz musiał użyć `git log` aby zobaczyć hasz.", + "", + "Co więcej, hasz jest zazwyczaj o wiele dłuższy w prawdziwym Gitcie. Na przykład, hash commitu, które był na początku poprzedniego poziomu to `fed2da64c0efc5293610bdd892f82a58e8cbc5d8`. Spróbuj to przeczytać!", + "", + "Plusem jest to, że Git jest sprytny jeżeli chodzi o hasze. Wymaga jedynie podania tylu znaków haszu, aż do momentu, gdy jednoznacznie zidentyfikuje konkretny commit. Dlatego mogę wpisać jedynie `fed2` zamiast długiego łańcucha powyżej." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Jak już powiedzieliśmy, wybieranie commitów używając ich hasza nie jest najprzyjemniejszą rzeczą w życiu, dlatego Git ma referencje względne. Są niesamowite!", + "", + "Korzystając z referencji względnych, możesz zacząć od miejsca, które zapamiętasz (jak np. gałąź `bugFix` lub `HEAD`) i pracować stamtąd.", + "", + "Relatywne commity są potężne, ale pokażemy tu tylko dwie proste sytuacje:", + "", + "* Poruszanie się wstecz o jeden commit `^`", + "* Poruszanie się wstecz o ileś commitów `~`" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Spójrzmy najpierw na operator Karety / daszek (^). Za każdym razem, gdy dodajesz go do referencji względnej, mówisz Gitowi, aby znalazł rodzica określonego commita.", + "", + "Więc wpisując `main^` mamy na myśli \"pierwszego rodzica z gałęzi `main`\".", + "", + "`main^^` to dziadek (przodek drugiego stopnia) gałęzi `main`", + "", + "Zcheckoutujmy commit powyżej `main`." + ], + "afterMarkdowns": [ + "Boom! Zrobione. O wiele łatwiej niż wpisując hasz commitu." + ], + "command": "git checkout main^", + "beforeCommand": "git commit" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Możesz również odwołać się do `HEAD` jako referencji względnej. Użyjmy tego kilka razy, aby przesunąć się w górę drzewa commitów." + ], + "afterMarkdowns": [ + "Łatwizna! Możemy podróżować do tyłu w czasie używając `HEAD^`" + ], + "command": "git checkout C3; git checkout HEAD^; git checkout HEAD^; git checkout HEAD^", + "beforeCommand": "git commit; git commit" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Aby ukończyć ten poziom, zcheckoutuj commit'a-rodzica z gałęzi `bugFix`. To spowoduje odczepienie `HEAD`a.", + "", + "Możesz wybrać commit'a po haszu jeżeli chcesz, ale spróbuj wykorzystać to czego się nauczyłeś i użyć referencji względnej!" + ] + } + } + ] + }, } }; diff --git a/src/levels/rampup/relativeRefs2.js b/src/levels/rampup/relativeRefs2.js index 64101146..8081ed98 100644 --- a/src/levels/rampup/relativeRefs2.js +++ b/src/levels/rampup/relativeRefs2.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C6\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C0\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C2\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"C1\",\"id\":\"HEAD\"}}", - "solutionCommand": "git branch -f master C6;git checkout HEAD~1;git branch -f bugFix HEAD~1", + "solutionCommand": "git branch -f main C6;git checkout HEAD~1;git branch -f bugFix HEAD~1", "startTree": "{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C5\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C2\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"C2\",\"id\":\"HEAD\"}}", "hint": { "en_US": "You'll need to use at least one direct reference (hash) to complete this level", @@ -17,7 +17,8 @@ exports.level = { "ko" : "이번 레벨을 완료하려면 최소 한번은 직접 참조(해시)를 사용해야 합니다.", "uk": "Тобі потрібно використати як мінімум одне пряме посилання (хеш) щоб пройти цей рівень", "vi": "Bạn sẽ cần dùng ít nhất một tham chiếu trực tiếp (mã băm) để hoàn thành cấp độ này", - "sl_SI": "Moral boš uporabiti vsaj eno direktno referenco (hash) za dokončanje te stopnje." + "sl_SI": "Moral boš uporabiti vsaj eno direktno referenco (hash) za dokončanje te stopnje.", + "pl": "Aby ukończyć ten poziom, musisz użyć co najmniej jednego bezpośredniej referencji (hasza).", }, "name": { "en_US": "Relative Refs #2 (~)", @@ -34,7 +35,8 @@ exports.level = { "ko" : "상대 참조 #2 (~)", "uk": "Відносні посилання №2", "vi": "Tham chiếu tương đối #2 (~)", - "sl_SI": "Relativne Reference #2 (~)" + "sl_SI": "Relativne Reference #2 (~)", + "pl": "Referencje względne #2 (~)" }, "startDialog": { "en_US": { @@ -75,9 +77,9 @@ exports.level = { "", "One of the most common ways I use relative refs is to move branches around. You can directly reassign a branch to a commit with the `-f` option. So something like:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "moves (by force) the master branch to three parents behind HEAD." + "moves (by force) the main branch to three parents behind HEAD." ] } }, @@ -90,7 +92,7 @@ exports.level = { "afterMarkdowns": [ "There we go! Relative refs gave us a concise way to refer to `C1` and branch forcing (`-f`) gave us a way to quickly move a branch to that location." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -100,7 +102,7 @@ exports.level = { "markdowns": [ "Now that you have seen relative refs and branch forcing in combination, let's use them to solve the next level.", "", - "To complete this level, move `HEAD`, `master`, and `bugFix` to their goal destinations shown." + "To complete this level, move `HEAD`, `main`, and `bugFix` to their goal destinations shown." ] } } @@ -144,9 +146,9 @@ exports.level = { "", "Una de las formas más comunes en que uso las referencias relativas es para mover las ramas. Podés reasignar directamente una rama a un commit usando la opción `-f`. Así que algo como:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "Mueve (forzadamente) la rama master tres padres atrás de HEAD." + "Mueve (forzadamente) la rama main tres padres atrás de HEAD." ] } }, @@ -159,7 +161,7 @@ exports.level = { "afterMarkdowns": [ "¡Ahí vamos! Las referencias relativas nos dieron una manera concisa de referenciar a `C1`, y forzar la rama (`-f`) nos dio una manera rápida de mover la rama a esa ubicación" ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -169,7 +171,7 @@ exports.level = { "markdowns": [ "Ahora que viste las referencias relativas y el forzar ramas combinados, usémoslos para resolver el siguiente nivel.", "", - "Para completar este nivel, mové `HEAD`, `master` y `bugFix` a sus destinos finales." + "Para completar este nivel, mové `HEAD`, `main` y `bugFix` a sus destinos finales." ] } } @@ -213,9 +215,9 @@ exports.level = { "", "Una de las formas más comunes en que uso las referencias relativas es para mover las ramas. Puedes reasignar directamente una rama a un commit usando la opción `-f`. Algo así como:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "Mueve (forzadamente) la rama master tres padres por detrás de HEAD." + "Mueve (forzadamente) la rama main tres padres por detrás de HEAD." ] } }, @@ -228,7 +230,7 @@ exports.level = { "afterMarkdowns": [ "¡Allá vamos! Las referencias relativas nos proporcionaron una manera concisa de referenciar a `C1`, y forzar la rama (`-f`) nos dio una manera rápida de mover la rama a esa ubicación" ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -238,7 +240,7 @@ exports.level = { "markdowns": [ "Ahora que viste las referencias relativas y el forzar ramas combinados, usémoslos para resolver el siguiente nivel.", "", - "Para completar este nivel, mueve `HEAD`, `master` y `bugFix` a sus destinos finales." + "Para completar este nivel, mueve `HEAD`, `main` y `bugFix` a sus destinos finales." ] } } @@ -282,9 +284,9 @@ exports.level = { "", "Uma das situações mais comuns na qual eu uso referências relativas é quando quero trocar ramos de lugar. Você pode redefinir diretamente o commit para o qual um ramo aponta com a opção `-f`. Desta forma, o seguinte comando:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "Move (à força) o ramo master 3 ancestrais acima do HEAD." + "Move (à força) o ramo main 3 ancestrais acima do HEAD." ] } }, @@ -297,7 +299,7 @@ exports.level = { "afterMarkdowns": [ "Aqui vamos nós! As referências relativas nos deram uma forma concisa de nos referirmos ao `C1`, e a movimentação de ramos (com `-f`) nos deu uma forma de apontar rapidamente um ramo para esse local." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -307,7 +309,7 @@ exports.level = { "markdowns": [ "Agora que você viu referências relativas e movimentação de ramos combinadas, vamos usá-las para resolver o próximo nível.", "", - "Para completar este nível, mova o `HEAD` e os ramos `master` e `bugFix` para os destinos mostrados no objetivo." + "Para completar este nível, mova o `HEAD` e os ramos `main` e `bugFix` para os destinos mostrados no objetivo." ] } } @@ -351,9 +353,9 @@ exports.level = { "", "Un dos usos máis comúns para o uso das referencias relativas é para movelas ramas de lugar. Ti podes reasignar directamente unha rama a un commit usando a opción `-f`. Así que con algo coma:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "Move (de forma forzosa) a rama master 3 commits enriba do HEAD." + "Move (de forma forzosa) a rama main 3 commits enriba do HEAD." ] } }, @@ -364,9 +366,9 @@ exports.level = { "Vexamos o comando anterior en acción" ], "afterMarkdowns": [ - "¡Agora é o a nosa quenda! As referencias relativas nos darán unha forma concisa de nos referír a `C1`, e forzar a rama (con `-f`) deunos unha forma rápida de movela rama `master` a esa posición." + "¡Agora é o a nosa quenda! As referencias relativas nos darán unha forma concisa de nos referír a `C1`, e forzar a rama (con `-f`) deunos unha forma rápida de movela rama `main` a esa posición." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -376,7 +378,7 @@ exports.level = { "markdowns": [ "Xa viches as referencias relativas e o movemento de ramas combinadas, ímolas usar para resolver o próximo exercicio.", "", - "Para completar este nivel, mova o `HEAD` e as ramas `master` e `bugFix` para os destinos mostrados no obxectivo." + "Para completar este nivel, mova o `HEAD` e as ramas `main` e `bugFix` para os destinos mostrados no obxectivo." ] } } @@ -420,9 +422,9 @@ exports.level = { "", "L'une des principales façons dont j'utilise les références relatives est pour réorganiser les branches. Vous pouvez directement réassigner les branches à un commit avec l'option `-f`. Ainsi quelque chose comme :", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "bouge (de force) la branche master à trois parents derrière HEAD." + "bouge (de force) la branche main à trois parents derrière HEAD." ] } }, @@ -435,7 +437,7 @@ exports.level = { "afterMarkdowns": [ "On y est ! Les références relatives nous donnent une méthode concise pour référencer `C1` et le forçage de branche (`-f`) nous donne une méthode rapide pour bouger une branche à cet emplacement." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -445,7 +447,7 @@ exports.level = { "markdowns": [ "Maintenant que vous avez vu les références relatives et le forçage de branche, utilisons-les pour résoudre le niveau suivant.", "", - "Pour compléter ce niveau, bouger `HEAD`, `master`, et `bugFix` à leurs destinations désignées." + "Pour compléter ce niveau, bouger `HEAD`, `main`, et `bugFix` à leurs destinations désignées." ] } } @@ -459,7 +461,7 @@ exports.level = { "markdowns": [ "### Der \"~\"-Operator", "", - "Nehmen wir an du willst viele Schritte im Commit-Baum zurückgehen. Dann wird es schnell mühsam immer wieder `^` einzugeben; deswegen gibt es in Git den Tilde-Operator `~`.", + "Nehmen wir an, du willst viele Schritte im Commit-Baum zurückgehen. Dann wird es schnell mühsam immer wieder `^` einzugeben; deswegen gibt es in Git den Tilde-Operator `~`.", "", "Der Tilde-Operator akzeptiert optional eine Zahl, mit der du angeben kannst, wieviele Vorgänger du zurückgehen willst. Keine Anzahl anzugeben, bewirkt dasselbe wie `~1`." ] @@ -469,7 +471,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Geben wir mit `~` an wieviele Commits wir zurückgehen wollen." + "Geben wir mit `~` an, wieviele Commits wir zurückgehen wollen." ], "afterMarkdowns": [ "Peng! So einfach -- relative Referenzen sind super." @@ -486,11 +488,11 @@ exports.level = { "", "Du bist jetzt Experte in Sachen relative Referenzen, also lass sie uns mal richtig einsetzen.", "", - "Das Verschieben von Branches ist einer der häufigsten Anwendungsfälle dafür. Du kannst einen Branchnamen direkt auf einen bestimmten Commit setzen (_ohne_ ihn vorher ausgecheckt haben zu müssen!) indem du den Parameter `-f` benutzt. So in etwa:", + "Das Verschieben von Branches ist einer der häufigsten Anwendungsfälle dafür. Du kannst einen Branchnamen direkt auf einen bestimmten Commit setzen (_ohne_ ihn vorher ausgecheckt haben zu müssen!), indem du den Parameter `-f` benutzt. So in etwa:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "Das bewegt (erzwungenermaßen) den `master` auf den Commit drei Vorgänger vor `HEAD`." + "Das bewegt (erzwungenermaßen) den `main` auf den Commit drei Vorgänger vor `HEAD`." ] } }, @@ -503,7 +505,7 @@ exports.level = { "afterMarkdowns": [ "Das war's schon! Relative Referenzen ermöglichen es uns den Commit `C1` sehr einfach anzugeben und `git branch -f` ermöglicht es uns, den Branch sehr schnell auf diesen Commit zu setzen." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -513,7 +515,7 @@ exports.level = { "markdowns": [ "Jetzt wo du relative Referenzen und erzwungenes Branching in Kombination gesehen hast können wir damit den nächsten Level bewältigen.", "", - "Bewege `HEAD`, `master` und `bugFix` an die jeweils angegebenen Positionen, um diesen Level abzuschließen." + "Bewege `HEAD`, `main` und `bugFix` an die jeweils angegebenen Positionen, um diesen Level abzuschließen." ] } } @@ -557,9 +559,9 @@ exports.level = { "", "我使用相对引用最多的就是移动分支。可以直接使用 `-f` 选项让分支指向另一个提交。例如:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "上面的命令会将 master 分支强制指向 HEAD 的第 3 级父提交。" + "上面的命令会将 main 分支强制指向 HEAD 的第 3 级父提交。" ] } }, @@ -572,7 +574,7 @@ exports.level = { "afterMarkdowns": [ "这就对了! 相对引用为我们提供了一种简洁的引用提交记录 `C1` 的方式, 而 `-f` 则容许我们将分支强制移动到那个位置。" ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -582,7 +584,7 @@ exports.level = { "markdowns": [ "既然你已经看过相对引用与强制移动分支的演示了,那么赶快使用这些技巧来挑战这一关吧!", "", - "要完成此关,移动 `HEAD`,`master` 和 `bugFix` 到目标所示的位置。" + "要完成此关,移动 `HEAD`,`main` 和 `bugFix` 到目标所示的位置。" ] } } @@ -626,9 +628,9 @@ exports.level = { "", "我使用相對引用最多的就是移動分支。你可以使用 `-f` 選項直接讓分支指向另一個 commit。舉個例子:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "(強制)移動 master 指向從 HEAD 往上數的第三個 parent commit。" + "(強制)移動 main 指向從 HEAD 往上數的第三個 parent commit。" ] } }, @@ -636,7 +638,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "要完成這一關,移動 `HEAD`,`master` 和 `bugFix` 到目標所示的位置。" + "要完成這一關,移動 `HEAD`,`main` 和 `bugFix` 到目標所示的位置。" ] } } @@ -680,7 +682,7 @@ exports.level = { "", "相対リファレンスのよくある使い方としてあるのは、ブランチの移動です。`-f`オプションを使ってブランチを直接コミットに関連付けられます。次のようになります", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", "masterブランチを(強制的に)HEADより親三代前へと移動します。" ] @@ -695,7 +697,7 @@ exports.level = { "afterMarkdowns": [ "できました!相対リファレンスを使うことで、手短く`C1`を指定することができ、`-f`でブランチを強制的にそこへ移動することができました。" ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -705,7 +707,7 @@ exports.level = { "markdowns": [ "相対リファレンスとブランチの強制関連付けを見ましたので、いまここでそれらの方法を使ってみましょう。", "", - "このレベルをクリアするには`HEAD`、`master`、`bugFix`をゴールで指定されている目的位置まで移動してください。" + "このレベルをクリアするには`HEAD`、`main`、`bugFix`をゴールで指定されている目的位置まで移動してください。" ] } } @@ -749,9 +751,9 @@ exports.level = { "", "Одна из наиболее распространённых целей, для которых используются относительные ссылки - это перемещение веток. Можно напрямую прикрепить ветку к коммиту при помощи опции `-f`. Например, команда:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "Переместит (принудительно) ветку `master` на три родителя назад от `HEAD`." + "Переместит (принудительно) ветку `main` на три родителя назад от `HEAD`." ] } }, @@ -764,7 +766,7 @@ exports.level = { "afterMarkdowns": [ "Вуаля! Относительная ссылка дала нам возможность просто сослаться на `C1`, а branch forcing (`-f`) позволил быстро переместить указатель ветки на этот коммит." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -774,7 +776,7 @@ exports.level = { "markdowns": [ "Мы рассмотрели относительные ссылки и branch forcing вкупе, так что теперь пришло время пройти следующий уровень.", "", - "Чтобы пройти этот уровень, передвинь `HEAD`, `master` и `bugFix` так, как показано на визуализации." + "Чтобы пройти этот уровень, передвинь `HEAD`, `main` и `bugFix` так, как показано на визуализации." ] } } @@ -818,9 +820,9 @@ exports.level = { "", "제가 상대 참조를 사용하는 가장 일반적인 방법은 브랜치를 옮길 때 입니다. `-f` 옵션을 이용해서 브랜치를 특정 커밋에 직접적으로 재지정 할 수 있습니다. 이런 식으로 말이죠:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "(강제로) master 브랜치를 HEAD에서 세번 뒤로 옮겼습니다. (three parents behind HEAD)." + "(강제로) main 브랜치를 HEAD에서 세번 뒤로 옮겼습니다. (three parents behind HEAD)." ] } }, @@ -832,7 +834,7 @@ exports.level = { ], "afterMarkdowns": [ "됬네요! 우리는 상대 참조를 통해 `C1`을 간결한 방법으로 참조할 수 있었고 브랜치 강제(`-f`)를 통해 브랜치를 저 위치로 빠르게 옮길 수 있었습니다." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -842,7 +844,7 @@ exports.level = { "markdowns": [ "자 이제 상대 참조와 브랜치 강제의 조합을 봤으니 다음 레벨을 해결해 봅시다.", "", - "이 레벨을 통과하기 위해서, `HEAD`와 `master`와 `bugFix`를 제시되는 골지점으로 옮겨 주십시오." + "이 레벨을 통과하기 위해서, `HEAD`와 `main`과 `bugFix`를 제시되는 골지점으로 옮겨 주십시오." ] } } @@ -886,9 +888,9 @@ exports.level = { "", "Один з найуживаніших прийомів де я використовую відносні посилання це переміщення гілок. Ти можеш напряму переспрямувати бранч на якийсь коміт використавши опцію `-f` (force, тобто насильно). Щось на зразок:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "Переміщує (насильно) гілку master на три предки позад HEAD." + "Переміщує (насильно) гілку main на три предки позад HEAD." ] } }, @@ -901,7 +903,7 @@ exports.level = { "afterMarkdowns": [ "Ось і маєш! Відносні посилання дають нам зручний спосіб доступу до коміту`C1` крім того форсування бранчів (`-f`) дає нам можливість швидко перемістити гілку на цей коміт" ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -911,7 +913,7 @@ exports.level = { "markdowns": [ "Тепер, коли ти побачив відносні посилання та форсування гілок в купі, давай використаємо це щоб пройти поточний рівень.", "", - "Щоб пройти цей рівень, перемісти `HEAD`, `master` та `bugFix` так як показано в візуалізації." + "Щоб пройти цей рівень, перемісти `HEAD`, `main` та `bugFix` так як показано в візуалізації." ] } } @@ -955,9 +957,9 @@ exports.level = { "", "Tôi thì hay thường dùng tham chiếu tương đối để dịch chuyển nhánh. Bạn có thể trực tiếp gán lại nhánh cho commit với cú pháp `-f`. Kiểu như thế này:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "dịch chuyển (ép buộc) nhánh master lên 3 commit phía trên HEAD." + "dịch chuyển (ép buộc) nhánh main lên 3 commit phía trên HEAD." ] } }, @@ -970,7 +972,7 @@ exports.level = { "afterMarkdowns": [ "Đóóóó! Tham chiếu tương đối cho chúng ta một cách chuẩn xác để trỏ tới `C1` và ép nhánh bằng (`-f`) thì dịch chuyển nhanh chóng nhánh tới đó." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -980,7 +982,7 @@ exports.level = { "markdowns": [ "Giờ thì bạn đã thấy cách kết hợp tham chiếu tương đối và ép nhánh, dùng chúng để vượt level tiếp thôi.", "", - "Để hoàn thành cấp độ này, chuyển `HEAD`, `master`, và `bugFix` đến mục tiêu được xác định của chúng." + "Để hoàn thành cấp độ này, chuyển `HEAD`, `main`, và `bugFix` đến mục tiêu được xác định của chúng." ] } } @@ -1024,9 +1026,9 @@ exports.level = { "", "Eden izmed najpogostejših načinov, kjer uporabljam relativne reference je za premikanje branchev naokoli. Direktno lahko premakneš branch na nek commit z `-f` opcijo. Takole nekako:", "", - "`git branch -f master HEAD~3`", + "`git branch -f main HEAD~3`", "", - "premakne (s force-om) master branch tri commite za HEAD." + "premakne (s force-om) main branch tri commite za HEAD." ] } }, @@ -1039,7 +1041,7 @@ exports.level = { "afterMarkdowns": [ "Tako ja! Relativne reference so nam dale jedrnat način s katerim se lahko nanašamo na `C1` in branch force-anje (`-f`) nam je omogočilo, da hitro prestavimo branch na to lokacijo." ], - "command": "git branch -f master HEAD~3", + "command": "git branch -f main HEAD~3", "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" } }, @@ -1049,11 +1051,80 @@ exports.level = { "markdowns": [ "Sedaj ko smo si pogledali relativne reference in force branchanje v kombinaciji, uporabimo to, da rešimo naslednjo stopnjo.", "", - "Za dokončanje te stopnje, premakni `HEAD`, `master` in `bugFix` na njihove ciljne prikazane destinacije." + "Za dokončanje te stopnje, premakni `HEAD`, `main` in `bugFix` na njihove ciljne prikazane destinacije." ] } } ] - } + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "### Operator \"~\"", + "", + "Powiedzmy, że chcesz przejść o wiele poziomów wstecz na drzewie commitów. Wielokrotne wpisywanie `^` może być męczące. Na tą okazję Git ma również operator - tyldę (~).", + "", + "", + "Operator tyldy (opcjonalnie) przyjmuje numer porządkowy, który określa liczbę rodziców o ile chcesz się wspiąć. Zobaczmy to w akcji." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Podajmy liczbę commitów, które chcemy przeskoczyć za `~`." + ], + "afterMarkdowns": [ + "Boom! Tak szybko - referencje względne są czadowe." + ], + "command": "git checkout HEAD~4", + "beforeCommand": "git commit; git commit; git commit" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "### Forsowanie branczy", + "", + "Jesteś teraz ekspertem ds. referencji. *Wykorzystajmy* je do czegoś.", + "", + "Jednym z najczęstszych sposobów, w jaki korzystam z referencji względnych, są działania na gałęziach. Możesz bezpośrednio przypisać gałąź do commita za pomocą opcji `-f`. Coś w tym stylu:", + "", + "`git branch -f main HEAD~3`", + "", + "przenosi (na siłę) gałąź `main` trzy commity wstecz za HEADa." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Sprawdźmy poprzednią komendę w akcji." + ], + "afterMarkdowns": [ + "Proszę bardzo! Referencje względne umożliwiły w zwięzły sposób, by odnieść się do `C1`, a forsowanie gałęzi (`-f`) pozwoliło na szybkie przeniesienie gałęzi w to konkretne miejsce." + ], + "command": "git branch -f main HEAD~3", + "beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Teraz, gdy poznałeś referencje względne i forsowanie gałęzi w połączeniu, użyj ich do rozwiązania następnego poziomu.", + "", + "Aby ukończyć ten poziom przenieś `HEAD`, `main` oraz `bugFix` do wyświetlonych celów." + ] + } + } + ] + }, } }; diff --git a/src/levels/rampup/reversingChanges.js b/src/levels/rampup/reversingChanges.js index 92e7979e..d302741c 100644 --- a/src/levels/rampup/reversingChanges.js +++ b/src/levels/rampup/reversingChanges.js @@ -18,7 +18,8 @@ exports.level = { "ru_RU": "Отмена изменений в Git", "uk": "Відміна змін в Git", "vi": "Hoàn tác thay đổi trong Git", - "sl_SI": "Revertanje Sprememb v Gitu" + "sl_SI": "Revertanje Sprememb v Gitu", + "pl": "Odwracanie zmian w Gitcie", }, "hint": { "en_US": "Notice that revert and reset take different arguments.", @@ -35,7 +36,8 @@ exports.level = { "ru_RU": "Обрати внимание, что revert и reset принимают разные параметры.", "uk": "Зверни увагу на те що revert та reset приймають різні параметри", "vi": "Lưu ý rằng hoàn tác(revert) và đặt lại(reset) có những đối số khác nhau.", - "sl_SI": "Revert in reset sprejmeta različne argumente." + "sl_SI": "Revert in reset sprejmeta različne argumente.", + "pl": "Zauważ, że revert i reset przyjmują różne argumenty", }, "startDialog": { "en_US": { @@ -64,7 +66,7 @@ exports.level = { "Let's see what that looks like:" ], "afterMarkdowns": [ - "Nice! Git moved the master branch reference back to `C1`; now our local repository is in a state as if `C2` had never happened." + "Nice! Git moved the main branch reference back to `C1`; now our local repository is in a state as if `C2` had never happened." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -127,7 +129,7 @@ exports.level = { "Veamos cómo es eso:" ], "afterMarkdowns": [ - "¡Genial! git simplemente movió la referencia de la rama master atrás hacia `C1`. Ahora tu repositorio local está en un estado como si `C2` nunca hubiera ocurrido." + "¡Genial! git simplemente movió la referencia de la rama main atrás hacia `C1`. Ahora tu repositorio local está en un estado como si `C2` nunca hubiera ocurrido." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -190,7 +192,7 @@ exports.level = { "Veamos cómo es eso:" ], "afterMarkdowns": [ - "¡Genial! git simplemente movió la referencia de la rama master atrás hacia `C1`. Ahora tu repositorio local está en un estado como si `C2` nunca hubiera ocurrido." + "¡Genial! git simplemente movió la referencia de la rama main atrás hacia `C1`. Ahora tu repositorio local está en un estado como si `C2` nunca hubiera ocurrido." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -253,7 +255,7 @@ exports.level = { "Vejamos como funciona:" ], "afterMarkdowns": [ - "Legal! O Git simplesmente moveu a referência do ramo master de volta para `C1`; agora o nosso repositório local está em um estado como se o `C2` nunca tivesse acontecido." + "Legal! O Git simplesmente moveu a referência do ramo main de volta para `C1`; agora o nosso repositório local está em um estado como se o `C2` nunca tivesse acontecido." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -316,7 +318,7 @@ exports.level = { "Vexamos o seu funcionamento:" ], "afterMarkdowns": [ - "¡Bye bye! Git moveu a referencia da rama master cara atrás, ata o commit `C1`; agora o teu repositorio local está coma se o commit `C2` nunca acontecera." + "¡Bye bye! Git moveu a referencia da rama main cara atrás, ata o commit `C1`; agora o teu repositorio local está coma se o commit `C2` nunca acontecera." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -361,9 +363,9 @@ exports.level = { "markdowns": [ "## Änderungen in Git rückgängig machen", "", - "Es gibt viele Möglichkeiten, Änderungen in Git zurückzunehmen. Und ebenso wie das Committen hat auch das rückgängig Machen eine Basis-Komponente (Dateien und Inhalte vormerken) und einen übergeordneten Aspekt (wie die Änderungen tatsächlich zurückgenommen werden). Diese Applikation beschäftigt sich wiederum mit den übergeordneten Vorgängen.", + "Es gibt viele Möglichkeiten, Änderungen in Git zurückzunehmen. Und ebenso wie das Committen hat auch das rückgängig Machen eine Basis-Komponente (Dateien und Inhalte vormerken) und einen übergeordneten Aspekt (wie die Änderungen tatsächlich zurückgenommen werden). Dieses Level beschäftigt sich mit den übergeordneten Vorgängen.", "", - "Es gibt grundsätzlich zwei Arten in Git etwas rückgängig zu machen -- einerseits `git reset` und andererseit `git revert`. Wir schauen uns beide mal an.", + "Es gibt grundsätzlich zwei Arten in Git etwas rückgängig zu machen -- einerseits `git reset` und andererseits `git revert`. Wir schauen uns beide mal an.", "" ] } @@ -374,12 +376,12 @@ exports.level = { "beforeMarkdowns": [ "## Git Reset", "", - "`git reset` nimm Änderungen zurück, indem es eine Branch-Referenz auf einen anderen Commit setzt. Es ist ein bisschen (aber nicht wirklich) wie \"Geschichte umschreiben\"; `git reset` bewegt einen Branch auf einen anderen Commit, als hätte er nie anders ausgesehen.", + "`git reset` nimmt Änderungen zurück, indem es eine Branch-Referenz auf einen anderen Commit setzt. Es ist ein bisschen (aber nicht wirklich) wie \"Geschichte umschreiben\"; `git reset` bewegt einen Branch auf einen anderen Commit, als hätte er nie anders ausgesehen.", "", "Schauen wir, wie das aussieht:" ], "afterMarkdowns": [ - "Schick! Git hat den `master` einfach auf `C1` gesetzt; unser lokales Repository sieht nun so aus, als hätte `C2` nie stattgefunden." + "Schick! Git hat den `main` einfach auf `C1` gesetzt; unser lokales Repository sieht nun so aus, als hätte `C2` nie stattgefunden." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -505,7 +507,7 @@ exports.level = { "Regardons à quoi cela ressemble :" ], "afterMarkdowns": [ - "Bravo ! Git a simplement déplacé la référence de la branche master en la faisant revenir sur `C1`; désormais notre dépôt est dans le même état que si `C2` n'avait jamais eu lieu." + "Bravo ! Git a simplement déplacé la référence de la branche main en la faisant revenir sur `C1`; désormais notre dépôt est dans le même état que si `C2` n'avait jamais eu lieu." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -569,7 +571,7 @@ exports.level = { ], "command": "git reset HEAD~1", "afterMarkdowns": [ - "漂亮! Git 把 master 分支移回到 `C1`;现在我们的本地代码库根本就不知道有 `C2` 这个提交了。", + "漂亮! Git 把 main 分支移回到 `C1`;现在我们的本地代码库根本就不知道有 `C2` 这个提交了。", "", "(译者注:在reset后, `C2` 所做的变更还在,但是处于未加入暂存区状态。)" ], @@ -634,7 +636,7 @@ exports.level = { ], "command": "git reset HEAD~1", "afterMarkdowns": [ - "太好了! Git 把 master branch 簡單地移回到 `C1`;現在在我們的 local 已經退回到沒有 commit 過 `C2` 的狀態了。" + "太好了! Git 把 main branch 簡單地移回到 `C1`;現在在我們的 local 已經退回到沒有 commit 過 `C2` 的狀態了。" ], "beforeCommand": "git commit" } @@ -696,7 +698,7 @@ exports.level = { "어떤 그림인지 한번 보죠:" ], "afterMarkdowns": [ - "그림에서처럼 master 브랜치가 가리키던 커밋을 `C1`로 다시 옮겼습니다; 이러면 로컬 저장소에는 마치 `C2`커밋이 아예 없었던 것과 마찬가지 상태가 됩니다." + "그림에서처럼 main 브랜치가 가리키던 커밋을 `C1`로 다시 옮겼습니다; 이러면 로컬 저장소에는 마치 `C2`커밋이 아예 없었던 것과 마찬가지 상태가 됩니다." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -759,7 +761,7 @@ exports.level = { "Посмотрим, как это работает:" ], "afterMarkdowns": [ - "Неплохо! Git просто перенёс ссылку на `master` обратно на коммит `C1`. Теперь наш локальный репозиторий в состоянии, как будто `C2` никогда не существовал." + "Неплохо! Git просто перенёс ссылку на `main` обратно на коммит `C1`. Теперь наш локальный репозиторий в состоянии, как будто `C2` никогда не существовал." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -822,7 +824,7 @@ exports.level = { "Давайте подивимося, як це виглядає:" ], "afterMarkdowns": [ - "Чудово! Git перемістив посилання гілки master назад до `C1`; тепер наш локальний репозиторій в такому стані, наче коміту `C2` ніколи не було." + "Чудово! Git перемістив посилання гілки main назад до `C1`; тепер наш локальний репозиторій в такому стані, наче коміту `C2` ніколи не було." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -885,7 +887,7 @@ exports.level = { "Cùng xem thử nó trông thế nào nào:" ], "afterMarkdowns": [ - "Hay! Git chuyển tham chiếu của master trở lại `C1`; bây giờ kho cá nhân của ta trông như thể commit `C2` chưa bao giờ xảy ra vậy." + "Hay! Git chuyển tham chiếu của main trở lại `C1`; bây giờ kho cá nhân của ta trông như thể commit `C2` chưa bao giờ xảy ra vậy." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -948,7 +950,7 @@ exports.level = { "Poglejmo kako to izgleda:" ], "afterMarkdowns": [ - "Lepo! Git je premaknil master branch referenco nazaj na `C1`; sedaj je naš lokalen repozitorij v stanju, kot da se `C2` sploh ni nikoli zgodil." + "Lepo! Git je premaknil main branch referenco nazaj na `C1`; sedaj je naš lokalen repozitorij v stanju, kot da se `C2` sploh ni nikoli zgodil." ], "command": "git reset HEAD~1", "beforeCommand": "git commit" @@ -984,6 +986,59 @@ exports.level = { } } ] + }, + "pl": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Odwracanie zmian w Gitcie", + "", + "Istnieje wiele sposobów na odwrócenie zmian w Gicie. Podobnie jak w przypadku commitowania, odwracanie zmian w Gitcie ma zarówno komponent niskopoziomowy (zapisywanie stanów plików lub ich fragmentów), jak i wysokopoziomowy (sposób, w jaki zmiany są faktycznie odwracane). Nasza aplikacja skupi się na tym ostatnim.", + "", + "Istnieją dwa podstawowe sposoby na cofnięcie zmian w Gicie - jeden z nich to `git reset`, a drugi `git revert`. Przyjrzymy się każdemu z nich w następnym oknie", + "" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "## Git Reset", + "", + "`git reset` odwraca zmiany poprzez przesunięcie referencji gałęzi wstecz w czasie do starszego commita. Można myśleć o tym jako \"przepisywaniu historii\", \"resetowanie\" spowoduje cofnięcie gałęzi do tyłu, tak jakby commity powyżej nigdy nie zostały dodane.", + "", + "Sprawdźmy jak to działa:" + ], + "afterMarkdowns": [ + "Świetnie! Git przeniósł referencję gałęzi `main` do `C1`; teraz nasze lokalne repozytoriu jest w stanie, jakby commit `C2` nigdy nie powstał." + ], + "command": "git reset HEAD~1", + "beforeCommand": "git commit" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "## Git Revert", + "", + "Podczas gdy resetowanie działa świetnie dla lokalnych gałęzi na własnej maszynie, jego metoda \"przepisywania historii\" nie działa dla gałęzi zdalnych, które są używane przez innych.", + "", + "W celu odwrócenia zmian i *podzielenia się* tymi odwróconymi zmianami z innymi, musimy użyć `git revert`. Zobaczmy to w akcji." + ], + "afterMarkdowns": [ + "Dziwne, nowy commit spadł poniżej zobowiązania, które chcieliśmy odwrócić. To dlatego, że to nowy commit `C2'` wprowadza *zmiany* -- tak się składa, że wprowadza zmiany, które idealnie odwracają commit `C2`.", + "", + "Dzięki `git revert`, możesz wypchnąć swoje zmiany, by podzielić się nimi z innymi." + ], + "command": "git revert HEAD", + "beforeCommand": "git commit" + } + }, + ] } } }; diff --git a/src/levels/rebase/manyRebases.js b/src/levels/rebase/manyRebases.js index 746558e6..4c38cd61 100644 --- a/src/levels/rebase/manyRebases.js +++ b/src/levels/rebase/manyRebases.js @@ -5,7 +5,7 @@ exports.level = { "git cherry-pick": true }, "goalTreeString": "%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C7%27%22%2C%22id%22%3A%22master%22%7D%2C%22bugFix%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22bugFix%22%7D%2C%22side%22%3A%7B%22target%22%3A%22C6%27%22%2C%22id%22%3A%22side%22%7D%2C%22another%22%3A%7B%22target%22%3A%22C7%27%22%2C%22id%22%3A%22another%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C5%22%3A%7B%22parents%22%3A%5B%22C4%22%5D%2C%22id%22%3A%22C5%22%7D%2C%22C6%22%3A%7B%22parents%22%3A%5B%22C5%22%5D%2C%22id%22%3A%22C6%22%7D%2C%22C7%22%3A%7B%22parents%22%3A%5B%22C5%22%5D%2C%22id%22%3A%22C7%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%2C%22C4%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C4%27%22%7D%2C%22C5%27%22%3A%7B%22parents%22%3A%5B%22C4%27%22%5D%2C%22id%22%3A%22C5%27%22%7D%2C%22C6%27%22%3A%7B%22parents%22%3A%5B%22C5%27%22%5D%2C%22id%22%3A%22C6%27%22%7D%2C%22C7%27%22%3A%7B%22parents%22%3A%5B%22C6%27%22%5D%2C%22id%22%3A%22C7%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D", - "solutionCommand": "git rebase master bugFix;git rebase bugFix side;git rebase side another;git rebase another master", + "solutionCommand": "git rebase main bugFix;git rebase bugFix side;git rebase side another;git rebase another main", "startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C3\",\"id\":\"bugFix\"},\"side\":{\"target\":\"C6\",\"id\":\"side\"},\"another\":{\"target\":\"C7\",\"id\":\"another\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C0\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C4\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C5\"],\"id\":\"C7\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}", "name": { "en_US": "Rebasing over 9000 times", @@ -22,24 +22,26 @@ exports.level = { "ru_RU": "Rebase over 9000 раз", "uk" : "Rebase over 9000 разів", "vi" : "Rebase hơn 9000 lần", - "sl_SI": "Več kot 9000 Rebaseov" + "sl_SI": "Več kot 9000 Rebaseov", + "pl" : "Ponad 9000 podbić" }, "hint": { - "en_US": "Remember, the most efficient way might be to only update master at the end...", - "de_DE": "Nicht vergessen: nur den master zu aktualisieren könnte die effizienteste Möglichkeit sein ...", - "es_AR": "Acordate, la manera más eficiente podría ser actualizar master sólo al final...", - "es_ES": "Recuerda, la manera más eficiente podría ser actualizar master sólo al final...", - "pt_BR": "Lembre-se, a forma mais eficiente pode ser atualizar o master por último...", - "gl" : "Lembra, a forma máis eficiente pode ser actualizar a rama master ó final...", - "fr_FR": "Rappelez-vous, la façon la plus efficace peut être de mettre à jour master seulement à la fin ...", + "en_US": "Remember, the most efficient way might be to only update main at the end...", + "de_DE": "Nicht vergessen: nur den main zu aktualisieren könnte die effizienteste Möglichkeit sein ...", + "es_AR": "Acordate, la manera más eficiente podría ser actualizar main sólo al final...", + "es_ES": "Recuerda, la manera más eficiente podría ser actualizar main sólo al final...", + "pt_BR": "Lembre-se, a forma mais eficiente pode ser atualizar o main por último...", + "gl" : "Lembra, a forma máis eficiente pode ser actualizar a rama main ó final...", + "fr_FR": "Rappelez-vous, la façon la plus efficace peut être de mettre à jour main seulement à la fin ...", "ja" : "最も効率的なやり方はmasterを最後に更新するだけかもしれない・・・", - "ko": "아마도 master를 마지막에 업데이트하는 것이 가장 효율적인 방법일 것입니다...", - "zh_CN": "记住,最后更新 master 分支可能是最高效的方法……", - "zh_TW": "要記住喔! 把 master branch 留到最後更新可能是最有效率的方法。", + "ko": "아마도 main을 마지막에 업데이트하는 것이 가장 효율적인 방법일 것입니다...", + "zh_CN": "记住,最后更新 main 分支可能是最高效的方法……", + "zh_TW": "要記住喔! 把 main branch 留到最後更新可能是最有效率的方法。", "ru_RU": "Не забудь, что лучше всего сдвинуть мастер в самом конце...", - "uk" : "Не забувай, що краще всього буде перемістити master в самому кінці... ", - "vi" : "Hãy nhớ rằng, cách tốt nhất có lẽ là nên cuối cùng mới cập nhật nhánh `master`... ", - "sl_SI": "Pomni, morda je najbolj učinkovit način posodabljanje masterja samo na koncu ..." + "uk" : "Не забувай, що краще всього буде перемістити main в самому кінці... ", + "vi" : "Hãy nhớ rằng, cách tốt nhất có lẽ là nên cuối cùng mới cập nhật nhánh `main`... ", + "sl_SI": "Pomni, morda je najbolj učinkovit način posodabljanje masterja samo na koncu ...", + "pl" : "Pamiętaj, że najskuteczniejszym sposobem może być aktualizacja `main` na końcu..." }, "startDialog": { "en_US": { @@ -50,7 +52,7 @@ exports.level = { "markdowns": [ "### Rebasing Multiple Branches", "", - "Man, we have a lot of branches going on here! Let's rebase all the work from these branches onto master.", + "Man, we have a lot of branches going on here! Let's rebase all the work from these branches onto main.", "", "Upper management is making this a bit trickier though -- they want the commits to all be in sequential order. So this means that our final tree should have `C7'` at the bottom, `C6'` above that, and so on, all in order.", "", @@ -68,7 +70,7 @@ exports.level = { "markdowns": [ "### Rebaseando múltiples ramas", "", - "Man, ¡hay un montón de ramas acá! Rebaseemos todo el trabajo de esas ramas sobre master.", + "Man, ¡hay un montón de ramas acá! Rebaseemos todo el trabajo de esas ramas sobre main.", "", "La gente de administración nos está haciendo las cosas un poco complicadas, igual -- quieren que nuestros commits estén todos en orden secuencial. Esto significa que nuestro árbol final tendría que tener `C7` al final, `C6` antes de ese, y así siguiendo, todos en orden.", "", @@ -86,7 +88,7 @@ exports.level = { "markdowns": [ "### Rebaseando múltiples ramas", "", - "Fíjate, ¡hay un montón de ramas aquí! Rebaseemos todo el trabajo de esas ramas sobre master.", + "Fíjate, ¡hay un montón de ramas aquí! Rebaseemos todo el trabajo de esas ramas sobre main.", "", "La gente de administración nos está haciendo las cosas un poco complicadas, igual -- quieren que nuestros commits estén todos en orden secuencial. Esto significa que nuestro árbol final tendría que tener `C7` al final, `C6` antes de ese, y así siguiendo, todos en orden.", "", @@ -104,7 +106,7 @@ exports.level = { "markdowns": [ "### Fazendo rebase em múltiplos ramos", "", - "Cara, temos um monte de ramos aqui! Vamos fazer um rebase de todo o trabalho contido nesses ramos para o master.", + "Cara, temos um monte de ramos aqui! Vamos fazer um rebase de todo o trabalho contido nesses ramos para o main.", "", "No entanto, a cúpula da administração está tornando as coisas mais difíceis -- eles querem que os commits estejam todos em ordem sequencial. Isso significa que a nossa árvore final precisa ter o `C7'` por último, `C6'` acima disso, e assim por diante, tudo ordenado.", "", @@ -122,7 +124,7 @@ exports.level = { "markdowns": [ "### Fazendo rebase en múltiples ramas", "", - "Neno, temos unha chea de ramas aquí! Imos facer rebase de todo o traballo contido nesas ramas para a master.", + "Neno, temos unha chea de ramas aquí! Imos facer rebase de todo o traballo contido nesas ramas para a main.", "", "A xente de administración estanos a facer as cousas complicadas, igual eles queren que os commits estén todos en orde secuencial. Isto significa que a nosa árbore final precisa ter `C7'` de último, `C6'` inda por riba, está por adiante, todo ordeado.", "", @@ -140,7 +142,7 @@ exports.level = { "markdowns": [ "### Rebaser plusieurs branches", "", - "Dis-donc, nous avons beaucoup de branches par ici ! Rebasons tout le travail de ces branches dans master.", + "Dis-donc, nous avons beaucoup de branches par ici ! Rebasons tout le travail de ces branches dans main.", "", "Les patrons rendent cela encore plus compliqué -- ils veulent que les commits soient fait de manière séquentielle. Cela signifie donc que dans votre arbre final `C7'` est tout en bas, `C6'` juste au-dessus, et ainsi de suite, tout dans cet ordre.", "", @@ -158,11 +160,11 @@ exports.level = { "markdowns": [ "### Mehrere Branches rebasen", "", - "Wow, wir haben hier ja eine Menge Branches! Lass uns mal die ganze Arbeit, die in diesen Branches steckt, auf den `master` packen, um sie auf Stand zu bringen.", + "Wow, wir haben hier ja eine Menge Branches! Lass uns mal die ganze Arbeit, die in diesen Branches steckt, auf den `main` packen, um sie auf Stand zu bringen.", "", - "Die Führungsetage macht die Sache allerdings etwas trickreicher -- die möchten, dass alle Commits in aufsteigender Reihenfolge geordnet sind. Das heißt unser fertiger Baum sollte `C7` ganz unten haben, darüber `C6` und so weiter und so fort.", + "Die Führungsetage macht die Sache allerdings etwas trickreicher -- sie möchte, dass alle Commits in aufsteigender Reihenfolge geordnet sind. Das heißt unser fertiger Baum sollte `C7` ganz unten haben, darüber `C6` und so weiter und so fort.", "", - "Wenn du irgendwo einen Fehler machst, benütze ruhig `reset` um wieder von vorne anzufangen oder `undo` um einen Schritt zurückzugehen. Schau dir die Lösung an und versuch es in weniger Schritten hinzubekommen." + "Wenn du irgendwo einen Fehler machst, benütze ruhig `reset` um wieder von vorne anzufangen oder `undo` um einen Schritt zurückzugehen. Schau dir die Lösung an und versuche es in weniger Schritten hinzubekommen." ] } } @@ -194,7 +196,7 @@ exports.level = { "markdowns": [ "### 多分支 rebase", "", - "哥们儿,我们准备了很多分支!咱们把这些分支 rebase 到 master 上吧。", + "哥们儿,我们准备了很多分支!咱们把这些分支 rebase 到 main 上吧。", "", "但是你的领导给你提了点要求 —— 他们希望得到有序的提交历史,也就是我们最终的结果应该是 `C6'` 在 `C7'` 上面, `C5'` 在 `C6'` 上面,依此类推。", "", @@ -212,7 +214,7 @@ exports.level = { "markdowns": [ "### rebase 多個 branch", "", - "嗨!現在我們有很多 branch 了啦!讓我們做一下 rebase,將這些分支接到 master branch 上吧。", + "嗨!現在我們有很多 branch 了啦!讓我們做一下 rebase,將這些分支接到 main branch 上吧。", "", "但是你的主管找了點麻煩,他們希望得到有序的 commit history,也就是我們最終的結果是 `C7'` 在最下面,`C6'` 在它上面,以此類推。", "", @@ -230,7 +232,7 @@ exports.level = { "markdowns": [ "### 여러 브랜치를 리베이스(rebase)하기 ", "", - "음, 여기 꽤 여러개의 브랜치가 있습니다! 이 브랜치들의 모든 작업내역을 master에 리베이스 해볼까요?", + "음, 여기 꽤 여러개의 브랜치가 있습니다! 이 브랜치들의 모든 작업내역을 `main` 브랜치에 리베이스 해볼까요?", "", "윗선에서 일을 복잡하게 만드네요 -- 그 분들이 이 모든 커밋들을 순서에 맞게 정렬하라고 합니다. 그럼 결국 우리의 최종 목표 트리는 제일 아래에 `C7'` 커밋, 그 위에 `C6'` 커밋, 또 그 위에 순서대로 보여합니다.", "", @@ -266,7 +268,7 @@ exports.level = { "markdowns": [ "### Ребейсимо кілька гілок", "", - "В нас тут до біса гілок! Перенесімо всі зміни з різних гілок в master.", + "В нас тут до біса гілок! Перенесімо всі зміни з різних гілок в main.", "", "Але вище керівництво нам не полегшує життя -- вони хочуть, щоб всі коміти були впорядковані. Це означає, що в результаті коміт `C7'` має бути з самого низу, `C6'` трохи вище, і так далі, все за порядком.", "", @@ -284,7 +286,7 @@ exports.level = { "markdowns": [ "### Rebase nhiều nhánh", "", - "Giời ạ, sao mà nhiều nhánh thế khôn biết! Chuyển hết chúng vào `master` thôi.", + "Giời ạ, sao mà nhiều nhánh thế khôn biết! Chuyển hết chúng vào `main` thôi.", "", "Nhưng mà cha quản lý lại muốn oái oăm hơn cơ -- hắn muốn tất cả commit xếp thẳng hàng. Nghĩa là cây lịch sử của ta sẽ có `C7'` ở cuối, phía trên là`C6'`, và cứ thế theo đúng thứ tự.", "", @@ -301,7 +303,7 @@ exports.level = { "markdowns": [ "### Rebasing Večih Branchev", "", - "Uf, tu imamo pa res veliko branchev! Pojdimo in rebaseajmo vse delo iz teh branchev na master.", + "Uf, tu imamo pa res veliko branchev! Pojdimo in rebaseajmo vse delo iz teh branchev na main.", "", "Toda vodstvo se je odločilo, da le ne bo tako preprosto -- žeijo da so vsi commiti v zaporednem vrstnem redu. To pomeni, da bo naše ciljno drevo moralo imeti `C7'` na dnu, `C6'` nad njim, in tako dalje po vrsti.", "", diff --git a/src/levels/rebase/selectiveRebase.js b/src/levels/rebase/selectiveRebase.js index 86ec93c2..01175c26 100644 --- a/src/levels/rebase/selectiveRebase.js +++ b/src/levels/rebase/selectiveRebase.js @@ -51,7 +51,7 @@ exports.level = { "", "WOAHHHhhh Nelly! We have quite the goal to reach in this level.", "", - "Here we have `master` that is a few commits ahead of branches `one` `two` and `three`. For whatever reason, we need to update these three other branches with modified versions of the last few commits on master.", + "Here we have `main` that is a few commits ahead of branches `one` `two` and `three`. For whatever reason, we need to update these three other branches with modified versions of the last few commits on main.", "", "Branch `one` needs a re-ordering and a deletion of `C5`. `two` needs pure reordering, and `three` only needs one commit!", "", @@ -71,7 +71,7 @@ exports.level = { "", "WOAHHHhhh ! Nous avons pas mal d'objectifs dans ce niveau.", "", - "Actuellement nous avons `master` qui se situe quelques commits devant les branches `one` `two` et `three`. Pour une raison quelconque, nous avons besoin de mettre ces trois branches à jour avec les modifications des derniers commits sur master.", + "Actuellement nous avons `main` qui se situe quelques commits devant les branches `one` `two` et `three`. Pour une raison quelconque, nous avons besoin de mettre ces trois branches à jour avec les modifications des derniers commits sur main.", "", "La branche `one` a besoin d'une réorganisation et de la suppression de `C5`. `two` doit simplement être réordonnée, et `three` ne nécessite qu'un commit !", "", @@ -91,7 +91,7 @@ exports.level = { "", "¡WOAHHHhhh Nelly! Tenemos un _pequeño_ objetivo al que llegar en este nivel.", "", - "Tenemos un `master` que está algunos commits adelante de `one`, `two` y `three`. Por alguna razón, necesitamos actualizar esas tres ramas con versiones modificadas de los últimos commits de master.", + "Tenemos un `main` que está algunos commits adelante de `one`, `two` y `three`. Por alguna razón, necesitamos actualizar esas tres ramas con versiones modificadas de los últimos commits de main.", "", "La rama `one` necesita reordenarse, y eliminar `C5`. `two` necesita sólo reordenamiento, y `three` ¡sólo necesita un commit!", "", @@ -111,7 +111,7 @@ exports.level = { "", "¡Vaya, vaya! Tenemos un _pequeño_ objetivo al que llegar en este nivel.", "", - "La rama `master` se encuentra algunos commits por delante de `one`, `two` y `three`. Por alguna razón, necesitamos actualizar esas tres ramas con versiones modificadas de los últimos commits de master.", + "La rama `main` se encuentra algunos commits por delante de `one`, `two` y `three`. Por alguna razón, necesitamos actualizar esas tres ramas con versiones modificadas de los últimos commits de main.", "", "La rama `one` necesita reordenarse, y eliminar `C5`. `two` necesita sólo reordenamiento, y `three` ¡sólo necesita un commit!", "", @@ -131,7 +131,7 @@ exports.level = { "", "Uhuuuuu Nelly! Temos um belo de um objetivo para alcançar neste nível.", "", - "Temos aqui um `master` que está alguns commits atrás dos ramos `one`, `two` e `three`. Seja lá por qual razão, precisamos atualizar esses três outros ramos com versões modificadas dos últimos commits do master.", + "Temos aqui um `main` que está alguns commits atrás dos ramos `one`, `two` e `three`. Seja lá por qual razão, precisamos atualizar esses três outros ramos com versões modificadas dos últimos commits do main.", "", "O ramo `one` precisa de uma reordenação e da exclusão do `C5`. O `two` precisa apenas de reordenação. O `three` precisa de um único commit!", "", @@ -151,7 +151,7 @@ exports.level = { "", "¡Íscalle lura! Temos un _pequeno_ obxectivo que acadar neste nivel.", "", - "Temos aquí un `master` que está algúns commits por detrás das ramas `one`, `two` e `three`. Por algunha razón, precisamos atualizar esas tres ramas con versións modificadas dos últimos commits de master.", + "Temos aquí un `main` que está algúns commits por detrás das ramas `one`, `two` e `three`. Por algunha razón, precisamos atualizar esas tres ramas con versións modificadas dos últimos commits de main.", "", "A rama `one` precisa de unha reordenación, e votar fora a `C5`. O `two` precisa apenas de reordenacións. O `three` precisa dun único commit!", "", @@ -171,7 +171,7 @@ exports.level = { "", "Puh! Wir haben ein ganz schön schweres Ziel für dieses Level.", "", - "Wir haben hier einen `master`, der ein paar Commits weiter ist als die Branche `one`, `two` und `three`. Aus welchem Grund auch immer müssen wir diese drei anderen Branches mit modifizierten Versionen der paar letzten Commits von `master` aktualisieren.", + "Wir haben hier einen `main`, der ein paar Commits weiter ist als die Branche `one`, `two` und `three`. Aus welchem Grund auch immer müssen wir diese drei anderen Branches mit modifizierten Versionen der paar letzten Commits von `main` aktualisieren.", "", "Branch `one` benötigt eine Umsortierung und `C5` muss gelöscht werden. `two` muss nur umsortiert werden und `three` braucht nur einen Commit!", "", @@ -191,7 +191,7 @@ exports.level = { "", "なんということでしょう。今回のレベルクリアのために、やることがたくさんあります。", "", - "いま`master`が指しているコミットの数個前のコミットに、ブランチ`one`、`two`それから`three`があります。何か事情があって、これらの3つのブランチをmasterが指している最新の状態に更新したいケースを考えます。", + "いま`main`が指しているコミットの数個前のコミットに、ブランチ`one`、`two`それから`three`があります。何か事情があって、これらの3つのブランチをmasterが指している最新の状態に更新したいケースを考えます。", "", "ブランチ`one`に対しては、順序の変更と`C5`の削除が必要です。`two`では順序の変更のみ、`three`に対しては1回だけコミットすればOKです。", "", @@ -211,7 +211,7 @@ exports.level = { "", "哇塞大神!这关我们要来点不同的!", "", - "现在我们的 `master` 分支是比 `one`、`two` 和 `three` 要多几个提交。出于某种原因,我们需要把 `master` 分支上最近的几次提交做不同的调整后,分别添加到各个的分支上。", + "现在我们的 `main` 分支是比 `one`、`two` 和 `three` 要多几个提交。出于某种原因,我们需要把 `main` 分支上最近的几次提交做不同的调整后,分别添加到各个的分支上。", "", "`one` 需要重新排序并删除 `C5`,`two` 仅需要重排排序,而 `three` 只需要提交一次。", "", @@ -231,7 +231,7 @@ exports.level = { "", "哇塞大神!這關我們要來點不同的!", "", - "現在我們的 `master` branch 是比 `one` `two` 和 `three` 這三個 branch 多了幾個 commit。由於某種原因,我們需要將 master 所新增的幾個 commit 套用到其它三個 branch 上面。", + "現在我們的 `main` branch 是比 `one` `two` 和 `three` 這三個 branch 多了幾個 commit。由於某種原因,我們需要將 main 所新增的幾個 commit 套用到其它三個 branch 上面。", "", "`one` branch 需要重新排序和取消 `C5` 這一個 commit, `two` 需要完全重排,而 `three` 只需要再一個 commit。", "", @@ -251,7 +251,7 @@ exports.level = { "", "음, 이번에는 만만치 않습니다!", "", - "여기 `master` 브랜치의 몇 번 이전 커밋에 `one`, `two`,`three` 총 3개의 브랜치가 있습니다. 어떤 이유인지는 몰라도, master의 최근 커밋 몇 개를 나머지 세 개의 브랜치에 반영하려고 합니다.", + "여기 `main` 브랜치의 몇 번 이전 커밋에 `one`, `two`,`three` 총 3개의 브랜치가 있습니다. 어떤 이유인지는 몰라도, main의 최근 커밋 몇 개를 나머지 세 개의 브랜치에 반영하려고 합니다.", "", "`one` 브랜치는 순서를 바꾸고 `C5`커밋을 삭제하고, `two`브랜치는 순서만 바꾸며, `three`브랜치는 하나의 커밋만 가져옵시다!", "", @@ -271,7 +271,7 @@ exports.level = { "", "УОУ! В этом уровне придётся попотеть!", "", - "У нас тут по несколько коммитов в ветках `one`, `two` и `three`. Не важно почему, но нам надо видоизменить эти три ветки при помощи более поздних коммитов из ветки `master`.", + "У нас тут по несколько коммитов в ветках `one`, `two` и `three`. Не важно почему, но нам надо видоизменить эти три ветки при помощи более поздних коммитов из ветки `main`.", "", "Ветка `one` нуждается в изменении порядка и удалении `C5`. `two` требует полного перемешивания, а `three` хочет получить только один коммит", "", @@ -291,7 +291,7 @@ exports.level = { "", "Ооо Неля! Ну й завданнячко.", "", - "Ми маємо гілку `master`, яка на кілька комітів попереду гілок `one`, `two` та `three`. З незрозумілих причин, нам потрібно оновити ці гілки більш пізніми змінами з мастеру.", + "Ми маємо гілку `main`, яка на кілька комітів попереду гілок `one`, `two` та `three`. З незрозумілих причин, нам потрібно оновити ці гілки більш пізніми змінами з мастеру.", "", "Гілку `one` потрібно впорядкувати і видалити `C5`. Гілку `two` також потрібно впорядкувати, а в гілку `three` потрібно додати ще один коміт!", "", @@ -311,7 +311,7 @@ exports.level = { "", "Chààà, anh bạn! Thử thách lần này hơi khoai đây.", "", - "Hiện tại thì nhánh `master` đang có nhiều commit hơn các nhánh `one`, `two` và `three`. Vì một lý do nào đó, ta cần cập nhật những commit trên nhánh `master` lên các nhánh còn lại kèm với một vài điều chỉnh .", + "Hiện tại thì nhánh `main` đang có nhiều commit hơn các nhánh `one`, `two` và `three`. Vì một lý do nào đó, ta cần cập nhật những commit trên nhánh `main` lên các nhánh còn lại kèm với một vài điều chỉnh .", "", "Nhánh `one` thì cần sắp xếp lại và xóa commit `C5`, trong khi đó nhánh `two` thì đơn giản sắp xếp, còn `three` thì chỉ cần một commit!", "", @@ -330,7 +330,7 @@ exports.level = { "", "WOAHHHhhh Miško! Ta stopnja bo pa pravi izziv.", "", - "Tu imamo `master`, ki je nekaj commitov pred branchi `one`, `two` in `three`. Iz neznanega razloga moramo posodobiti te tri druge branche z modificiranimi različicami zadnjih nekaj commitov na masterju.", + "Tu imamo `main`, ki je nekaj commitov pred branchi `one`, `two` in `three`. Iz neznanega razloga moramo posodobiti te tri druge branche z modificiranimi različicami zadnjih nekaj commitov na masterju.", "", "Branch `one` potrebuje prerazporeditev in izbris `C5`. `two` rabi samo prerazporeditev, `three` pa potrebuje samo en commit!", "", diff --git a/src/levels/remote/clone.js b/src/levels/remote/clone.js index 8f7c5f66..ec30395b 100644 --- a/src/levels/remote/clone.js +++ b/src/levels/remote/clone.js @@ -503,9 +503,9 @@ exports.level = { "", "Nichts desto weniger haben entfernte Repositorys eine Menge toller Eigenschaften:", "", - "- Vor allem: sie sind ein super Backup! Lokale Git-Repositorys können deine Arbeitskopie ein jeden beliebigen früheren Zustand versetzen (wie du ja weißt), aber all diese Informationen liegen eben bei dir lokal. Wenn es Kopien von deinem Repository auf anderen Rechnern gibt, kannst du ruhig all deine Daten verlieren und trotzdem genau da weitermachen, wo du aufgehört hast.", + "- Vor allem: sie sind ein super Backup! Lokale Git-Repositorys können deine Arbeitskopie in jeden beliebigen früheren Zustand versetzen (wie du ja weißt), aber all diese Informationen liegen eben bei dir lokal. Wenn es Kopien von deinem Repository auf anderen Rechnern gibt, kannst du ruhig all deine Daten verlieren und trotzdem genau da weitermachen, wo du aufgehört hast.", "", - "- Noch wichtiger: Remotes geben dem Entwickeln eine soziale Komponente! Wenn eine Kopie deines Projekts woanders liegt können deine Freunde sehr einfach etwas zu dem Projekt beitragen (oder sich deine neuesten Änderungen holen).", + "- Noch wichtiger: Remotes geben dem Entwickeln eine soziale Komponente! Wenn eine Kopie deines Projekts woanders liegt, können deine Freunde sehr einfach etwas zu dem Projekt beitragen (oder sich deine neuesten Änderungen holen).", "", "Websites, die die Aktivitäten um diese entfernten Repositorys darstellen (wie [GitHub](https://github.com/) oder [Phabricator](http://phabricator.org/)) erfreuen sich zunehmender Beliebtheit, aber entfernte Repositorys sind _immer_ das Rückgrat für diese Werkzeuge. Deshalb ist es wichtig, sie zu verstehen." ] @@ -519,7 +519,7 @@ exports.level = { "", "Bis jetzt hat sich Learn Git Branching darauf konzentriert, die Grundlagen der _lokalen_ Arbeit mit Repositorys zu vermitteln (Branche anlegen, zusammenführen, Rebasen etc). Jetzt wollen wir allerdings lernen mit entfernten Repositorys zu arbeiten und brauchen für die Level eine entsprechende Umgebung. Die schaffen wir mit `git clone`.", "", - "In der Realität ist `git clone` eigentlich der Befehl, mit dem du eine _lokale_ Kopie eines _entfernten_ Repositorys erstellst (das zum Beispiel auf GitHub liegt). Wir benutzen diesen Befehl in Learn Git Branching allerdings ein wenig anders -- hier macht `git clone` tatsächlich eine Kopie von deinem lokalen Repository auf einem \"entfernten Server\". Klar, das ist eigentlich genau das Gegenteil von dem was der echte Befehl macht, aber es hilft den Zusammenhang zwischen Cloning und der Arbeit mit entfernten Repositorys herzustellen, also machen wir's einfach so.", + "In der Realität ist `git clone` eigentlich der Befehl, mit dem du eine _lokale_ Kopie eines _entfernten_ Repositorys erstellst (das zum Beispiel auf GitHub liegt). Wir benutzen diesen Befehl in Learn Git Branching allerdings ein wenig anders -- hier macht `git clone` stattdessen eine Kopie von deinem lokalen Repository auf einem \"entfernten Server\". Klar, das ist eigentlich genau das Gegenteil von dem, was der echte Befehl macht, aber es hilft den Zusammenhang zwischen Cloning und der Arbeit mit entfernten Repositorys herzustellen, also machen wir's einfach so.", "" ] } diff --git a/src/levels/remote/fakeTeamwork.js b/src/levels/remote/fakeTeamwork.js index b58b226d..7046d744 100644 --- a/src/levels/remote/fakeTeamwork.js +++ b/src/levels/remote/fakeTeamwork.js @@ -57,7 +57,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "The default behavior of `fakeTeamwork` is to simply plop down a commit on master." + "The default behavior of `fakeTeamwork` is to simply plop down a commit on main." ], "afterMarkdowns": [ "There we go -- the remote was updated with a new commit, and we haven't downloaded that commit yet because we haven't run `git fetch`." @@ -111,7 +111,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Le comportement par défaut de `fakeTeamwork` est tout simplement de faire apparaître un commit sur le master distant :" + "Le comportement par défaut de `fakeTeamwork` est tout simplement de faire apparaître un commit sur le main distant :" ], "afterMarkdowns": [ "Voilà : le dépôt distant a été mis à jour avec un nouveau commit, et nous n'avons pas encore téléchargé ce commit parce que nous n'avons pas exécuté la commande `git fetch`." @@ -165,7 +165,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "El comportamiento por default de `fakeTeamwork` es simplemente crear un commit en master." + "El comportamiento por default de `fakeTeamwork` es simplemente crear un commit en main." ], "afterMarkdowns": [ "Ahí está: el remoto se actualizó con un nuevo commit, y todavía no nos bajamos ese commit porque aún no hicimos `git fetch`." @@ -219,7 +219,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "El comportamiento por default de `fakeTeamwork` es simplemente crear un commit en master." + "El comportamiento por default de `fakeTeamwork` es simplemente crear un commit en main." ], "afterMarkdowns": [ "Ahí está: el remoto se actualizó con un nuevo commit, y todavía no nos bajamos ese commit porque aún no hicimos `git fetch`." @@ -273,7 +273,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "O comportamento padrão do `fakeTeamwork` é simplesmente fazer aparecer um commit no master." + "O comportamento padrão do `fakeTeamwork` é simplesmente fazer aparecer um commit no main." ], "afterMarkdowns": [ "Aqui vamos nos -- o repositório remoto foi atualizado com um novo commit, e ainda não baixamos esse commit porque não executamos um `git fetch`." @@ -327,7 +327,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "O comportamento por defecto de `fakeTeamwork` é simplemente crear un commit en master na rama remota." + "O comportamento por defecto de `fakeTeamwork` é simplemente crear un commit en main na rama remota." ], "afterMarkdowns": [ "Ahí o tes: a rama remota actualizouse cun novo commit, e aínda non nos baixamos ese commit porque inda non fixemos `git fetch`." @@ -381,7 +381,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "`fakeTeamwork` 的預設行為是在送一個 commit 給 master 分支" + "`fakeTeamwork` 的預設行為是在送一個 commit 給 main 分支" ], "afterMarkdowns": [ "我就說吧!remote 已經藉由一個新的 commit 而更新了,而且因為我們還沒有用 `git fetch`,所以表示我們還沒有下載該 commit。" @@ -435,7 +435,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "`fakeTeamwork` 默认操作就是在远程仓库的 master 分支上做一次提交。" + "`fakeTeamwork` 默认操作就是在远程仓库的 main 分支上做一次提交。" ], "afterMarkdowns": [ "完成了 —— 远程仓库增加了一个新提交,我们还没有下载它,因为我们还没有执行 `git fetch`。" @@ -479,7 +479,7 @@ exports.level = { "", "Hier ist das Problem -- für einige der folgenden Level müssen wir lernen, wie man Änderungen vom entfernten Server holt.", "", - "Das heißt wir müssen im Grunde \"so tun\" also ob der Server von einem Kollegen / Freund / Mitarbeiter aktualisiert worden wäre, manchmal ein bestimmter Branch oder eine bestimmte Anzahl von Commits.", + "Das heißt wir müssen im Grunde \"so tun\", als ob der Server von einem Kollegen / Freund / Mitarbeiter aktualisiert worden wäre, manchmal ein bestimmter Branch oder eine bestimmte Anzahl von Commits.", "", "Um das zu tun führen wir den passend benannten Befehl `git fakeTeamwork` ein! Er ist ziemlich selbsterklärend, schauen wir uns ihn an ..." ] @@ -489,10 +489,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Das normale Verhalten von `fakeTeamwork` ist es, einen Commit auf den entfernten `master` zu machen." + "Das normale Verhalten von `fakeTeamwork` ist es, einen Commit auf den entfernten `main` zu machen." ], "afterMarkdowns": [ - "Da haben wir's -- der Server ist mit einem neuen Commit aktualisiert worden und wir haben ihn noch nicht lokal, weil wir nicht `git fetch` oder `git pull` ausgeführt haben." + "Da haben wir's -- der Server ist mit einem neuen Commit aktualisiert worden und wir haben ihn noch nicht lokal, weil wir weder `git fetch` noch `git pull` ausgeführt haben." ], "command": "git fakeTeamwork", "beforeCommand": "git clone" @@ -543,7 +543,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Поведение команды `fakeTeamwork` по умолчанию заключается в том, чтобы просто \"инициировать\" коммит на master-е" + "Поведение команды `fakeTeamwork` по умолчанию заключается в том, чтобы просто \"инициировать\" коммит на main-е" ], "afterMarkdowns": [ "Ну вот - удалённый репозиторий был изменён при помощи добавления нового коммита, и мы ещё не скачали этот коммит, потому что не запустили команду `git fetch`." @@ -653,7 +653,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "За замовчуванням `fakeTeamwork` просто додасть коміт в гілку `master`." + "За замовчуванням `fakeTeamwork` просто додасть коміт в гілку `main`." ], "afterMarkdowns": [ "Є -- до віддаленого репозиторію додався ще один коміт, проте ми ще його не звантажили, оскільки ще не виконали `git fetch`." @@ -761,7 +761,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Hành xử mặc định của `fakeTeamwork` đơn giản là tạo ra một commit ở trên nhánh master từ xa." + "Hành xử mặc định của `fakeTeamwork` đơn giản là tạo ra một commit ở trên nhánh main từ xa." ], "afterMarkdowns": [ "Đó -- kho chứa từ xa đã được cập nhật thêm một commit, và ta chưa tải commit đó xuống vì ta chưa hề chạy lệnh `git fetch`." @@ -815,7 +815,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Privzeto delovanje `fakeTeamwork` je, da samo doda commit na master:" + "Privzeto delovanje `fakeTeamwork` je, da samo doda commit na main:" ], "afterMarkdowns": [ "Tako -- oddaljen repo je bil posodobljen z novim commitom, katerega še nismo potegnili k sebi, ker še nismo pognali ukaza `git fetch`." diff --git a/src/levels/remote/fetch.js b/src/levels/remote/fetch.js index 6bd784f3..eb1dd903 100644 --- a/src/levels/remote/fetch.js +++ b/src/levels/remote/fetch.js @@ -60,7 +60,7 @@ exports.level = { "Before getting into the details of `git fetch`, let's see it in action! Here we have a remote repository that contains two commits that our local repository does not have." ], "afterMarkdowns": [ - "There we go! Commits `C2` and `C3` were downloaded to our local repository, and our remote branch `o/master` was updated to reflect this." + "There we go! Commits `C2` and `C3` were downloaded to our local repository, and our remote branch `o/main` was updated to reflect this." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -75,7 +75,7 @@ exports.level = { "`git fetch` performs two main steps, and two main steps only. It:", "", "* downloads the commits that the remote has but are missing from our local repository, and...", - "* updates where our remote branches point (for instance, `o/master`)", + "* updates where our remote branches point (for instance, `o/main`)", "", "`git fetch` essentially brings our _local_ representation of the remote repository into synchronization with what the _actual_ remote repository looks like (right now).", "", @@ -92,7 +92,7 @@ exports.level = { "markdowns": [ "### What fetch doesn't do", "", - "`git fetch`, however, does not change anything about _your_ local state. It will not update your `master` branch or change anything about how your file system looks right now.", + "`git fetch`, however, does not change anything about _your_ local state. It will not update your `main` branch or change anything about how your file system looks right now.", "", "This is important to understand because a lot of developers think that running `git fetch` will make their local work reflect the state of the remote. It may download all the necessary data to do that, but it does _not_ actually change any of your local files. We will learn commands in later lessons to do just that :D", "", @@ -133,7 +133,7 @@ exports.level = { "Avant d'aller dans les détails de `git fetch`, voyons-le en action ! Ici nous avons un dépôt distant qui contient deux commits que notre dépôt local n'a pas." ], "afterMarkdowns": [ - "Voilà ! Les commits `C2` et `C3` ont été téléchargés dans notre dépôt local, et notre branche distante `o/master` a été mise à jour pour refléter cela." + "Voilà ! Les commits `C2` et `C3` ont été téléchargés dans notre dépôt local, et notre branche distante `o/main` a été mise à jour pour refléter cela." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -148,7 +148,7 @@ exports.level = { "`git fetch` procède en deux étapes principales, ni plus ni moins. Cela :", "", "* télécharge les commits que le dépôt distant possède mais qui ne sont pas dans le nôtre, puis...", - "* met à jour nos branches distantes (par exemple, `o/master`).", + "* met à jour nos branches distantes (par exemple, `o/main`).", "", "`git fetch` prend en fait notre représentation _locale_ du dépôt distant pour la synchroniser avec ce à quoi le dépôt distant ressemble _réellement_ (à ce moment-là).", "", @@ -165,7 +165,7 @@ exports.level = { "markdowns": [ "### Ce que fetch ne fait pas", "", - "`git fetch`, cependant, ne change rien à _votre_ état local. Il ne met pas à jour votre branche `master` et ne va pas changer quelque chose aux fichiers qui se trouvent actuellement dans votre répertoire de travail.", + "`git fetch`, cependant, ne change rien à _votre_ état local. Il ne met pas à jour votre branche `main` et ne va pas changer quelque chose aux fichiers qui se trouvent actuellement dans votre répertoire de travail.", "", "C'est important à comprendre car un nombre important de développeurs pensent qu'exécuter `git fetch` va mettre leur dépôt local dans le même état que le distant. Cela peut télécharger toutes les données nécessaires pour faire cela, mais cela ne change en réalité _rien_ sur vos fichiers locaux. Les prochains niveaux seront justement dédiés aux commandes qui permettent de faire cela :D", "", @@ -206,7 +206,7 @@ exports.level = { "Antes de entrar en los detalles de `git fetch`, veámoslo en acción. Acá tenemos un repositorio remoto que contiene dos commits que nuestro repositorio local no tiene." ], "afterMarkdowns": [ - "¡Ahí vamos! Bajamos los commits `C2` y `C3` a nuestro repositorio local, y nuestra rama remota `o/master` fue actualizada para reflejar este cambio." + "¡Ahí vamos! Bajamos los commits `C2` y `C3` a nuestro repositorio local, y nuestra rama remota `o/main` fue actualizada para reflejar este cambio." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -221,7 +221,7 @@ exports.level = { "`git fetch` hace dos simples pasos, y sólo dos simples pasos:", "", "* baja los commits que el remoto tiene pero no están en nuestro repositorio local, y...", - "* actualiza a dónde apuntan nuestras ramas remotas (por ejemplo, `o/master`)", + "* actualiza a dónde apuntan nuestras ramas remotas (por ejemplo, `o/main`)", "", "`git fetch` esencialmente sincroniza nuestra representación _local_ del repositorio remoto con el _verdadero_ estado del repositorio remoto (en este momento).", "", @@ -238,7 +238,7 @@ exports.level = { "markdowns": [ "### ¿Qué *no* hace fetch?", "", - "Sin embargo, `git fetch` no modifica en absoluto _tu_ estado local. No va a actualizar tu rama `master` ni va a cambiar nada sobre cómo se ve tu sistema de archivos en este momento.", + "Sin embargo, `git fetch` no modifica en absoluto _tu_ estado local. No va a actualizar tu rama `main` ni va a cambiar nada sobre cómo se ve tu sistema de archivos en este momento.", "", "Es importante entender esto, porque un montón de desarrolladores piensan que correr `git fetch` hará que su estado local refleje el estado del remoto. `git fetch` puede descargar los datos necesarios para hacerlo, pero *no* cambia ninguno de tus archivos locales. Vamos a aprender otros comandos para hacer eso más adelante :D", "", @@ -279,7 +279,7 @@ exports.level = { "Antes de entrar en los detalles de `git fetch`, veámoslo en acción. Aquí tenemos un repositorio remoto que contiene dos commits que nuestro repositorio local no tiene." ], "afterMarkdowns": [ - "¡Allá vamos! Bajamos los commits `C2` y `C3` a nuestro repositorio local, y nuestra rama remota `o/master` fue actualizada para reflejar este cambio." + "¡Allá vamos! Bajamos los commits `C2` y `C3` a nuestro repositorio local, y nuestra rama remota `o/main` fue actualizada para reflejar este cambio." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -294,7 +294,7 @@ exports.level = { "`git fetch` hace dos simples pasos, y sólo dos simples pasos:", "", "* baja los commits que el remoto tiene pero no están en nuestro repositorio local, y...", - "* actualiza a dónde apuntan nuestras ramas remotas (por ejemplo, `o/master`)", + "* actualiza a dónde apuntan nuestras ramas remotas (por ejemplo, `o/main`)", "", "`git fetch` escencialmente sincroniza nuestra representación _local_ del repositorio remoto con el _verdadero_ estado del repositorio remoto (en este momento).", "", @@ -311,7 +311,7 @@ exports.level = { "markdowns": [ "### ¿Qué *no* hace fetch?", "", - "Sin embargo, `git fetch` no modifica en absoluto _tu_ estado local. No va a actualizar tu rama `master` ni va a cambiar nada sobre cómo se ve tu sistema de archivos en este momento.", + "Sin embargo, `git fetch` no modifica en absoluto _tu_ estado local. No va a actualizar tu rama `main` ni va a cambiar nada sobre cómo se ve tu sistema de archivos en este momento.", "", "Es importante entender esto, porque un montón de desarrolladores piensan que correr `git fetch` hará que su estado local refleje el estado del remoto. `git fetch` puede descargar los datos necesarios para hacerlo, pero *no* cambia ninguno de tus archivos locales. Vamos a aprender otros comandos para hacer eso más adelante :D", "", @@ -352,7 +352,7 @@ exports.level = { "Antes de entrar nos detalhes do `git fetch`, vejamo-no em ação! Aqui temos um repositório remoto que contém dois commits que nosso repositório local não possui." ], "afterMarkdowns": [ - "Lá vamos nós! Os commits `C2` e `C3` foram baixados para o nosso repositório local, e nosso ramo remoto `o/master` foi atualizado para refletir esse fato." + "Lá vamos nós! Os commits `C2` e `C3` foram baixados para o nosso repositório local, e nosso ramo remoto `o/main` foi atualizado para refletir esse fato." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -367,7 +367,7 @@ exports.level = { "O `git fetch` realiza dois passos principais, e somente estes dois passos principais. Ele:", "", "* Baixa os commits que o repositório remoto possui mas que estão faltando no repositório local, e...", - "* Atualiza a referência para a qual os ramos remotos (por exemplo, `o/master`) estão apontando", + "* Atualiza a referência para a qual os ramos remotos (por exemplo, `o/main`) estão apontando", "", "O `git fetch` essencialmente faz com que nossa representação _local_ do repositório remoto fique sincronizada com a forma com que o repositório remoto _de fato_ se parece (naquele momento).", "", @@ -384,7 +384,7 @@ exports.level = { "markdowns": [ "### O que o fetch NÃO faz", "", - "O `git fetch`, no entanto, não muda nada do estado _local_ do repositório. Ele não atualiza o seu ramo `master` nem muda nada na forma como o seu sistema de arquivos está no momento.", + "O `git fetch`, no entanto, não muda nada do estado _local_ do repositório. Ele não atualiza o seu ramo `main` nem muda nada na forma como o seu sistema de arquivos está no momento.", "", "É importante entender isso, pois muitos desenvolvedores pensam que executar `git fetch` fará com que o trabalho local reflita o estado do repositório remoto. Ele pode até baixar todos os dados necessários para fazê-lo, mas ele _não_ muda de fato nenhum dos arquivos locais. Vamos aprender comandos para fazê-lo nas lições a seguir :D", "", @@ -425,7 +425,7 @@ exports.level = { "Ántes de entrar nos detalles de `git fetch`, vexámolo en acción! Aquí temos un repositorio remoto que contén dous commits que o noso repositorio local non ten." ], "afterMarkdowns": [ - "Alá imos! Os commits `C2` e `C3` baixáronse ó noso repositorio local, e a nosa rama `o/master` actualizouse para reflexar ese cambio." + "Alá imos! Os commits `C2` e `C3` baixáronse ó noso repositorio local, e a nosa rama `o/main` actualizouse para reflexar ese cambio." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -440,7 +440,7 @@ exports.level = { "`git fetch` fai dous pasos pasos principais, e soamente estes dous pasos princpipais. Son:", "", "* Baixa os commits que o repositório remoto contén pero non temos nos no noso repositoiro local, e...", - "* Actualiza a referencia nas ramas remotas (por exemplo, `o/master`) nas que se está apuntando", + "* Actualiza a referencia nas ramas remotas (por exemplo, `o/main`) nas que se está apuntando", "", "`git fetch` esencialmente fai que a nosa representación _local_ do repositorio remoto se sincronice ca forma que posúe o repositorio remoto, _de feito_ parecese (nese momento).", "", @@ -457,7 +457,7 @@ exports.level = { "markdowns": [ "### O que fetch NON fai", "", - "`git fetch`, por agora, non cambia nada no estado _local_ do repositorio. El solo actualiza a rama `master` sen facer cambios na forma de cómo está o teu sistema de arquivos nese momento.", + "`git fetch`, por agora, non cambia nada no estado _local_ do repositorio. El solo actualiza a rama `main` sen facer cambios na forma de cómo está o teu sistema de arquivos nese momento.", "", "É importante entender iso, xa que moitos desenvolvedores pensan que executar `git fetch` fará que o traballo local se vexa modificado polo repositorio remoto. El pode que baixara todos os cambios necesarios para facelo, pero, o comando _non_ cambia cómo están os teus arquivos locais. Imos aprender comandos para facer esas conexións :D", "", @@ -498,7 +498,7 @@ exports.level = { "在講到 `git fetch` 的細節之前,我們要先來看一下例子!在這裡我們有一個新增了兩個 commit 的 remote repository,而且我們的 local repository 並沒有包含這兩個 commit。" ], "afterMarkdowns": [ - "看吧!commit `C2` 以及 `C3` 已經被下載到我們的 local repository,而且我們的 remote branch `o/master` 也更新了。" + "看吧!commit `C2` 以及 `C3` 已經被下載到我們的 local repository,而且我們的 remote branch `o/main` 也更新了。" ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -513,7 +513,7 @@ exports.level = { "`git fetch` 只有執行了兩個主要步驟,包含:", "", "* 下載 remote 有的 commit,但是在我們的 local repository 是沒有該 commit。還有...", - "* 更新我們 remote branch 所指向的地方(例如, `o/master`)", + "* 更新我們 remote branch 所指向的地方(例如, `o/main`)", "", "基本上,`git fetch` 同步了我們的 local repository 以及 remote repository 的最新狀態。", "", @@ -530,7 +530,7 @@ exports.level = { "markdowns": [ "### fetch 沒有做的事情", "", - "然而,`git fetch` 並不會影響到在你的 local repository 中的 `master` branch,他並不會將你的 `master` branch 更新到最新的狀態。", + "然而,`git fetch` 並不會影響到在你的 local repository 中的 `main` branch,他並不會將你的 `main` branch 更新到最新的狀態。", "", "這個觀念很重要,因為很多程式設計師以為 `git fetch` 可以讓他們在 local repository 上面的工作跟 remote repository 的工作可以同步。它是會下載同步所需的資料,但是不會更新任何的檔案,我們會在後面的教學中提到如何做到這件事情。:D", "", @@ -560,7 +560,7 @@ exports.level = { "", "本节课我们将学习如何从远程仓库获取数据 —— 命令如其名,它就是 `git fetch`。", "", - "你会看到当我们从远程仓库获取数据时, 远程分支也会更新以反映最新的远程仓库。在上一了我们已经提及过这一点了。" + "你会看到当我们从远程仓库获取数据时, 远程分支也会更新以反映最新的远程仓库。在上一节课程中我们已经提及过这一点了。" ] } }, @@ -571,7 +571,7 @@ exports.level = { "在解释 `git fetch` 前,我们先看看实例。这里我们有一个远程仓库, 它有两个我们本地仓库中没有的提交。" ], "afterMarkdowns": [ - "就是这样了! `C2`,`C3` 被下载到了本地仓库,同时远程分支 `o/master` 也被更新,反映到了这一变化" + "就是这样了! `C2`,`C3` 被下载到了本地仓库,同时远程分支 `o/main` 也被更新,反映到了这一变化" ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -586,7 +586,7 @@ exports.level = { "`git fetch` 完成了仅有的但是很重要的两步:", "", "* 从远程仓库下载本地仓库中缺失的提交记录", - "* 更新远程分支指针(如 `o/master`)", + "* 更新远程分支指针(如 `o/main`)", "", "`git fetch` 实际上将本地仓库中的远程分支更新成了远程仓库相应分支最新的状态。", "", @@ -603,7 +603,7 @@ exports.level = { "markdowns": [ "### git fetch 不会做的事", "", - "`git fetch` 并不会改变你本地仓库的状态。它不会更新你的 `master` 分支,也不会修改你磁盘上的文件。", + "`git fetch` 并不会改变你本地仓库的状态。它不会更新你的 `main` 分支,也不会修改你磁盘上的文件。", "", "理解这一点很重要,因为许多开发人员误以为执行了 `git fetch` 以后,他们本地仓库就与远程仓库同步了。它可能已经将进行这一操作所需的所有数据都下载了下来,但是**并没有**修改你本地的文件。我们在后面的课程中将会讲解能完成该操作的命令 :D", "", @@ -631,7 +631,7 @@ exports.level = { "", "In Git mit entfernten Repositorys zu arbeiten lässt sich wirklich auf das Hin- und Zurückübertragen von Daten reduzieren. Solange wir Commits hin und her schicken können, können wir jede Art Update teilen, das von Git getrackt wird (und somit Arbeit, neue Dateien, neue Ideen, Liebesbriefe etc. teilen).", "", - "In diesem Level werden wir lernen, wie man Daten _von_ einem entfernten Repository holt -- der entsprechende Befehl heißt praktischerweise `git fetch`.", + "In diesem Level werden wir lernen, wie man Daten _von_ einem entfernten Repository holt -- der entsprechende Befehl heißt `git fetch`.", "", "Dir wird auffallen, dass mit der Aktualisierung unserer Darstellung des entfernten Repositorys die _Remote_ Branches auf den neuesten Stand gebracht werden. Das passt zum vorherigen Level über Remote Branches." ] @@ -641,10 +641,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Bevor wir uns die Einzelheiten von `git fetch` ansehen wollen wir es mal in Aktion sehen. Wir haben hier ein entferntes Repository, das zwei Commits hat die in unserem lokalen Repository fehlen." + "Bevor wir uns die Einzelheiten von `git fetch` ansehen wollen wir es mal in Aktion sehen. Wir haben hier ein entferntes Repository, das zwei Commits hat, die in unserem lokalen Repository fehlen." ], "afterMarkdowns": [ - "Das war's! Die Commits `C2` und `C3` wurden zu unserem Repository heruntergeladen und unser Remote Branch `o/master` wurde aktualisiert." + "Das war's! Die Commits `C2` und `C3` wurden zu unserem Repository heruntergeladen und unser Remote Branch `o/main` wurde aktualisiert." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -659,9 +659,9 @@ exports.level = { "`git fetch` führt genau zwei Schritte aus:", "", "* Es lädt die Commits herunter, die im lokalen Repository fehlen, und ...", - "* aktualisiert die Remote Branches wo nötig (zum Beispiel, `o/master`).", + "* aktualisiert die Remote Branches wo nötig (zum Beispiel `o/main`).", "", - "`git fetch` synchronisiert im Prinzip unsere _lokale_ Abbildung des entfernten Repositorys mit dem wie das entfernte Repository _tatsächlich_ aussieht (in diesem Moment).", + "`git fetch` synchronisiert im Prinzip unsere _lokale_ Abbildung des entfernten Repositorys mit dem, wie das entfernte Repository _tatsächlich_ aussieht (in diesem Moment).", "", "Wie du dich vielleicht erinnerst, haben wir im letzten Level gesagt, dass die Remote Branches den Zustand der Branches auf dem entfernten Repository darstellen _seit_ du das letzte Mal dieses Repository angesprochen hast. `git fetch` ist die Methode mit der du das Repository ansprichst! Der Zusammenhang zwischen Remote Branches und `git fetch` ist damit hoffentlich klar.", "", @@ -676,9 +676,9 @@ exports.level = { "markdowns": [ "### Was Fetch nicht tut", "", - "`git fetch` ändert allerdings überhaupt nichts an _deinen_ lokalen Branches. Es aktualisiert nicht deinen `master` oder ändert irgendetwas an deinem Checkout.", + "`git fetch` ändert allerdings überhaupt nichts an _deinen_ lokalen Branches. Es aktualisiert nicht deinen `main` oder ändert irgendetwas an deinem Checkout.", "", - "Das ist wichtig zu wissen, denn eine Menge Entwickler glauben, wenn sie `git fetch` ausführen würden ihre lokalen Branches auf den Stand des entfernten Repositorys gebracht. Es lädt zwar alle Daten herunter, damit man diese Aktualisierung durchführen kann, aber es ändert _nichts_ an deinen lokalen Branches. Wir werden in späteren Level Befehle genau dafür kennenlernen. :D", + "Das ist wichtig zu wissen, denn eine Menge Entwickler glauben, wenn sie `git fetch` ausführen, würden ihre lokalen Branches auf den Stand des entfernten Repositorys gebracht. Es lädt zwar alle Daten herunter, damit man diese Aktualisierung durchführen kann, aber es ändert _nichts_ an deinen lokalen Branches. Wir werden in späteren Level Befehle genau dafür kennenlernen. :D", "", "Am Ende des Tages kannst du dir `git fetch` also als den Download-Schritt vorstellen." ] @@ -717,7 +717,7 @@ exports.level = { "`git fetch`の説明に入る前に、その動作を見てみましょう。ここに、ローカルリポジトリにない二個のコミットを含んでいるリモートブランチがあります。" ], "afterMarkdowns": [ - "やりました!`C2`、`C3`コミットがローカルリポジトリにダウンロードされ、`o/master`リモートブランチに反映されました。" + "やりました!`C2`、`C3`コミットがローカルリポジトリにダウンロードされ、`o/main`リモートブランチに反映されました。" ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -732,7 +732,7 @@ exports.level = { "`git fetch`は、主に二つのステップだけで動作します。それは以下のようなものです:", "", "* リモートにあってローカルリポジトリにないコミットをダウンロードする", - "* リモートブランチの位置を更新する(例えば、`o/master`)", + "* リモートブランチの位置を更新する(例えば、`o/main`)", "", "`git fetch`は本質的には、_実際_のリモートリポジトリと同じように見えるような形でリモートリポジトリの_ローカル_の情報に同期します(ちょうど今のように)。", "", @@ -749,7 +749,7 @@ exports.level = { "markdowns": [ "### fetchがしてくれないもの", "", - "`git fetch`は、しかしながら、_あなたの_ローカルの状態は変更しません。あなたの`master`ブランチや他のもの、今現在のあなたのファイルシステムが見せているものを更新しないのです。", + "`git fetch`は、しかしながら、_あなたの_ローカルの状態は変更しません。あなたの`main`ブランチや他のもの、今現在のあなたのファイルシステムが見せているものを更新しないのです。", "", "これは理解する上で重要なことです。なぜなら、多くの技術者は`git fetch`がリモートの状態をローカルの作業場に反映してくれると思っているからです。必要なデータはダウンロードされるかもしれませんが、ローカルのファイルを実際に変更するというようなことは_してくれない_のです。私たちは、この後のレッスンでもこのようなコマンドを学びます :D", "", @@ -790,7 +790,7 @@ exports.level = { "Прежде чем углубляться в детали команды `git fetch`, давайте взглянем на её визуализацию в действии! Здесь у нас имеется удалённый репозиторий, который содержит в себе два коммита, отсутствующих в нашем локальном репозитории." ], "afterMarkdowns": [ - "Вот и всё! Коммиты `C2` и `C3` были успешно скачаны в наш локальный репозиторий, и наша удалённая ветка `o/master` отобразила эти изменения соответствующим образом." + "Вот и всё! Коммиты `C2` и `C3` были успешно скачаны в наш локальный репозиторий, и наша удалённая ветка `o/main` отобразила эти изменения соответствующим образом." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -805,7 +805,7 @@ exports.level = { "`git fetch` выполняет две и только две основные операции. А именно:", "", "* связывается с указанным удалённым репозиторием и забирает все те данные проекта, которых у вас ещё нет, при этом...", - "* у вас должны появиться ссылки на все ветки из этого удалённого репозитория (например, `o/master`)", + "* у вас должны появиться ссылки на все ветки из этого удалённого репозитория (например, `o/main`)", "", "Фактически, `git fetch` синхронизирует _локальное_ представление удалённых репозиториев с тем, что является _актуальным_ на текущий момент времени.", "", @@ -863,7 +863,7 @@ exports.level = { "Перед тим, як почати розбиратися з `git fetch`, спробуймо його в дії! Тут ми маємо віддалений репозиторій, що містить два коміти, яких немає в нашому локальному сховищі." ], "afterMarkdowns": [ - "Ось, маєш! Коміти `C2` та `C3` було завантажено до нашого локального сховища й наша віддалена гілка `o/master` була відповідно оновлена." + "Ось, маєш! Коміти `C2` та `C3` було завантажено до нашого локального сховища й наша віддалена гілка `o/main` була відповідно оновлена." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -878,7 +878,7 @@ exports.level = { "`git fetch` виконує дві основні дії, і тільки дві дії. Він:", "", "* звантажує коміти, які містить віддалене сховище, але яких немає в локальному сховищі, та...", - "* оновлює посилання віддаленого бранчу (наприклад, `o/master`)", + "* оновлює посилання віддаленого бранчу (наприклад, `o/main`)", "", "Якщо коротко, `git fetch` приводить репрезентацію віддаленого репозиторію в локальному сховищі до _актуального_ стану справжнього віддаленого репозиторію.", "", @@ -895,7 +895,7 @@ exports.level = { "markdowns": [ "### Чого не робить fetch", "", - "Тим не менш, `git fetch` нічого не змінює в _твоєму_ локальному стані. Він не оновить твою гілку `master` і не змінить того, як наразі виглядає локальна файлова система.", + "Тим не менш, `git fetch` нічого не змінює в _твоєму_ локальному стані. Він не оновить твою гілку `main` і не змінить того, як наразі виглядає локальна файлова система.", "", "Це важливо зрозуміти, тому що багато розробників думають, що `git fetch` оновить їхні локальні данні до стану віддаленого репозиторію. Він дійсно звантажить всі потрібні дані, щоб це зробити, але він _не змінить_ автоматично жодних локальних файлів. Ми вивчимо команди, які це роблять, в наступних уроках :D", "", @@ -936,7 +936,7 @@ exports.level = { "`git fetch`의 세부사항을 알아보기 전에 일단 눈으로 먼저 확인해 봅시다! 여기 로컬 저장소에는 없는 두개의 커밋이 있는 원격 저장소가 있습니다." ], "afterMarkdowns": [ - "됐습니다! 커밋 `C2` 와 `C3`가 우리의 로컬 저장소로 다운로드 되었고, 원격 브랜치 `o/master`가 이것을 반영하기 위해 업데이트 되었습니다." + "됐습니다! 커밋 `C2` 와 `C3`가 우리의 로컬 저장소로 다운로드 되었고, 원격 브랜치 `o/main`가 이것을 반영하기 위해 업데이트 되었습니다." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -951,7 +951,7 @@ exports.level = { "`git fetch`는 두가지의 중요한 단계를 수행합니다. 사실 이 두 단계만을 진행합니다. 그것은 :", "", "* 원격 저장소에는 있지만 로컬에는 없는 커밋들을 다운로드 받습니다. 그리고... ", - "* 우리의 원격 브랜치가 가리키는곳을 업데이트합니다 (예를들어, `o/master`)", + "* 우리의 원격 브랜치가 가리키는곳을 업데이트합니다 (예를들어, `o/main`)", "", "`git fetch`는 본질적으로 _로컬_에서 나타내는 원격 저장소의 상태를 _실제_ 원격 저장소의 (지금)상태와 동기화합니다.", "", @@ -968,7 +968,7 @@ exports.level = { "markdowns": [ "### fetch는 무엇을 하지 않는가", "", - "`git fetch`는 그러나, _여러분의_ 로컬 상태는 전혀 바꾸지 않는습니다. 여러분의 `master` 브랜치도 업데이트하지 않고 파일 시스템의 모습이던 그 어떤것도 바꾸지 않습니다.", + "`git fetch`는 그러나, _여러분의_ 로컬 상태는 전혀 바꾸지 않는습니다. 여러분의 `main` 브랜치도 업데이트하지 않고 파일 시스템의 모습이던 그 어떤것도 바꾸지 않습니다.", "", "이것을 이해하는게 아주 중요한데, 왜냐하면 수 많은 개발자들이 `git fetch`를 하면 자신의 로컬 작업이 변경되어 원격 저장소의 모습을 반영해 업데이트 될것이라고 생각하기 때문입니다. 앞의 과정에 필요한 데이터를 다운로드는 하지만, 실제로 로컬 파일들이나 브랜치를 변경하지는 않습니다. 이것을 하기위한 명령어들은 뒤에서 배우겠습니다 :D", "", @@ -1009,7 +1009,7 @@ exports.level = { "Trước khi đi vào chi tiết về `git fetch`, hãy xem cách nó hoạt động! Ở đây ta có một kho chứa từ xa trong đó chứa 2 commit mà kho chứa địa phương của ta không có." ], "afterMarkdowns": [ - "Đó! Commit `C2` và `C3` đã được tải xuống kho chứa cục bộ của ta, và nhánh từ xa `o/master` của ta đã được cập nhật để phản ánh điều này." + "Đó! Commit `C2` và `C3` đã được tải xuống kho chứa cục bộ của ta, và nhánh từ xa `o/main` của ta đã được cập nhật để phản ánh điều này." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -1024,7 +1024,7 @@ exports.level = { "`git fetch` thực hiện 2 bước chính, và chỉ 2 bước chính. Nó:", "", "* tải xuống commit có trên kho chứa từ xa mà kho chứa cục bộ của ta không có, và...", - "* cập nhật nơi mà nhánh từ xa của ta trỏ tới (ví dụ nhánh `o/master`)", + "* cập nhật nơi mà nhánh từ xa của ta trỏ tới (ví dụ nhánh `o/main`)", "", "Về căn bản thì `git fetch` đưa đại diện _địa phương_ của kho chứa từ xa của ta về trạng thái đồng bộ với trạng thái _thực tế_ của kho chứa từ xa (ngay lúc này).", "", @@ -1041,7 +1041,7 @@ exports.level = { "markdowns": [ "### fetch không làm gì", "", - "Tuy nhiên, `git fetch` không hề thay đổi trạng thái kho chứa _địa phương_ của bạn. Nó sẽ không cập nhật nhánh `master` hay thay đổi bất kỳ điều gì trong hệ thống tập tin hiện tại của bạn.", + "Tuy nhiên, `git fetch` không hề thay đổi trạng thái kho chứa _địa phương_ của bạn. Nó sẽ không cập nhật nhánh `main` hay thay đổi bất kỳ điều gì trong hệ thống tập tin hiện tại của bạn.", "", "Điều này rất quan trọng, vì nhiều nhà phát triển nghĩ rằng `git fetch` sẽ làm kho chứa địa phương của họ phản ánh trạng thái của kho chúa từ xa. Nó có thể tải xuống tất cả dữ liệu cần thiết, nhưng nó thực tế _không_ thay đổi bất cứ thứ gì trên tập tin địa phương của bạn. Ta sẽ học lệnh để làm điều đó sau :D", "", @@ -1082,7 +1082,7 @@ exports.level = { "Preden se spustimo v podrobnosti `git fetch` ga poglejmo v akciji! Tu imamo oddaljen repozitorij, ki vsebuje dva commita, ki jih naš lokalen repozitorij nima." ], "afterMarkdowns": [ - "Tako! Commita `C2` in `C3` sta bila prenesena v naš lokalen repozitorij in naš oddaljen branch `o/master` je bil posodobljen, da to odraža." + "Tako! Commita `C2` in `C3` sta bila prenesena v naš lokalen repozitorij in naš oddaljen branch `o/main` je bil posodobljen, da to odraža." ], "command": "git fetch", "beforeCommand": "git clone; git fakeTeamwork 2" @@ -1097,7 +1097,7 @@ exports.level = { "`git fetch` naredi dve stvari. In sicer:", "", "* prenese commite, ki jih ima oddaljeni repo ampak manjkajo v našem lokalnem in ...", - "* posodobi, kam kaže naš oddaljeni branch (naprimer `o/master`)", + "* posodobi, kam kaže naš oddaljeni branch (naprimer `o/main`)", "", "`git fetch` v bistvu našo lokalno predstavitev oddaljenega repozitorija uskladi z dejanskim stanjem na oddaljenem repozitoriju.", "", @@ -1114,7 +1114,7 @@ exports.level = { "markdowns": [ "### Kaj fetch ne naredi", "", - "`git fetch` ne spremeni ničesar glede tvojega lokalnega stanja. Ne bo posodobil tvojega `master` brancha ali spremenil česarkoli v tvojih datotekah.", + "`git fetch` ne spremeni ničesar glede tvojega lokalnega stanja. Ne bo posodobil tvojega `main` brancha ali spremenil česarkoli v tvojih datotekah.", "", "To je pomembno razumeti, ker veliko razvijalcev misli, da bo `git fetch` posodobil njihovo lokalno stanje s stanjem na oddaljenem repozitoriju. Lahko bo prenesel vse potrebne podatke, da to izvede, ampak v bistvu _ne_ spremeni tvojih datotek. V kasnejših lekcijah se bomo naučili ukaze, ki pa naredijo točno to. :D", "", diff --git a/src/levels/remote/fetchArgs.js b/src/levels/remote/fetchArgs.js index 499cbc14..8f82cdc8 100644 --- a/src/levels/remote/fetchArgs.js +++ b/src/levels/remote/fetchArgs.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C6\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"foo\":{\"target\":\"C7\",\"id\":\"foo\",\"remoteTrackingBranchID\":\"o/foo\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/foo\":{\"target\":\"C1\",\"id\":\"o/foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C5\":{\"parents\":[\"C1\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C3\",\"C6\"],\"id\":\"C7\"}},\"HEAD\":{\"target\":\"foo\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"foo\":{\"target\":\"C6\",\"id\":\"foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C1\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"foo\",\"id\":\"HEAD\"}}}", - "solutionCommand": "git fetch origin master~1:foo;git fetch origin foo:master;git checkout foo;git merge master", + "solutionCommand": "git fetch origin main~1:foo;git fetch origin foo:main;git checkout foo;git merge main", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"foo\":{\"target\":\"C1\",\"id\":\"foo\",\"remoteTrackingBranchID\":\"o/foo\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/foo\":{\"target\":\"C1\",\"id\":\"o/foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"}},\"HEAD\":{\"target\":\"C1\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"foo\":{\"target\":\"C6\",\"id\":\"foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C1\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"foo\",\"id\":\"HEAD\"}}}", "name": { "en_US": "Fetch arguments", @@ -145,7 +145,7 @@ exports.level = { "Pretty simple, but worth going over just once." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -268,7 +268,7 @@ exports.level = { "Assez simple, mais ce n'était pas inutile de voir en action." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -391,7 +391,7 @@ exports.level = { "Bastante simple, pero vale la pena verlo al menos una vez." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -514,7 +514,7 @@ exports.level = { "Bastante simple, pero merece la pena verlo al menos una vez." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -637,7 +637,7 @@ exports.level = { "Bastante simples, mas importante de rever ao menos uma vez." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -760,7 +760,7 @@ exports.level = { "Moi sinxelo, pero vale a pena velo ó menos unha vez." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -883,7 +883,7 @@ exports.level = { "超簡單,但是所有的更新只做一次,很值得。" ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -1006,7 +1006,7 @@ exports.level = { "相当简单,但是仅需更新一次,值得你去做!" ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -1029,11 +1029,11 @@ exports.level = { "markdowns": [ "## Git Fetch Optionen", "", - "Nun haben wir also alles über `git push` Optionen gelernt, diesen coolen ``-Parameter, and sogar über mit Doppelpunkt getrennte Ref-Spezifikationen (`:`). Können wir all dieses neu erworbene Wissen auch auf `git fetch` anwenden?", + "Nun haben wir also alles gelernt über `git push` Optionen, diesen coolen ``-Parameter und sogar mit Doppelpunkt getrennte Ref-Spezifikationen (`:`). Können wir all dieses neu erworbene Wissen auch auf `git fetch` anwenden?", "", "Jede Wette! Die Optionen für `git fetch` sind wirklicht *sehr, sehr* ähnlich denen von `git push`. Es sind dieselben Verfahren, nur in die andere Richtung angewendet (da man bei `fetch` herunterlädt anstatt hochzuladen).", "", - "Gehen wir die verschiedenen Verfahrensweise mal eine nach der anderen durch ..." + "Gehen wir die verschiedenen Verfahrensweisen mal eine nach der anderen durch ..." ] } }, @@ -1070,9 +1070,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Du wunderst dich vielleicht warum Git diese Commits auf den `o/foo` Branch gepacht hat, anstatt einfach direkt auf den lokalen Branch `foo`? Zeigt der Parameter `` nicht einen Ort an, der sowohl lokal als auch entfernt existiert?", + "Du wunderst dich vielleicht, warum Git diese Commits auf den `o/foo` Branch gepackt hat, anstatt einfach direkt auf den lokalen Branch `foo`? Zeigt der Parameter `` nicht einen Ort an, der sowohl lokal als auch entfernt existiert?", "", - "Nun ja, Git geht diesen Schritt weil du auf `foo` ja noch Commits haben könntest, die nicht auf dem Server sind, und da will es nichts durcheinander bringen. Ähnlich wie beim früheren Level zu `git fetch` -- es aktualisiert nicht deine lokalen Arbeits-Branches, es lädt die Commits nur in die `o` (bzw. `origin`) Branches, damit du sie dir in Ruhe anschauen und integrieren kannst.", + "Nun ja, Git geht diesen Schritt, weil du auf `foo` ja noch Commits haben könntest, die nicht auf dem Server sind, und da will es nichts durcheinander bringen. Ähnlich wie beim früheren Level zu `git fetch` -- es aktualisiert nicht deine lokalen Arbeits-Branches, es lädt die Commits nur in die `o` (bzw. `origin`) Branches, damit du sie dir in Ruhe anschauen und integrieren kannst.", "" ] } @@ -1098,7 +1098,7 @@ exports.level = { "Schauen wir uns den Quatsch mal in Aktion an:" ], "afterMarkdowns": [ - "Wow! Siehst du, git löst `foo~1` als Ort auf dem Server `origin` auf und lädt dessen Commits herunter in `bar` hinein. Beachte wie `foo` und `o/foo` *nicht* aktualisiert wurden, da wir ein Ziel angegeben haben." + "Wow! Siehst du, Git löst `foo~1` als Ort auf dem Server `origin` auf und lädt dessen Commits herunter in `bar` hinein. Beachte wie `foo` und `o/foo` *nicht* aktualisiert wurden, da wir ein Ziel angegeben haben." ], "command": "git fetch origin foo~1:bar", "beforeCommand": "git branch foo; git clone; git branch bar; git fakeTeamwork foo 2" @@ -1108,10 +1108,10 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Was ist denn wenn das Ziel nicht existiert, für das ich den Befehl ausführe? Schauen wir uns das letzte Beispiel noch mal an, nur dass `bar` jetzt noch nicht existiert." + "Was ist denn, wenn das Ziel nicht existiert, für das ich den Befehl ausführe? Schauen wir uns das letzte Beispiel noch mal an, nur dass `bar` jetzt noch nicht existiert." ], "afterMarkdowns": [ - "Siehst du, es ist *genau* wie `git push`. Git erstellt das Ziel lokal bevor es den `fetch` ausführt, genauso wie Git erst das Ziel auf dem Remote erstellt, befor es pusht (falls das Ziel nicht existiert)." + "Siehst du, es ist *genau* wie `git push`. Git erstellt das Ziel lokal bevor es den `fetch` ausführt, genauso wie Git erst das Ziel auf dem Remote erstellt, bevor es pusht (falls das Ziel nicht existiert)." ], "command": "git fetch origin foo~1:bar", "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo 2" @@ -1129,7 +1129,7 @@ exports.level = { "Ziemlich einfach, aber man sollte es mal gesehen haben." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -1252,7 +1252,7 @@ exports.level = { "Достаточно просто, после того как мы пережили все эти технические тонкости." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -1375,7 +1375,7 @@ exports.level = { "간단하지만, 짚고 넘어갑시다." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -1498,7 +1498,7 @@ exports.level = { "Все дуже просто, але варто було згадати ще раз." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -1621,7 +1621,7 @@ exports.level = { "Khá là đơn giản, nhưng mà cũng nên xem qua thử." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { @@ -1744,7 +1744,7 @@ exports.level = { "Precej enostavno, ampak vredno, da gremo čez vsaj enkrat." ], "command": "git fetch", - "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork master" + "beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main" } }, { diff --git a/src/levels/remote/fetchRebase.js b/src/levels/remote/fetchRebase.js index d5fd819a..a409a2cf 100644 --- a/src/levels/remote/fetchRebase.js +++ b/src/levels/remote/fetchRebase.js @@ -96,7 +96,7 @@ exports.level = { "afterMarkdowns": [ "Boom! We updated our local representation of the remote with `git fetch`, rebased our work to reflect the new changes in the remote, and then pushed them with `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -121,7 +121,7 @@ exports.level = { "afterMarkdowns": [ "Boom! We updated our local representation of the remote with `git fetch`, *merged* the new work into our work (to reflect the new changes in the remote), and then pushed them with `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -239,7 +239,7 @@ exports.level = { "afterMarkdowns": [ "Boum ! Nous avons mis à jour notre représentation locale du dépôt avec `git fetch`, rebasé notre travail pour refléter les nouveaux changements, et enfin les avons envoyés avec `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -264,7 +264,7 @@ exports.level = { "afterMarkdowns": [ "Boum ! Nous avons mis à jour notre représentation locale du dépôt distant avec `git fetch`, *fusionné* les nouveaux commits dans notre copie de travail (pour refléter les nouveaux changements du dépôt distant), et les avons ensuite envoyés avec `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -382,7 +382,7 @@ exports.level = { "afterMarkdowns": [ "¡Boom! Actualizamos nuestra representación local del remoto con `git fetch`, rebaseamos nuestro trabajo para reflejar los nuevos cambios del remoto, y después los pusheamos con `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -407,7 +407,7 @@ exports.level = { "afterMarkdowns": [ "¡Boom! Actualizamos nuestra representación local del remoto usando `git fetch`, *mergeamos* el nuevo trabajo junto con el nuestro (para reflejar los nuevos cambios en el remoto), y después los pusheamos usando `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -525,7 +525,7 @@ exports.level = { "afterMarkdowns": [ "¡Zas! Actualizamos nuestra representación local del remoto con `git fetch`, hacemos rebase de nuestro trabajo para reflejar los nuevos cambios del remoto, y después los subimos con `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -550,7 +550,7 @@ exports.level = { "afterMarkdowns": [ "¡Zas! Actualizamos nuestra representación local del remoto usando `git fetch`, *mergeamos* el nuevo trabajo junto con el nuestro (para reflejar los nuevos cambios en el remoto), y después los subimos usando `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -668,7 +668,7 @@ exports.level = { "afterMarkdowns": [ "Boom! Nós atualizamos a representação local do repositório remoto com `git fetch`, fizemos rebase do nosso trabalho para refletir as novas mudanças no repositório remoto, e então enviamos nossas mudanças com `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -693,7 +693,7 @@ exports.level = { "afterMarkdowns": [ "Boom! Atualizamos nossa representação local do repositório remoto com `git fetch`, fizemos *merge* do novo trabalho com o nosso (para refletir as novas mudanças no repositório remoto), e então fizemos push deles com `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -812,7 +812,7 @@ exports.level = { "afterMarkdowns": [ "¡Boom! Actualizamos a nosa representación local do remoto con `git fetch`, rebasamos o noso traballo para reflexar os novos cambios do remoto, e despois os empurramos con `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -837,7 +837,7 @@ exports.level = { "afterMarkdowns": [ "¡Boom! Actualizamos a nosa representación local do remoto usando `git fetch`, *mesturamos* ou *mergeamos* o novo traballo xunto co noso (para reflexar os novos cambios no remoto), e despois os empurramos empregando `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -955,7 +955,7 @@ exports.level = { "afterMarkdowns": [ "看吧!我們利用 `git fetch` 下載了 remote 上面的 commit,並且 rebase 我們的 commit,使得我們的 commit 可以接在 remote 上面最新的版本的後面,接著透過 `git push` 就可以上傳更新了。" ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -980,7 +980,7 @@ exports.level = { "afterMarkdowns": [ "看吧!我們藉由 `git fetch` 把 remote 上的 commit 下載下來,並且 *merged* 該 commit 到我們目前的 branch(這樣就表示我們產生的 merge commit 有包含了 remote 上的 commit),接著再透過 `git push` 上傳到 remote。" ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1098,7 +1098,7 @@ exports.level = { "afterMarkdowns": [ "我们用 `git fetch` 更新了本地仓库中的远程分支,然后用 rebase 将我们的工作移动到最新的提交记录下,最后再用 `git push` 推送到远程仓库。" ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1123,7 +1123,7 @@ exports.level = { "afterMarkdowns": [ "我们用 `git fetch` 更新了本地仓库中的远程分支,然后**合并**了新变更到我们的本地分支(为了包含远程仓库的变更),最后我们用 `git push` 把工作推送到远程仓库" ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1205,7 +1205,7 @@ exports.level = { "", "In diesem Fall ist ein `git push` problematisch. Wenn du es ausführst, soll Git das entfernte Repository in den Zustand von Montag zurückversetzen? Soll es versuchen deinen Code auf die aktuelle Version zu packen? Oder soll es deine Änderungen einfach ignorieren, weil sie total veraltet sind?", "", - "Da es in dieser Situation so viele Mehrdeutigkeiten gibt (da die Historys divergent sind) erlaubt Git dir nicht, deine Änderungen einfach zu `push`en. Es zwingt dich, zuerst die neuesten Änderungen vom Server zu holen und in deine zu integrieren bevor du deine Arbeit mit anderen teilen kannst." + "Da es in dieser Situation so viele Mehrdeutigkeiten gibt (da die Historys divergieren), erlaubt Git dir nicht, deine Änderungen einfach zu `push`en. Es zwingt dich, zuerst die neuesten Änderungen vom Server zu holen und in deine zu integrieren, bevor du deine Arbeit mit anderen teilen kannst." ] } }, @@ -1228,7 +1228,7 @@ exports.level = { "markdowns": [ "Wie sollen wir das auflösen? Es ist ganz einfach, du musst deinen Commit nur von der aktuellsten Version des Remotes ableiten.", "", - "Es gibt verschiedene Möglichkeiten wie man das erreichen kann, aber die offensichtlichste ist es, deine Commits per Rebase zu verschieben. Schauen wir mal wie das abläuft:" + "Es gibt verschiedene Möglichkeiten, wie man das erreichen kann, aber die offensichtlichste ist, deine Commits per Rebase zu verschieben. Schauen wir mal wie das abläuft:" ] } }, @@ -1241,7 +1241,7 @@ exports.level = { "afterMarkdowns": [ "Bämm! Wir haben unsere lokale Abbildung des entfernten Repositorys mit `git fetch` auf den neuesten Stand gebracht, unsere Arbeit auf die neueste Version des Remotes drauf gepackt und dann mit `git push` auf den Server geschoben." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1249,9 +1249,9 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Gibt es noch weitere Möglichkeiten deine Arbeit zu aktualisieren wenn das entfernte Repository neue Commits bekommen hat? Klar! Schauen wir uns dasselbe an, aber diesmal arbeiten wir mit `merge`.", + "Gibt es noch weitere Möglichkeiten deine Arbeit zu aktualisieren, wenn das entfernte Repository neue Commits bekommen hat? Klar! Schauen wir uns dasselbe an, aber diesmal arbeiten wir mit `merge`.", "", - "Obwohl `git merge` deine Arbeit nicht verschiebt (und stattdessen einen Merge Commit erzeugt) ist es eine Möglichkeit Git dazu zu bringen, alle Änderungen vom Remote in deine Sachen zu integrieren. Denn durch den Merge wird der Remote Branch zu einem *Vorgänger* deines Branches, was bedeutet dass dein Commit alle Commits des entfernten Branches beinhaltet.", + "Obwohl `git merge` deine Arbeit nicht verschiebt (und stattdessen einen Merge Commit erzeugt) ist es eine Möglichkeit Git dazu zu bringen, alle Änderungen vom Remote in deine Sachen zu integrieren. Denn durch den Merge wird der Remote Branch zu einem *Vorgänger* deines Branches, was bedeutet, dass dein Commit alle Commits des entfernten Branches beinhaltet.", "", "Zur Demonstration ..." ] @@ -1266,7 +1266,7 @@ exports.level = { "afterMarkdowns": [ "Ok. Wir haben die lokale Abbildung des entfernen Repositorys mit `git fetch` aktualisiert, die neuen Änderungen per *Merge* in deine integriert, und letztere dann mit `git push` auf den Server gebracht." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1384,7 +1384,7 @@ exports.level = { "afterMarkdowns": [ "Опа! Мы только что обновили наш локальный образ удалённого репозитория средствами `git fetch`. Ещё мы перебазировали наши наработки, чтобы они отражали все изменения с удалённого репозитория, и опубликовали их с помощью `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1409,7 +1409,7 @@ exports.level = { "afterMarkdowns": [ "Опа! Мы обновили наше локальное представление удалённого репозитория с помощью `git fetch`, *объединили* ваши новые наработки с нашими наработками (чтобы отразить изменения в удалённом репозитории) и затем опубликовали их с помощью `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1527,7 +1527,7 @@ exports.level = { "afterMarkdowns": [ "わお!私たちは`git fetch`でローカルのリモートブランチを更新し、私たちの作業をリベースさせてリモートの新しい変更に適用させ、`git push`でそれをプッシュしました。" ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1552,7 +1552,7 @@ exports.level = { "afterMarkdowns": [ "わお!私たちは`git fetch`でローカルのリモートブランチを更新し、私たちの作業を*マージ*して(リモートの新しい変更を反映するために)、`git push`でそれをプッシュしました。" ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1670,7 +1670,7 @@ exports.level = { "afterMarkdowns": [ "Ка-бум! Ми оновили наш локальний образ віддаленого репозиторію за допомогою `git fetch`, заребейсили наші напрацювання відповідно до змін у віддаленому репо, й завантажили їх за допомогою `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1695,7 +1695,7 @@ exports.level = { "afterMarkdowns": [ "Ка-бум! Ми оновили наш локальний образ віддаленої гілки за допомогою `git fetch`, *змерджили* нові напрацювання з власними (щоб відобразити останні зміни у віддаленій гілці), й відіслали їх за допомогою `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1813,7 +1813,7 @@ exports.level = { "afterMarkdowns": [ "Boom! `git fetch`로 원격 저장소의 변경정보를 가져오고, 새 변경들로 우리 작업을 리베이스 했습니다, 이제 `git push`하면 끝!" ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1838,7 +1838,7 @@ exports.level = { "afterMarkdowns": [ "Boom! `git fetch`로 원격 저장소의 변경정보를 가져오고, 새 작업을 우리 작업으로 *병합*했습니다 (원격 저장소의 변경을 반영하기 위해서죠), 이제 `git push`하면 끝!" ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1956,7 +1956,7 @@ exports.level = { "afterMarkdowns": [ "Bùùm! Ta đã cập nhật nhánh từ xa trong kho chứ cục bộ với `git fetch`, dịch chuyển thành quả của mình để phản ánh thay đổi mới của kho chứa từ xa, sau đó đẩy chúng lên với `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -1981,7 +1981,7 @@ exports.level = { "afterMarkdowns": [ "Bùùm! Ta đã cập nhật đại diện nhánh từ xa tại kho chứa địa phương với `git fetch`, *hợp nhất* (*merge*) thành quả mới vào thành quả của ta (để phản ánh thay đổi ở nhánh từ xa), sau đó đẩy chúng lên với `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -2099,7 +2099,7 @@ exports.level = { "afterMarkdowns": [ "Boom! Posodobili smo našo lokalno reprezentacijo oddaljenega repozitorija z `git fetch`, rebaseali naše delo, da vsebuje nove spremembe iz oddaljenega repota, nato pa naložili svoje delo z `git push`." ], - "command": "git fetch; git rebase o/master; git push", + "command": "git fetch; git rebase o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, @@ -2124,7 +2124,7 @@ exports.level = { "afterMarkdowns": [ "Boom! Posodobili smo našo lokalno sliko oddaljenega repozitorija z `git fetch`, *zmergali* novo delo v naše delo (kot odraz novih sprememb na oddaljenem branchu) in jih nato naložili z `git push`." ], - "command": "git fetch; git merge o/master; git push", + "command": "git fetch; git merge o/main; git push", "beforeCommand": "git clone; git fakeTeamwork; git commit" } }, diff --git a/src/levels/remote/lockedMaster.js b/src/levels/remote/lockedMaster.js index d8f18fa0..72e72b24 100644 --- a/src/levels/remote/lockedMaster.js +++ b/src/levels/remote/lockedMaster.js @@ -1,26 +1,30 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"feature\":{\"target\":\"C2\",\"id\":\"feature\",\"remoteTrackingBranchID\":\"o/feature\"},\"o/feature\":{\"target\":\"C2\",\"id\":\"o/feature\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"}},\"tags\":{},\"HEAD\":{\"target\":\"feature\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"feature\":{\"target\":\"C2\",\"id\":\"feature\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"}},\"tags\":{},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", - "solutionCommand": "git reset --hard o/master;git checkout -b feature C2; git push origin feature", + "solutionCommand": "git reset --hard o/main;git checkout -b feature C2; git push origin feature", "startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"}},\"tags\":{},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"}},\"tags\":{},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "hint": { - "en_US": "Make the feature branch from the local master before resetting it back to be the same as origin's master", - "de_DE": "Erstelle einen Feature-Branch ausgehend vom lokalen Master-Branch, bevor du den Master-Branch auf den origin/master zurücksetzt.", - "ru_RU": "Создайте новую feature ветвь от master перед тем, как откатить изменения в master до состояния o/master.", + "en_US": "Make the feature branch from the local main before resetting it back to be the same as origin's main", + "de_DE": "Erstelle einen Feature-Branch ausgehend vom lokalen Master-Branch, bevor du den Master-Branch auf den origin/main zurücksetzt.", + "ru_RU": "Создайте новую feature ветвь от main перед тем, как откатить изменения в main до состояния o/main.", + "uk": "Створіть нову feature гілку від локального main перед тим, як відкотити зміни в main до стану o/main.", "zh_CN": "从本地的master创建一个feature分支, 然后重置master和origin master保持一致。", - "es_ES": "Crea la rama feature desde la rama master en local antes de restablecerlo para que sea el mismo que la rama master de origen", - "fr_FR": "Créer la branche feature à partir du master local, avant de la restaurer dans le même état que o/master", - "ko" : "로컬 저장소의 master 브랜치로부터 feature 브랜치를 만드세요. 그리고 o/master와 같아질 수 있도록 로컬 저장소의 master 브랜치를 reset 하세요.", - "sl_SI": "Naredi feature branch iz lokalnega masterja preden ga ponastaviš, da bo enak kot origin master.", - "es_AR": "Crea la rama feature desde la rama master en local antes de restablecerlo para que sea el mismo que la rama master de origen." + "es_ES": "Crea la rama feature desde la rama main en local antes de restablecerlo para que sea el mismo que la rama main de origen", + "pt_BR": "Crie o ramo feature a partir do ramo main no local antes de reestabelecê-lo para que seja o mesmo que o ramo main de origem", + "fr_FR": "Créer la branche feature à partir du main local, avant de la restaurer dans le même état que o/main", + "ko" : "로컬 저장소의 main 브랜치로부터 feature 브랜치를 만드세요. 그리고 o/main과 같아질 수 있도록 로컬 저장소의 main 브랜치를 reset 하세요.", + "sl_SI": "Naredi feature branch iz lokalnega masterja preden ga ponastaviš, da bo enak kot origin main.", + "es_AR": "Crea la rama feature desde la rama main en local antes de restablecerlo para que sea el mismo que la rama main de origen." }, "name": { "en_US": "Locked Master", "de_DE": "Gesperrter Master-Branch", - "ru_RU": "Заблокированная ветвь master", + "ru_RU": "Заблокированная ветвь main", + "uk": "Заблокована гілка main", "zh_CN": "锁定的Master(Locked Master)", "es_ES": "Master bloqueado", + "pt_BR": "Master bloqueado", "fr_FR": "Master verrouillé", - "ko" : "잠겨버린 Master", + "ko" : "잠겨버린 main 브랜치", "sl_SI": "Zaklenjen Master", "es_AR": "Master bloqueado" }, @@ -33,10 +37,10 @@ exports.level = { "markdowns": [ "## Remote Rejected!", "", - "If you work on a large collaborative team its likely that master is locked and requires some Pull Request process to merge changes. If you commit directly to master locally and try pushing you will be greeted with a message similar to this:", + "If you work on a large collaborative team its likely that main is locked and requires some Pull Request process to merge changes. If you commit directly to main locally and try pushing you will be greeted with a message similar to this:", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```" ] } @@ -47,9 +51,9 @@ exports.level = { "markdowns": [ "## Why was it rejected?", "", - "The remote rejected the push of commits directly to master because of the policy on master requiring pull requests to instead be used.", + "The remote rejected the push of commits directly to main because of the policy on main requiring pull requests to instead be used.", "", - "You meant to follow the process creating a branch then pushing that branch and doing a pull request, but you forgot and committed directly to master. Now you are stuck and cannot push your changes." + "You meant to follow the process creating a branch then pushing that branch and doing a pull request, but you forgot and committed directly to main. Now you are stuck and cannot push your changes." ] } }, @@ -59,7 +63,7 @@ exports.level = { "markdowns": [ "## The solution", "", - "Create another branch called feature and push that to the remote. Also reset your master back to be in sync with the remote otherwise you may have issues next time you do a pull and someone else's commit conflicts with yours." + "Create another branch called feature and push that to the remote. Also reset your main back to be in sync with the remote otherwise you may have issues next time you do a pull and someone else's commit conflicts with yours." ] } } @@ -76,7 +80,7 @@ exports.level = { "Wenn du in einem großen Team zusammen arbeitest, ist der Master-Branch mit hoher Wahrscheinlichkeit für direkte Änderungen gesperrt. Um Änderungen am Remote-Branch einpflegen zu können, ist ein Pull-Request-Prozess notwendig. Wenn du lokal in deinem Master-Branch einen Commit durchführst und diesen versuchst auf den serverseitigen Master-Branch zu pushen, wirst du folgende Fehlermeldung bekommen:", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```" ] } @@ -99,7 +103,7 @@ exports.level = { "markdowns": [ "## Die Lösung", "", - "Erstelle einen Branch der feature heißt und pushe diesen auf den Server. Setze den lokalen Master-Branch zurück, dass er mit dem Origin-Master-Branch synchron ist. Dies könnte sonst später zu weiteren Komplikationen führen, wenn weiter pulls durchgeführt und Commits von anderen mit deinen in Konflikt stehen." + "Erstelle einen Branch der feature heißt und pushe diesen auf den Server. Setze den lokalen Master-Branch zurück, dass er mit dem Origin-Master-Branch synchron ist. Dies könnte sonst später zu Komplikationen führen, wenn weitere `pull`s durchgeführt und Commits von anderen mit deinen in Konflikt stehen." ] } } @@ -116,7 +120,7 @@ exports.level = { "如果你是在一个大的合作团队中工作, 很可能是master被锁定了, 需要一些Pull Request流程来合并修改。如果你直接提交(commit)到本地master, 然后试图推送(push)修改, 你将会收到这样类似的信息:", "", "```", - " ! [远程服务器拒绝] master -> master (TF402455: 不允许推送(push)这个分支; 你必须使用pull request来更新这个分支.)", + " ! [远程服务器拒绝] main -> main (TF402455: 不允许推送(push)这个分支; 你必须使用pull request来更新这个分支.)", "```" ] } @@ -153,14 +157,14 @@ exports.level = { "markdowns": [ "## Remote Rejected!", "", - "Когда вы работаете в составе большой команды разработчиков над проектом, то, вероятнее всего, ветвь `master` будет _заблокирована_. Для внесения изменений в неё в git существует понятие запроса на слияние `Pull Request`. В такой ситуации если вы закоммитите свои наработки непосредственно в `master` ветвь, а после выполните `git push`, то будет сгенерировано сообщение об ошибке:", + "Когда вы работаете в составе большой команды разработчиков над проектом, то, вероятнее всего, ветвь `main` будет _заблокирована_. Для внесения изменений в неё в git существует понятие запроса на слияние `Pull Request`. В такой ситуации если вы закоммитите свои наработки непосредственно в `main` ветвь, а после выполните `git push`, то будет сгенерировано сообщение об ошибке:", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```", "", "```", - " ! [удалённо отклонено] master -> master (TF402455: Изменение этой ветви запрещены; вы можете использовать pull request для обновления этой ветви.)", + " ! [удалённо отклонено] main -> main (TF402455: Изменение этой ветви запрещены; вы можете использовать pull request для обновления этой ветви.)", "```" ] } @@ -171,9 +175,9 @@ exports.level = { "markdowns": [ "## Почему произошло отклонение моих изменений?", "", - "Удалённый репозиторий отклонил загруженные коммиты непосредственно в `master` ветку потому, что на `master` _настроена политика_, которая требует использование `Pull request` вместо обычного `git push`.", + "Удалённый репозиторий отклонил загруженные коммиты непосредственно в `main` ветку потому, что на `main` _настроена политика_, которая требует использование `Pull request` вместо обычного `git push`.", "", - "Эта политика подразумевает процесс создания новой ветви разработки, внесение в неё всех необходимых коммитов, загрузка изменений в удалённый репозиторий и _открытие нового_ `Pull request`. Однако вы забыли про это и закоммитили наработки непосредственно в `master` ветвь. Теперь вы застряли и не можете запушить свои изменения :(. " + "Эта политика подразумевает процесс создания новой ветви разработки, внесение в неё всех необходимых коммитов, загрузка изменений в удалённый репозиторий и _открытие нового_ `Pull request`. Однако вы забыли про это и закоммитили наработки непосредственно в `main` ветвь. Теперь вы застряли и не можете запушить свои изменения :(. " ] } }, @@ -183,7 +187,52 @@ exports.level = { "markdowns": [ "## Решение:", "", - "Создайте ещё одну ветвь под названием `feature` и отправьте изменения на удалённый репозиторий. Так же не забудьте вернуть вашу локальную `master` ветвь в исходное состояние (чтобы она была синхронизирована с удалённой). В противном случае у вас могут возникнуть проблемы при следующем выполнении `git pull`." + "Создайте ещё одну ветвь под названием `feature` и отправьте изменения на удалённый репозиторий. Также не забудьте вернуть вашу локальную `main` ветвь в исходное состояние (чтобы она была синхронизирована с удалённой). В противном случае у вас могут возникнуть проблемы при следующем выполнении `git pull`." + ] + } + } + ] + }, + "uk": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Remote Rejected!", + "", + "Коли ви працюєте над проектом в складі великої команди розробників, то, швидше за все, гілка `main` буде _заблокована_. Для внесення до неї змін в git існує поняття запиту на злиття `Pull Request`. В такій ситуації, якщо ви закомітите свої зміни безпосередньо в гілку `main`, а потім виконаєте `git push`, то буде згенероване повідомлення про помилку:", + "", + "```", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + "```", + "", + "```", + " ! [віддалено відхилено] main -> main (TF402455: Зміни (push-запити) цієї гілки заборонені; ви повинні використовувати pull-запит для оновлення цієї гілки.)", + "```" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Чому мої зміни були відхилені?", + "", + "Віддалений репозиторій відхилив коміти завантажені безпосередньо в гілку `main` через те, що на `main` _налаштована політика_, яка вимагає використання `Pull request` замість звичайного `git push`.", + "", + "Ця політика має на увазі процес створення нової гілки розробки, внесення до неї всіх потрібних комітів, завантаження змін в віддалений репозиторій і _відкриття нового_ `Pull request`. Але ви про це забули (чи не знали) і закомітили свої доробки безпосередньо в гілку `main`. Тепер ви застрягли і не можене запушити свої зміни :(. " + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Рішення:", + "", + "Створіть ще одну гілку з назвою `feature` і відправте зміни у віддалений репозиторій. Також не забудьте повернути вашу локальну гілку `main` в вихідне положення (щоб вона була синхронізована з віддаленою). Інакше у вас можуть виникнути складнощі при наступному виконанні запиту `git pull`, коли коміти інших розробників конфліктуватимуть з вашими." + ] } } @@ -197,10 +246,10 @@ exports.level = { "markdowns": [ "## Remote Rejected!", "", - "Si trabajas en un equipo colaborativo, es probable que la rama `master` esté bloqueada y requiera algún proceso de `Pull Request` para poder `mergear` los cambios. Si haces `commit` directamente a `master` e intentas realizar `push`, recibirás un mensaje similar a este:", + "Si trabajas en un equipo colaborativo, es probable que la rama `main` esté bloqueada y requiera algún proceso de `Pull Request` para poder `mergear` los cambios. Si haces `commit` directamente a `main` e intentas realizar `push`, recibirás un mensaje similar a este:", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```" ] } @@ -211,9 +260,9 @@ exports.level = { "markdowns": [ "## ¿Por qué fue rechazado?", "", - "Se rechazó el `push` del `commit` a la rama `master` debido a la política en la rama `master` que requiere el uso de `Pull Requests`.", + "Se rechazó el `push` del `commit` a la rama `main` debido a la política en la rama `main` que requiere el uso de `Pull Requests`.", "", - "Trataste de crear una rama y luego hacer `pushs` creando un `Pull Request`, pero te olvidaste e hiciste `commit` directamente a `master`. Ahora estás atascado y no puedes hacer `push` de tus cambios." + "Trataste de crear una rama y luego hacer `pushs` creando un `Pull Request`, pero te olvidaste e hiciste `commit` directamente a `main`. Ahora estás atascado y no puedes hacer `push` de tus cambios." ] } @@ -224,7 +273,47 @@ exports.level = { "markdowns": [ "## La solución", "", - "Crea otra rama llamada `feature` y haz `push` a remoto. También restablece su rama `master` nuevamente para que esté sincronizado con el repositorio remoto; de lo contrario, puedes tener problemas la próxima vez que realices un `pull` y el `commit` de otra persona entre en conflicto con el tuyo." + "Crea otra rama llamada `feature` y haz `push` a remoto. También restablece su rama `main` nuevamente para que esté sincronizado con el repositorio remoto; de lo contrario, puedes tener problemas la próxima vez que realices un `pull` y el `commit` de otra persona entre en conflicto con el tuyo." + ] + } + } + ] + }, + "pt_BR": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Remote Rejected!", + "", + "Se você trabalha em uma grande equipe colaborativa é provável que o main seja bloqueado e precise de alguns processos de Pull Request para unir mudanças. Se você commitar diretamente para o main localmente e tentar fazer um push você visualizará uma mensagem similar a essa:", + "", + "```", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + "```" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Por que foi rejeitado?", + "", + "O repositório remoto rejeitou o push dos commits diretamente para o main por causa da política do main necessitando do uso dos pull requests.", + "", + "Você pretendia seguir o processo de criação de uma ramificação, fazendo um push dessa ramificação e fazendo um pull request, mas você esqueceu e commitou diretamente para o main. Agora você está preso e não consegue publicar suas mudanças." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## A solução", + "", + "Crie outro branch chamado feature e faça um push dele para o repositório remoto. Além disso, resete o main de volta a estar sincronizado com o repositório remoto para não ter problemas da próxima vez que fizer um pull e os commits de alguém mais conflitarem com o seu." ] } } @@ -238,10 +327,10 @@ exports.level = { "markdowns": [ "## Remote Rejected!", "", - "Si vous travaillez dans une équipe de grande taille, il est probable que `master` soit verrouillée, et que le mécanisme de `Pull Request` soit nécessaire pour `merge` des changements. Si vous faites un `commit` directement sur le master local, et essayez de `push`, vous serez reçu avec un message de la sorte :", + "Si vous travaillez dans une équipe de grande taille, il est probable que `main` soit verrouillée, et que le mécanisme de `Pull Request` soit nécessaire pour `merge` des changements. Si vous faites un `commit` directement sur le main local, et essayez de `push`, vous serez reçu avec un message de la sorte :", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```" ] } @@ -252,9 +341,9 @@ exports.level = { "markdowns": [ "## Pourquoi est-ce rejeté?", "", - "Le dépôt distant a rejeté le `push` de `commit` directement sur `master`, à cause de la stratégie mise en place sur `master`, imposant plutôt l'usage des `pull requests`.", + "Le dépôt distant a rejeté le `push` de `commit` directement sur `main`, à cause de la stratégie mise en place sur `main`, imposant plutôt l'usage des `pull requests`.", "", - "Vous étiez censé suivre le processus suivant : créer une branche, `push`, et faire une `pull request`. Mais vous avez oublié et avez fait un `commit` directement sur `master`. Maintenant vous êtes coincé et ne pouvez pas faire un `push` de vos modifications." + "Vous étiez censé suivre le processus suivant : créer une branche, `push`, et faire une `pull request`. Mais vous avez oublié et avez fait un `commit` directement sur `main`. Maintenant vous êtes coincé et ne pouvez pas faire un `push` de vos modifications." ] } }, @@ -264,7 +353,7 @@ exports.level = { "markdowns": [ "## La solution", "", - "Créer une autre branche appelée feature, et poussez la sur le serveur distant. Réinitialisez (`reset`) également votre `master` pour être en cohérence avec l'état du serveur distant, sinon vous pourriez avoir des problèmes la prochaine fois que vous faites un `pull`, et que quelqu'un d'autre `commit` des choses en conflit avec vos modifications." + "Créer une autre branche appelée feature, et poussez la sur le serveur distant. Réinitialisez (`reset`) également votre `main` pour être en cohérence avec l'état du serveur distant, sinon vous pourriez avoir des problèmes la prochaine fois que vous faites un `pull`, et que quelqu'un d'autre `commit` des choses en conflit avec vos modifications." ] } } @@ -278,10 +367,10 @@ exports.level = { "markdowns": [ "## 원격저장소 거부! (Remote Rejected!)", "", - "규모가 큰 개발팀에서 일하는 경우, 보통 원격저장소의 `master` 브랜치는 잠겨있습니다(locked). 그래서 변경사항을 적용하려면 pull request 과정을 거쳐야하죠. 만약에 여러분이 로컬 저장소의 `master`브랜치에서 커밋을 한 후 `push`하려고 시도한다면, 다음과 같은 오류를 받게 될겁니다. :", + "규모가 큰 개발팀에서 일하는 경우, 보통 원격저장소의 `main` 브랜치는 잠겨있습니다(locked). 그래서 변경사항을 적용하려면 pull request 과정을 거쳐야하죠. 만약에 여러분이 로컬 저장소의 `main`브랜치에서 커밋을 한 후 `push`하려고 시도한다면, 다음과 같은 오류를 받게 될겁니다. :", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```" ] } @@ -292,9 +381,9 @@ exports.level = { "markdowns": [ "## 왜 거부됐나요?", "", - "원격 저장소는 자신의 `master` 브랜치에 대한 직접적인 커밋을 제한합니다. 왜냐하면 `push` 대신에 pull request가 쓰여야 한다는 규칙이 원격 저장소의 `master` 브랜치에는 적용되어 있기 때문이죠.", + "원격 저장소는 자신의 `main` 브랜치에 대한 직접적인 커밋을 제한합니다. 왜냐하면 `push` 대신에 pull request가 쓰여야 한다는 규칙이 원격 저장소의 `main` 브랜치에는 적용되어 있기 때문이죠.", "", - "여러분은 브랜치를 따로 만들어 작업한 다음, 그것을 `push`하고 pull request를 하려 했습니다. 하지만 그걸 잊고 실수로 `master` 브랜치에서 직접 커밋을 해버렸네요! 이제 변경 사항을 `push` 하지도 못하고 옴짝달싹 못하는 상황이 되어버렸습니다." + "여러분은 브랜치를 따로 만들어 작업한 다음, 그것을 `push`하고 pull request를 하려 했습니다. 하지만 그걸 잊고 실수로 `main` 브랜치에서 직접 커밋을 해버렸네요! 이제 변경 사항을 `push` 하지도 못하고 옴짝달싹 못하는 상황이 되어버렸습니다." ] } }, @@ -304,7 +393,7 @@ exports.level = { "markdowns": [ "## 해결책", "", - "`feature` 라는 이름의 다른 브랜치를 만들어 원격 저장소에 `push` 하세요. 그리고 원격 저장소와 동기화될 수 있도록 로컬 저장소의 `master` 브랜치를 `reset`하세요. 그렇지 않으면 여러분이 다음에 `pull`을 시도할 때 문제가 발생하거나, 다른 협업자들의 커밋이 여러분의 커밋과 충돌할 수도 있습니다." + "`feature` 라는 이름의 다른 브랜치를 만들어 원격 저장소에 `push` 하세요. 그리고 원격 저장소와 동기화될 수 있도록 로컬 저장소의 `main` 브랜치를 `reset`하세요. 그렇지 않으면 여러분이 다음에 `pull`을 시도할 때 문제가 발생하거나, 다른 협업자들의 커밋이 여러분의 커밋과 충돌할 수도 있습니다." ] } } @@ -318,10 +407,10 @@ exports.level = { "markdowns": [ "## Remote Rejected!", "", - "Si trabajas en un equipo colaborativo, es probable que la rama `master` esté bloqueada y requiera algún proceso de `Pull Request` para poder `mergear` los cambios. Si haces `commit` directamente a `master` e intentas realizar `push`, recibirás un mensaje similar a este:", + "Si trabajas en un equipo colaborativo, es probable que la rama `main` esté bloqueada y requiera algún proceso de `Pull Request` para poder `mergear` los cambios. Si haces `commit` directamente a `main` e intentas realizar `push`, recibirás un mensaje similar a este:", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```" ] } @@ -332,9 +421,9 @@ exports.level = { "markdowns": [ "## ¿Por qué fue rechazado?", "", - "Se rechazó el `push` del `commit` a la rama `master` debido a la política en la rama `master` que requiere el uso de `Pull Requests`.", + "Se rechazó el `push` del `commit` a la rama `main` debido a la política en la rama `main` que requiere el uso de `Pull Requests`.", "", - "Trataste de crear una rama y luego hacer `pushs` creando un `Pull Request`, pero te olvidaste e hiciste `commit` directamente a `master`. Ahora estás atascado y no puedes hacer `push` de tus cambios." + "Trataste de crear una rama y luego hacer `pushs` creando un `Pull Request`, pero te olvidaste e hiciste `commit` directamente a `main`. Ahora estás atascado y no puedes hacer `push` de tus cambios." ] } @@ -345,7 +434,7 @@ exports.level = { "markdowns": [ "## La solución", "", - "Crea otra rama llamada `feature` y haz `push` a remoto. También restablece su rama `master` nuevamente para que esté sincronizado con el repositorio remoto; de lo contrario, puedes tener problemas la próxima vez que realices un `pull` y el `commit` de otra persona entre en conflicto con el tuyo." + "Crea otra rama llamada `feature` y haz `push` a remoto. También restablece su rama `main` nuevamente para que esté sincronizado con el repositorio remoto; de lo contrario, puedes tener problemas la próxima vez que realices un `pull` y el `commit` de otra persona entre en conflicto con el tuyo." ] } } @@ -359,10 +448,10 @@ exports.level = { "markdowns": [ "## Oddaljena Zavrnitev!", "", - "Če delaš v veliki ekipi je verjetno, da je master zaklenjen in zahteva Pull Request postopek za merganje sprememb. Če commitaš direktno na master lokalno, poizkusi pushati in dobil boš sporočilo podobno temu:", + "Če delaš v veliki ekipi je verjetno, da je main zaklenjen in zahteva Pull Request postopek za merganje sprememb. Če commitaš direktno na main lokalno, poizkusi pushati in dobil boš sporočilo podobno temu:", "", "```", - " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + " ! [remote rejected] main -> main (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", "```" ] } @@ -373,9 +462,9 @@ exports.level = { "markdowns": [ "## Zakaj je bil zavrnjen?", "", - "Oddaljen repo je zavrnil pushanje commitov direktno na master zaradi politike, da se uporabljajo le pull requesti.", + "Oddaljen repo je zavrnil pushanje commitov direktno na main zaradi politike, da se uporabljajo le pull requesti.", "", - "Mišljeno je, da slediš temu procesu, da narediš branch, ga pushaš, nato pa narediš pull request, ampak si pozabil in commital direktno na master. Sedaj si zataknjen in ne moreš pushati svojih sprememb." + "Mišljeno je, da slediš temu procesu, da narediš branch, ga pushaš, nato pa narediš pull request, ampak si pozabil in commital direktno na main. Sedaj si zataknjen in ne moreš pushati svojih sprememb." ] } }, @@ -385,11 +474,11 @@ exports.level = { "markdowns": [ "## Rešitev", "", - "Naredi še en branch imenovan feature in ga pushaj na remote. Prav tako resetiraj master nazaj, da bo v enakem stanju kot na oddaljenem repozitoriju, drugače imaš lahko težave naslednjič, ko boš pullal spremembe in bo konflikt s commitom nekoga drugega." + "Naredi še en branch imenovan feature in ga pushaj na remote. Prav tako resetiraj main nazaj, da bo v enakem stanju kot na oddaljenem repozitoriju, drugače imaš lahko težave naslednjič, ko boš pullal spremembe in bo konflikt s commitom nekoga drugega." ] } } ] } } -}; \ No newline at end of file +}; diff --git a/src/levels/remote/mergeManyFeatures.js b/src/levels/remote/mergeManyFeatures.js index dc1a5c55..e544c050 100644 --- a/src/levels/remote/mergeManyFeatures.js +++ b/src/levels/remote/mergeManyFeatures.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C11\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\",\"localBranchesThatTrackThis\":null},\"o/master\":{\"target\":\"C11\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":[\"master\"]},\"side1\":{\"target\":\"C2\",\"id\":\"side1\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null},\"side2\":{\"target\":\"C4\",\"id\":\"side2\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null},\"side3\":{\"target\":\"C7\",\"id\":\"side3\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C1\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"},\"C8\":{\"parents\":[\"C1\"],\"id\":\"C8\"},\"C9\":{\"parents\":[\"C2\",\"C8\"],\"id\":\"C9\"},\"C10\":{\"parents\":[\"C4\",\"C9\"],\"id\":\"C10\"},\"C11\":{\"parents\":[\"C10\",\"C7\"],\"id\":\"C11\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C11\",\"id\":\"master\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C8\":{\"parents\":[\"C1\"],\"id\":\"C8\"},\"C5\":{\"parents\":[\"C1\"],\"id\":\"C5\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C9\":{\"parents\":[\"C2\",\"C8\"],\"id\":\"C9\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"},\"C10\":{\"parents\":[\"C4\",\"C9\"],\"id\":\"C10\"},\"C11\":{\"parents\":[\"C10\",\"C7\"],\"id\":\"C11\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", - "solutionCommand": "git checkout master;git pull;git merge side1;git merge side2;git merge side3;git push", + "solutionCommand": "git checkout main;git pull;git merge side1;git merge side2;git merge side3;git push", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\",\"localBranchesThatTrackThis\":null},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":[\"master\"]},\"side1\":{\"target\":\"C2\",\"id\":\"side1\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null},\"side2\":{\"target\":\"C4\",\"id\":\"side2\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null},\"side3\":{\"target\":\"C7\",\"id\":\"side3\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C1\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"}},\"HEAD\":{\"target\":\"side3\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C8\",\"id\":\"master\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C8\":{\"parents\":[\"C1\"],\"id\":\"C8\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "name": { "en_US": "Merging with remotes", @@ -46,7 +46,7 @@ exports.level = { "markdowns": [ "## Why not merge?", "", - "In order to push new updates to the remote, all you need to do is *incorporate* the latest changes from the remote. That means you can either rebase *or* merge in the remote branch (e.g. `o/master`).", + "In order to push new updates to the remote, all you need to do is *incorporate* the latest changes from the remote. That means you can either rebase *or* merge in the remote branch (e.g. `o/main`).", "", "So if you can do either method, why have the lessons focused on rebasing so far? Why is there no love for `merge` when working with remotes?", "" @@ -91,7 +91,7 @@ exports.level = { "markdowns": [ "## Pourquoi pas merge ?", "", - "Dans le but d'envoyer de nouvelles modifications sur le dépôt distant, la seule étape préliminaire est *d'incorporer* les derniers changements de ce dépôt dans le nôtre. Concrètement, vous pouvez faire un rebase *ou* un merge de la branche distante (c'est à dire de `o/master`).", + "Dans le but d'envoyer de nouvelles modifications sur le dépôt distant, la seule étape préliminaire est *d'incorporer* les derniers changements de ce dépôt dans le nôtre. Concrètement, vous pouvez faire un rebase *ou* un merge de la branche distante (c'est à dire de `o/main`).", "", "Donc si l'on peut faire les deux méthodes, pourquoi les leçons se sont-elles concentrées sur rebase jusqu'à présent ? Pourquoi préfère-t-on souvent éviter `merge` lorsque l'on travaille avec les branches distantes ?", "" @@ -136,7 +136,7 @@ exports.level = { "markdowns": [ "## ¿Por qué no mergear?", "", - "Para pushear tus novedades al remoto, todo lo que tenés que hacer es *integrar* los últimos cambios del remoto con los tuyos. Eso significa que podés hacer tanto rebase como merge con la rama remota (por ejemplo, `o/master`).", + "Para pushear tus novedades al remoto, todo lo que tenés que hacer es *integrar* los últimos cambios del remoto con los tuyos. Eso significa que podés hacer tanto rebase como merge con la rama remota (por ejemplo, `o/main`).", "", "Así que si podés hacer cualquiera de las dos, ¿por qué las lecciones sólo se centraron en rebasear hasta ahora? ¿Por qué no dedicarle algo de amor al `merge` cuando trabajamos con remotos?", "" @@ -181,7 +181,7 @@ exports.level = { "markdowns": [ "## ¿Por qué no hacer merge?", "", - "Para hacer push con tus novedades al remoto, todo lo que tienes que hacer es *integrar* los últimos cambios del remoto con los tuyos. Eso significa que puedes hacer tanto rebase como merge con la rama remota (por ejemplo, `o/master`).", + "Para hacer push con tus novedades al remoto, todo lo que tienes que hacer es *integrar* los últimos cambios del remoto con los tuyos. Eso significa que puedes hacer tanto rebase como merge con la rama remota (por ejemplo, `o/main`).", "", "Así que si puedes hacer cualquiera de las dos, ¿por qué las lecciones sólo se han centrado en rebasear hasta ahora? ¿Por qué no dedicarle algo de amor al `merge` cuando trabajamos con remotos?", "" @@ -226,7 +226,7 @@ exports.level = { "markdowns": [ "## Por que não um merge?", "", - "Para enviar novas atualizações ao repositório remoto, tudo que você precisa é *incorporar* as últimas mudanças ali presentes. Isso significa que você pode tanto fazer um rebase *quanto* um merge no ramo remoto (ex. `o/master`).", + "Para enviar novas atualizações ao repositório remoto, tudo que você precisa é *incorporar* as últimas mudanças ali presentes. Isso significa que você pode tanto fazer um rebase *quanto* um merge no ramo remoto (ex. `o/main`).", "", "Então, se você pode escolher qualquer um desses métodos, por que as lições focaram no rebase até o momento? Por que não demos nenhum amor ao `merge` quando trabalhamos com repositórios remotos?", "" @@ -271,7 +271,7 @@ exports.level = { "markdowns": [ "## ¿Por qué non mesturar?", "", - "Para empurrar as túas novidades ó remoto, todo o que tes que facer é *integrar* os últimos cambios do remoto cos teus. Eso significa que podes facer tanto rebase como merge ca rama remota (por exemplo, `o/master`).", + "Para empurrar as túas novidades ó remoto, todo o que tes que facer é *integrar* os últimos cambios do remoto cos teus. Eso significa que podes facer tanto rebase como merge ca rama remota (por exemplo, `o/main`).", "", "Así que podes facer calquera das dúas, ¿por qué as leccións só se centraron en rebasar ata agora? ¿Por qué non adicarlle algo de amor ó `merge` cando traballamos con remotos?", "" @@ -316,7 +316,7 @@ exports.level = { "markdowns": [ "## 為何不要 merge?", "", - "為了要 push 新的 commit 給 remote,你只需要做的是先同步 remote 的更新,那就表示你可以使用 rebase *或者*是 merge remote branch (例如,`o/master`)。", + "為了要 push 新的 commit 給 remote,你只需要做的是先同步 remote 的更新,那就表示你可以使用 rebase *或者*是 merge remote branch (例如,`o/main`)。", "", "所以假如你已經學會使用其中一個方式了,那為什麼我們到目前為止還在強調 `rebase`?為什麼當提到 remote 的時候,反而 `merge` 比較沒有受到關注?", "" @@ -361,7 +361,7 @@ exports.level = { "markdowns": [ "## Warum nicht Merge?", "", - "Um neue Dinge auf das Remote zu schieben musst du erst alle Änderungen vom Remote holen und bei dir integrieren. Das bedeutet du kannst den entfernten Branch (z.B. `o/master`) entweder Rebasen *oder* Mergen.", + "Um neue Dinge auf das Remote zu schieben musst du erst alle Änderungen vom Remote holen und bei dir integrieren. Das bedeutet du kannst den entfernten Branch (z.B. `o/main`) entweder Rebasen *oder* Mergen.", "", "Wenn du also beide Methoden benutzen kannst, warum haben sich die Level bisher auf Rebase konzentriert? Warum mag keiner `merge` wenn es um Remotes geht?", "" @@ -376,7 +376,7 @@ exports.level = { "", "Vorteile:", "", - "* Rebasen macht den Commit-Baum sehr übersichtlich, weil alles linear aufeinander aufbaut", + "* Rebasen macht den Commit-Baum sehr übersichtlich, weil alles linear aufeinander aufbaut.", "", "Nachteile:", "", @@ -384,7 +384,7 @@ exports.level = { "", "Zum Beispiel kann durch Rebasen Commit `C1` an Commit `C3` *vorbei* bewegt werden, bzw. eine Kopie von `C1`. Es sieht dann so aus als wären die Änderungen in `C1` nach denen in `C3` gemacht worden, obwohl das nicht stimmt.", "", - "Manche Entwickler möchten lieber die History lassen wie sie ist und ziehen daher das Mergen vor. Andere (wie ich) haben lieber einen sauberen Commit-Baum und ziehen Rebase vor. Am Ende ist es eine Geschmacksfrage. :D" + "Manche Entwickler möchten lieber die History lassen, wie sie ist und ziehen daher das Mergen vor. Andere (wie ich) haben lieber einen sauberen Commit-Baum und ziehen Rebase vor. Am Ende ist es eine Geschmacksfrage. :D" ] } }, @@ -406,7 +406,7 @@ exports.level = { "markdowns": [ "## 为什么不用 merge 呢?", "", - "为了 push 新变更到远程仓库,你要做的就是**包含**远程仓库中最新变更。意思就是只要你的本地分支包含了远程分支(如 `o/master`)中的最新变更就可以了,至于具体是用 rebase 还是 merge,并没有限制。", + "为了 push 新变更到远程仓库,你要做的就是**包含**远程仓库中最新变更。意思就是只要你的本地分支包含了远程分支(如 `o/main`)中的最新变更就可以了,至于具体是用 rebase 还是 merge,并没有限制。", "", "那么既然没有规定限制,为何前面几节都在着重于 rebase 呢?为什么在操作远程分支时不喜欢用 `merge` 呢?", "" @@ -451,7 +451,7 @@ exports.level = { "markdowns": [ "## なぜマージではいけないのか?", "", - "新しい更新をリモートにプッシュするため、あなたがする必要があるのはリモートからの最近の変更の*組み込み*です。それは、リモートブランチ(例えば、`o/master`)にリベース*か*マージのどちらかをあなたがする必要があるということを意味します。", + "新しい更新をリモートにプッシュするため、あなたがする必要があるのはリモートからの最近の変更の*組み込み*です。それは、リモートブランチ(例えば、`o/main`)にリベース*か*マージのどちらかをあなたがする必要があるということを意味します。", "", "もしどっちの方法でも行うことができるなら、なぜこれまでのレッスンでは、リベースに焦点を当ててきたのでしょう?リモートへの作業で、なぜ`merge`を推してこなかったのでしょうか?", "" @@ -496,7 +496,7 @@ exports.level = { "markdowns": [ "## Merge? Нет, нет, спасибо.", "", - "Чтобы закачать (push) новые изменения в удалённый репозиторий, всё, что вам нужно сделать - это *смешать* последние изменения из удалённого репозитория. Это значит, что вы можете выполнить rebase *или* merge на удалённом репозитории (например, `o/master`).", + "Чтобы закачать (push) новые изменения в удалённый репозиторий, всё, что вам нужно сделать - это *смешать* последние изменения из удалённого репозитория. Это значит, что вы можете выполнить rebase *или* merge на удалённом репозитории (например, `o/main`).", "", "Если мы можем воспользоваться одним из двух методов, то почему же эти упражнения сфокусированы в основном на rebase? К чему такая нелюбовь к `merge`, когда речь идёт о работе с удалёнными репозиториями?", "" @@ -541,7 +541,7 @@ exports.level = { "markdowns": [ "## 왜 merge하지 않는거죠?", "", - "새로운 작업들을 원격 저장소로 push하기위해서 여러분은 원격 저장소의 최근 변경들을 *합치기*만 하면 됩니다. 이 말은 즉 원격 브랜치로(예:`o/master`) rebase를 할 수도 merge를 할 수도 있다는 것입니다.", + "새로운 작업들을 원격 저장소로 push하기위해서 여러분은 원격 저장소의 최근 변경들을 *합치기*만 하면 됩니다. 이 말은 즉 원격 브랜치로(예:`o/main`) rebase를 할 수도 merge를 할 수도 있다는 것입니다.", "", "두가지를 다 할 수 있다면, 왜 지금까지 배운 레슨들은 rebase를 하는것에 집중한거죠? 원격 저장소와 작업을 할때는 왜 `merge`에게 관심을 가져주지 않는건가요?", "" @@ -586,7 +586,7 @@ exports.level = { "markdowns": [ "## Чому б не змерджити?", "", - "Для того, щоб віддалений сервер прийняв твої зміни, треба *об'єднати* їх з останніми змінами на сервері. Це означає ребейс *або* мердж з віддаленою гілкою (напр. `o/master`).", + "Для того, щоб віддалений сервер прийняв твої зміни, треба *об'єднати* їх з останніми змінами на сервері. Це означає ребейс *або* мердж з віддаленою гілкою (напр. `o/main`).", "", "Хмм, якщо можна використати один із цих методів, для чого нам додаткові уроки про ребейс? Чому ніхто не любить `merge`, працюючи з віддаленим сервером?", "" @@ -631,7 +631,7 @@ exports.level = { "markdowns": [ "## Tại sao không hợp nhất?", "", - "Để có thể đẩy cập nhật của bạn lên kho nhánh từ xa, tất cả những gì bạn cần làm là *kết nạp* thay đổi mới nhất từ nhánh từ xa. Nghĩa là bạn có thể dùng tái bố trí *hoặc* hợp nhất với nhánh từ xa (ví dụ `o/master`).", + "Để có thể đẩy cập nhật của bạn lên kho nhánh từ xa, tất cả những gì bạn cần làm là *kết nạp* thay đổi mới nhất từ nhánh từ xa. Nghĩa là bạn có thể dùng tái bố trí *hoặc* hợp nhất với nhánh từ xa (ví dụ `o/main`).", "", "Vậy ta có thể sử dụng một trong 2 cách, thì tại sao đến giờ ta chỉ tập trung vào tái bố trí trong các bài học? Tại sao khi làm việc với nhánh từ xa lại ta lại không thích `hợp nhất` (`merge`)?", "" @@ -676,7 +676,7 @@ exports.level = { "markdowns": [ "## Zakaj ne merganje?", "", - "Da bi poslal nove spremembe na oddaljen repo, je vse kar moraš narediti, da *vključiš* zadnje spremembe iz oddaljenega repota. To pomeni, da lahko rebaseaš *ali* mergeaš v oddaljeni branch (npr. `o/master`).", + "Da bi poslal nove spremembe na oddaljen repo, je vse kar moraš narediti, da *vključiš* zadnje spremembe iz oddaljenega repota. To pomeni, da lahko rebaseaš *ali* mergeaš v oddaljeni branch (npr. `o/main`).", "", "Torej če lahko narediš katero izmed metod, zakaj imeti lekcijo, ki se zaenkrat osredotoča na rebaseanje? Zakaj ni nobene ljubezni do `mergea` pri delanju z oddaljenimi repoti?", "" diff --git a/src/levels/remote/pull.js b/src/levels/remote/pull.js index 320c2b7f..d3e11689 100644 --- a/src/levels/remote/pull.js +++ b/src/levels/remote/pull.js @@ -49,9 +49,9 @@ exports.level = { "", "There are actually many ways to do this -- once you have new commits available locally, you can incorporate them as if they were just normal commits on other branches. This means you could execute commands like:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* etc., etc.", "", "In fact, the workflow of *fetching* remote changes and then *merging* them is so common that git actually provides a command that does both at once! That command is `git pull`." @@ -65,9 +65,9 @@ exports.level = { "Let's first see a `fetch` and a `merge` executed sequentially." ], "afterMarkdowns": [ - "Boom -- we downloaded `C3` with a `fetch` and then merged in that work with `git merge o/master`. Now our `master` branch reflects the new work from the remote (in this case, named `origin`)" + "Boom -- we downloaded `C3` with a `fetch` and then merged in that work with `git merge o/main`. Now our `main` branch reflects the new work from the remote (in this case, named `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -108,9 +108,9 @@ exports.level = { "", "Il existe en fait beaucoup de façons de faire cela -- une fois que vous avez de nouveaux commits disponibles localement, vous pouvez les incorporer dans votre branche de travail comme s'ils étaient des commits normaux d'autres branches. Cela signifie que pourriez simplement exécuter des commandes comme :", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* etc., etc.", "", "En fait, le principe de *rapatrier* (fetch) les branches distantes puis les *fusionner* (merge) est si commun que git a en réalité une commande pour faire les deux à la fois ! Cette commande est `git pull`." @@ -124,9 +124,9 @@ exports.level = { "Voyons d'abord un `fetch` puis un `merge` exécutés séquentiellement." ], "afterMarkdowns": [ - "Boum -- nous avons téléchargé `C3` avec un `fetch` et ensuite nous avons fusionné ce travail dans notre copie avec `git merge o/master`. Maintenant notre branche `master` reflète le nouveau travail du dépôt distant (dans ce cas, nommé `origin`)" + "Boum -- nous avons téléchargé `C3` avec un `fetch` et ensuite nous avons fusionné ce travail dans notre copie avec `git merge o/main`. Maintenant notre branche `main` reflète le nouveau travail du dépôt distant (dans ce cas, nommé `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -167,9 +167,9 @@ exports.level = { "", "Realmente hay varias formas de hacer esto: una vez que tenés los commits disponibles localmente, podés integrarlos como si fueran commits comunes de otras ramas. Esto significa que podrías ejecutar comandos como:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* etc., etc.", "", "De hecho, el flujo de trabajo de *fetchear* cambios remotos y después *mergearlos* es tan común que git incluye un comando que hace ambas cosas de una: ¡`git pull`!" @@ -183,9 +183,9 @@ exports.level = { "Veamos primero un `fetch` y un `merge` ejecutados secuencialmente." ], "afterMarkdowns": [ - "Boom: descargamos `C3` con un `fetch` y luego lo mergeamos con `git merge o/master`. Ahora nuestra rama `master` refleja el nuevo trabajo del remoto (en este caso, llamado `origin`)" + "Boom: descargamos `C3` con un `fetch` y luego lo mergeamos con `git merge o/main`. Ahora nuestra rama `main` refleja el nuevo trabajo del remoto (en este caso, llamado `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -226,9 +226,9 @@ exports.level = { "", "Realmente hay varias formas de hacer esto: una vez que tienes los commits disponibles localmente, puedes integrarlos como si fueran commits comunes de otras ramas. Esto significa que podrías ejecutar comandos como:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* etc., etc.", "", "De hecho, el flujo de trabajo de *fetchear* cambios remotos y después *mergearlos* es tan común que git incluye un comando que hace ambas cosas de una: ¡`git pull`!" @@ -242,9 +242,9 @@ exports.level = { "Veamos primero un `fetch` y un `merge` ejecutados secuencialmente." ], "afterMarkdowns": [ - "Zas: descargamos `C3` con un `fetch` y luego lo mergeamos con `git merge o/master`. Ahora nuestra rama `master` refleja el nuevo trabajo del remoto (en este caso, llamado `origin`)" + "Zas: descargamos `C3` con un `fetch` y luego lo mergeamos con `git merge o/main`. Ahora nuestra rama `main` refleja el nuevo trabajo del remoto (en este caso, llamado `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -285,9 +285,9 @@ exports.level = { "", "Há, na verdade, muitas formas de fazê-lo -- uma vez que você tenha os novos commits disponíveis localmente, você pode incorporá-los como se eles fossem commits normais em outros ramos. Isso significa que você pode executar comandos como estes a seguir:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* etc., etc.", "", "O fluxo de trabalho de executar *fetch* para baixar as mudanças remotas e depois fazer um *merge* delas é tão comum que o Git na verdade fornece um comando que faz ambas as coisas de uma vez só! Esse comando é o `git pull`." @@ -301,9 +301,9 @@ exports.level = { "Vamos primeiro ver um `fetch` e um `merge` executados sequencialmente." ], "afterMarkdowns": [ - "Boom -- nós baixamos o `C3` com um `fetch` e então fizemos um merge desse trabalho usando `git merge o/master`. Agora o nosso ramo `master` reflete o trabalho realizado no repositório remoto (neste caso, chamado de `origin`)" + "Boom -- nós baixamos o `C3` com um `fetch` e então fizemos um merge desse trabalho usando `git merge o/main`. Agora o nosso ramo `main` reflete o trabalho realizado no repositório remoto (neste caso, chamado de `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -344,9 +344,9 @@ exports.level = { "", "Realmente hai varias formas de facer esto: unha vez que teñas os commits dispoñibles localmente, podes integralos coma se foran commits comúns de outras ramas. Esto significa que poderías executar comandos como:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* etc., etc.", "", "De feito, o fluxo de traballo de *fetchear* os cambios remotos e depois *mesturalos* é tan común que git inclúe un comando que fai as dúas operacións nunha sola: ¡`giti pull`!" @@ -360,9 +360,9 @@ exports.level = { "Vexamos primeiro un `fetch` e un `merge` executados secuencialmente." ], "afterMarkdowns": [ - "Boom: descargamos `C3` cun `fetch` e logo mesturámolos con `git merge o/master`. Agora a nosa rama `master` reflexa o novo traballo do remoto (neste caso, chamado `origin`)" + "Boom: descargamos `C3` cun `fetch` e logo mesturámolos con `git merge o/main`. Agora a nosa rama `main` reflexa o novo traballo do remoto (neste caso, chamado `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -403,9 +403,9 @@ exports.level = { "", "只要在你的 local 有 fetch 到新的 commit,便有很多方法可以做到這件事情,你可以把它們視為在其它 branch 上面的一般的 commit,這表示你可以執行像這樣子的指令:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* 等等‧‧‧", "", "事實上,一次*下載 (fetch)* remote 的更新並且*合併(merge)* 這些更新在 git 裡面是很常見的事情!這個命令叫作 `git pull`。" @@ -419,9 +419,9 @@ exports.level = { "讓我們來看循序執行一個 `fetch` 和一個 `merge` 的樣子" ], "afterMarkdowns": [ - "看吧! 我們利用 `fetch` 下載了 `C3` 並且利用 `git merge o/master` 來更新資料,現在我們的 `master` branch 跟 remote 同步了(在這個例子中,remote repository 叫作 `origin`)。" + "看吧! 我們利用 `fetch` 下載了 `C3` 並且利用 `git merge o/main` 來更新資料,現在我們的 `main` branch 跟 remote 同步了(在這個例子中,remote repository 叫作 `origin`)。" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -462,9 +462,9 @@ exports.level = { "", "其实有很多方法的 —— 当远程分支中有新的提交时,你可以像合并本地分支那样来合并远程分支。也就是说就是你可以执行以下命令: ", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* 等等", "", "实际上,由于先抓取更新再合并到本地分支这个流程很常用,因此 Git 提供了一个专门的命令来完成这两个操作。它就是我们要讲的 `git pull`。" @@ -478,9 +478,9 @@ exports.level = { "我们先来看看 `fetch`、`merge` 依次执行的效果" ], "afterMarkdowns": [ - "我们用 `fetch` 下载了 `C3`, 然后通过 `git merge o/master` 合并了这一提交记录。现在我们的 `master` 分支包含了远程仓库中的更新(在本例中远程仓库名为 `origin`)" + "我们用 `fetch` 下载了 `C3`, 然后通过 `git merge o/main` 合并了这一提交记录。现在我们的 `main` 分支包含了远程仓库中的更新(在本例中远程仓库名为 `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -517,16 +517,16 @@ exports.level = { "markdowns": [ "## Git Pull", "", - "Jetzt, wo wir wissen wie wir mit `git fetch` Daten von einem entfernten Repository holen können, wollen wir unsere lokalen Daten aktualisieren, damit sie die Änderungen vom Server beinhalten.", + "Jetzt, wo wir wissen, wie wir mit `git fetch` Daten von einem entfernten Repository holen können, wollen wir unsere lokalen Daten aktualisieren, damit sie die Änderungen vom Server beinhalten.", "", - "Tatsächlich gibt es eine Menge Wege dies zu erreichen -- sobald du die neuen Commits lokal verfügbar hast, kannst du sie integrieren so als wären es Commits von ganz normalen anderen Branches. Du kannst also:", + "Tatsächlich gibt es eine Menge Wege dies zu erreichen -- sobald du die neuen Commits lokal verfügbar hast, kannst du sie integrieren wie Commits von ganz normalen anderen Branches. Du kannst also:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* usw. usf. ausführen.", "", - "Der Ablauf, die Änderungen vom Server zu holen und dann in die eigene Arbeit zu mergen wird so häufig benötigt, dass Git einen Befehl kennt der beides auf einmal erledigt! Das ist `git pull`." + "Änderungen vom Server zu holen und dann in die eigene Arbeit zu mergen wird so häufig benötigt, dass Git einen Befehl kennt, der beides auf einmal erledigt! Das ist `git pull`." ] } }, @@ -537,9 +537,9 @@ exports.level = { "Schauen wir uns erst mal ein `fetch` gefolgt von `merge` an:" ], "afterMarkdowns": [ - "Bämm -- wir haben `C3` mit `fetch` heruntergeladen und dann in unseren Branch mit `git merge o/master` integriert. Nun bildet unser `master` dieselben Inhalte ab, wie sie auf dem entfernten Server (`origin`) liegen." + "Bämm -- wir haben `C3` mit `fetch` heruntergeladen und dann in unseren Branch mit `git merge o/main` integriert. Nun bildet unser `main` dieselben Inhalte ab, wie sie auf dem entfernten Server (`origin`) liegen." ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -580,9 +580,9 @@ exports.level = { "", "Существует множество вариантов решений - как только у вас имеется локальный коммит, вы можете соединить его с другой веткой. Это значит, вы можете выполнить одну из команд:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* и т.д.", "", "Процедура *скачивания (fetching)* изменений с удалённой ветки и *объединения (merging)* настолько частая и распространённая, что git предоставляет вместо двух команд - одну! Эта команда - `git pull`." @@ -596,9 +596,9 @@ exports.level = { "Давайте рассмотрим, как `fetch` и `merge` выполняются последовательно" ], "afterMarkdowns": [ - "Опа - мы скачали `C3` с помощью команды `fetch` и затем объединяем эти наработки с помощью `git merge o/master`. Теперь наша ветка `master` отображает изменения с удалённого репозитория (в данном случае — с репозитория `origin`)" + "Опа - мы скачали `C3` с помощью команды `fetch` и затем объединяем эти наработки с помощью `git merge o/main`. Теперь наша ветка `main` отображает изменения с удалённого репозитория (в данном случае — с репозитория `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -639,9 +639,9 @@ exports.level = { "", "実際には多くの方法があり、ローカルに利用可能なリモートの新しいコミットがある場合、あなたはそのコミットを他のブランチの通常のコミットと同じように、自分の作業に組み込むことができます。これは、あなたが次のようなコマンドを実行することで行えます:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* その他", "", "実は、リモートの変更を取ってきてマージするという作業の流れはとてもよく行われるので、gitは実際にはその二つを同時に行うコマンドを提供しているのです!それは、`git pull`というコマンドです。" @@ -655,9 +655,9 @@ exports.level = { "まずは、連続して`fetch`して`merge`する流れの方を見てみましょう。" ], "afterMarkdowns": [ - "わーお。私たちは`C3`を`fetch`でダウンロードして、`git merge o/master`でこれをマージしました。今や私たちの`master`ブランチに(この場合、`origin`という名前の)リモートの新しい作業内容が反映されています。" + "わーお。私たちは`C3`を`fetch`でダウンロードして、`git merge o/main`でこれをマージしました。今や私たちの`main`ブランチに(この場合、`origin`という名前の)リモートの新しい作業内容が反映されています。" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -698,9 +698,9 @@ exports.level = { "", "Насправді, є кілька шляхів як цого досягнути -- щойно нові коміти з’явилися локально, ти можеш додавати їх в бранчі так само, як звичайні коміти. Це означає що ти можеш виконувати команди:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* тощо.", "", "Насправді, процес *витягування* віддалених змін й подальший *мерджинг* їх є настільки популярним, що гіт пропонує спеціальну команду, що виконує ці дві дії за один раз! Ця команда називається `git pull`." @@ -714,9 +714,9 @@ exports.level = { "Спершу виконаймо по черзі `fetch`, а потім `merge`." ], "afterMarkdowns": [ - "Ка-бум -- ми звантажили `C3` за допомогою `fetch` і потім змерджили їх, використавши `git merge o/master`. Тепер наша гілка `master` відповідає гілці з віддаленого сховища (в цьому випадку, з назвою `origin`)" + "Ка-бум -- ми звантажили `C3` за допомогою `fetch` і потім змерджили їх, використавши `git merge o/main`. Тепер наша гілка `main` відповідає гілці з віддаленого сховища (в цьому випадку, з назвою `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -757,9 +757,9 @@ exports.level = { "", "사실 이걸 하는 방법은 여러가지 있습니다 -- 새 커밋들을 로컬에 내려받은 이후에는 그냥 다른 브랜치에있는 일반 커밋처럼 활용할 수 있습니다. 이런 명령들을 실행할 수 있다는 뜻 입니다 :", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* 기타 등등", "", "사실 원격 저장소의 변경을 *fetch*하고 그이후에 *merge*하는 작업의 과정이 워낙 자주있는 일이라서 git은 이 두가지를 한번에 하는 명령을 제공합니다! 이 명령어는 `git pull` 입니다." @@ -773,9 +773,9 @@ exports.level = { "먼저 `fetch` 와 `merge`가 차례로 실행되는것을 확인해 봅시다" ], "afterMarkdowns": [ - "Boom -- 우리는 `C3`를 `fetch`로 내려 받고 `git merge o/master`로 우리의 작업으로 병합했습니다. 이제 우리의 `master` 브랜치는 원격 저장소의 새 작업들을 반영하게 됩니다(지금 사례에서 `origin`입니다)." + "Boom -- 우리는 `C3`를 `fetch`로 내려 받고 `git merge o/main`로 우리의 작업으로 병합했습니다. 이제 우리의 `main` 브랜치는 원격 저장소의 새 작업들을 반영하게 됩니다(지금 사례에서 `origin`입니다)." ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -816,9 +816,9 @@ exports.level = { "", "Thực ra thì có nhiều cách đề làm điều này -- một khi bạn đã có các commit này ở ko chứa địa phương, bạn có thể hợp nhất chúng như với các commit ở các nhánh khác. Nghĩa là bạn có thể sử dụng các câu lệnh sau:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* etc., etc.", "", "Thực tế thì, quá trình *nạp* commit từ kho chứa từ xa và *hợp nhất* chúng phổ biết đến nỗi git cung cấp một câu lệnh để làm cả 2 điều này một lúc! Đó là `git pull`." @@ -832,9 +832,9 @@ exports.level = { "Trước tiên hãy xem quá trình `nạp` và `hợp nhất` được thực hiện một cách tuần tự." ], "afterMarkdowns": [ - "Bùùm -- ta tải xuống commit `C3` với lệnh `git fetch` rồi sau đó hợp nhất nó với lệnh `git merge o/master`. Giờ thì nhánh `master` đã phản ánh trạng thái mới từ kho chứa từ xa (trong trường hợp này là `origin`)" + "Bùùm -- ta tải xuống commit `C3` với lệnh `git fetch` rồi sau đó hợp nhất nó với lệnh `git merge o/main`. Giờ thì nhánh `main` đã phản ánh trạng thái mới từ kho chứa từ xa (trong trường hợp này là `origin`)" ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, @@ -875,9 +875,9 @@ exports.level = { "", "V bistvu je več načinov za izvedbo tega -- ko imaš enkrat lokalno na voljo nove commite, jih lahko vključiš, kot da so normalni commiti na drugem branchu. To pomeni, da lahko izvedeš ukaze, kot so:", "", - "* `git cherry-pick o/master`", - "* `git rebase o/master`", - "* `git merge o/master`", + "* `git cherry-pick o/main`", + "* `git rebase o/main`", + "* `git merge o/main`", "* itd., itd.", "", "Pravzaprav je *fetchanje* oddaljenih sprememb in kasneje *merganje* le-teh tako pogosto, da ima git dejansko ukaz, ki naredi oboje! Ukaz je `git pull`." @@ -891,9 +891,9 @@ exports.level = { "Poglejmo najprej `fetch` in `merge` izvedena zaporedno:" ], "afterMarkdowns": [ - "Boom -- prenesli smo `C3` s `fetch` in nato mergali delo z `git merge o/master`. Sedaj naš `master` branch odseva spremembe novega dela iz oddaljenega repoztorija (v tem primeru poimenovan `origin`)." + "Boom -- prenesli smo `C3` s `fetch` in nato mergali delo z `git merge o/main`. Sedaj naš `main` branch odseva spremembe novega dela iz oddaljenega repoztorija (v tem primeru poimenovan `origin`)." ], - "command": "git fetch; git merge o/master", + "command": "git fetch; git merge o/main", "beforeCommand": "git clone; git commit; git fakeTeamwork" } }, diff --git a/src/levels/remote/pullArgs.js b/src/levels/remote/pullArgs.js index 4e35d3d0..a7f62663 100644 --- a/src/levels/remote/pullArgs.js +++ b/src/levels/remote/pullArgs.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C6\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/bar\":{\"target\":\"C1\",\"id\":\"o/bar\",\"remoteTrackingBranchID\":null},\"foo\":{\"target\":\"C3\",\"id\":\"foo\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C2\",\"id\":\"side\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C4\":{\"parents\":[\"C1\"],\"id\":\"C4\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C5\":{\"parents\":[\"C3\",\"C4\"],\"id\":\"C5\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C6\":{\"parents\":[\"C2\",\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"bar\":{\"target\":\"C3\",\"id\":\"bar\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"bar\",\"id\":\"HEAD\"}}}", - "solutionCommand": "git pull origin bar:foo;git pull origin master:side", + "solutionCommand": "git pull origin bar:foo;git pull origin main:side", "startTree": "{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/bar\":{\"target\":\"C1\",\"id\":\"o/bar\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C4\":{\"parents\":[\"C1\"],\"id\":\"C4\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"bar\":{\"target\":\"C3\",\"id\":\"bar\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"bar\",\"id\":\"HEAD\"}}}", "name": { "en_US": "Pull arguments", @@ -82,9 +82,9 @@ exports.level = { "If we specify the place to fetch, everything happens as before with fetch but we merge in whatever was just fetched." ], "afterMarkdowns": [ - "See! by specifying `master` we downloaded commits onto `o/master` just as normal. Then we merged `o/master` to our currently checked out location which is *not* the local branch `master`. For this reason it can actually make sense to run git pull multiple times (with the same args) from different locations in order to update multiple branches." + "See! by specifying `main` we downloaded commits onto `o/main` just as normal. Then we merged `o/main` to our currently checked out location which is *not* the local branch `main`. For this reason it can actually make sense to run git pull multiple times (with the same args) from different locations in order to update multiple branches." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -95,9 +95,9 @@ exports.level = { "Does it work with source and destination too? You bet! Let's see that:" ], "afterMarkdowns": [ - "Wow, that's a TON in one command. We created a new branch locally named `foo`, downloaded commits from remote's master onto that branch `foo`, and then merged that branch into our currently checked out branch `bar`. It's over 9000!!!" + "Wow, that's a TON in one command. We created a new branch locally named `foo`, downloaded commits from remote's main onto that branch `foo`, and then merged that branch into our currently checked out branch `bar`. It's over 9000!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -156,9 +156,9 @@ exports.level = { "Si nous précisons l'emplacement à rapatrier tout se passe comme précédemment, avec fetch, mais en sus nous fusionnons tout ce qui a été rapatrié." ], "afterMarkdowns": [ - "Vu ? En précisant `master` nous avons téléchargé les commits dans `o/master` comme d'habitude. Puis nous avons fusionné `o/master` avec là où nous sommes, *sans nous soucier* de la branche courante." + "Vu ? En précisant `main` nous avons téléchargé les commits dans `o/main` comme d'habitude. Puis nous avons fusionné `o/main` avec là où nous sommes, *sans nous soucier* de la branche courante." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -169,9 +169,9 @@ exports.level = { "Cela fonctionne-t-il aussi bien avec une source et une destination ? Et oui ! Voyons cela :" ], "afterMarkdowns": [ - "Wow, INCROYABLE tout ce que nous avons fait en une commande. Nous avons créé une branche locale nommée `foo`, téléchargé les commits depuis la branche master distante dans `foo`, et ensuite fusionné cette branche dans notre branche actuelle de travail (checkoutée) `bar` !!!" + "Wow, INCROYABLE tout ce que nous avons fait en une commande. Nous avons créé une branche locale nommée `foo`, téléchargé les commits depuis la branche main distante dans `foo`, et ensuite fusionné cette branche dans notre branche actuelle de travail (checkoutée) `bar` !!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -230,9 +230,9 @@ exports.level = { "Si especificamos el lugar del que hacer fetch, todo ocurre como antes, pero sólo mergeamos lo que se fetcheó." ], "afterMarkdowns": [ - "¡Ves! Especificando `master` bajamos los commits a `o/master` como siempre. Después mergeamos `o/master` a nuestra rama actual, *sin importar* qué había en nuestra copia de trabajo." + "¡Ves! Especificando `main` bajamos los commits a `o/main` como siempre. Después mergeamos `o/main` a nuestra rama actual, *sin importar* qué había en nuestra copia de trabajo." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -243,9 +243,9 @@ exports.level = { "¿Esto funciona con origen y destino, también? ¡Más vale! Veámoslo:" ], "afterMarkdowns": [ - "Wow, eso es un MONTÓN en un único comando. Creamos una nueva rama local llamada `foo`, descargamos los commits del master del remoto a esta rama `foo`, y después mezclamos esa rama a nuestra rama actual `bar`. ¡¡¡Supera los 9000!!!" + "Wow, eso es un MONTÓN en un único comando. Creamos una nueva rama local llamada `foo`, descargamos los commits del main del remoto a esta rama `foo`, y después mezclamos esa rama a nuestra rama actual `bar`. ¡¡¡Supera los 9000!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -304,9 +304,9 @@ exports.level = { "Si especificamos el lugar desde donde hacer fetch, todo ocurre como antes, pero sólo mergeamos lo que se fetcheó." ], "afterMarkdowns": [ - "¡Ves! Especificando `master` descargamos los commits a `o/master` como siempre. Después mergeamos `o/master` a nuestra rama actual, *sin importar* qué había en nuestra copia de trabajo." + "¡Ves! Especificando `main` descargamos los commits a `o/main` como siempre. Después mergeamos `o/main` a nuestra rama actual, *sin importar* qué había en nuestra copia de trabajo." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -317,9 +317,9 @@ exports.level = { "¿Esto funciona con origen y destino, también? ¡Más vale! Veámoslo:" ], "afterMarkdowns": [ - "Caramba, eso es una BARBARIDAD en un único comando. Creamos una nueva rama local llamada `foo`, descargamos los commits del master del remoto a esta rama `foo`, y después mezclamos esa rama a nuestra rama actual `bar`. ¡¡¡Supera los 9000!!!" + "Caramba, eso es una BARBARIDAD en un único comando. Creamos una nueva rama local llamada `foo`, descargamos los commits del main del remoto a esta rama `foo`, y después mezclamos esa rama a nuestra rama actual `bar`. ¡¡¡Supera los 9000!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -378,9 +378,9 @@ exports.level = { "Se especificarmos o lugar onde fazer o fetch, tudo acontece como antes com o fetch, mas fazemos o merge naquilo que acabou de ser baixado." ], "afterMarkdowns": [ - "Veja! Especificando `master` nós baixamos commits em `o/master` como sempre. Então fizemos um merge de `o/master` com o lugar onde estamos, *independente* daquilo que está atualmente em checkout." + "Veja! Especificando `main` nós baixamos commits em `o/main` como sempre. Então fizemos um merge de `o/main` com o lugar onde estamos, *independente* daquilo que está atualmente em checkout." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -391,9 +391,9 @@ exports.level = { "Isso também funciona com origem e destino especificados? Sim, você acertou! Vejamos:" ], "afterMarkdowns": [ - "Wow, isso é MUITA coisa em um comando só. Nós criamos um novo ramo local chamado `foo`, baixamos commits do master remoto nesse ramo `foo`, e então fizemos um merge dele com o ramo atualmente em checkout, `bar`." + "Wow, isso é MUITA coisa em um comando só. Nós criamos um novo ramo local chamado `foo`, baixamos commits do main remoto nesse ramo `foo`, e então fizemos um merge dele com o ramo atualmente em checkout, `bar`." ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -452,9 +452,9 @@ exports.level = { "Se especificamos o lugar do que facer o fetch, todo ocorre coma antes, pero só mesturamos o que se descargou." ], "afterMarkdowns": [ - "¡Ves! Indicando `master` baixamos os commits á `o/master` coma sempre. Despois mesturamos `o/master` á nosa rama actual, *sen importar* qué tiñamos na nos copia de traballo." + "¡Ves! Indicando `main` baixamos os commits á `o/main` coma sempre. Despois mesturamos `o/main` á nosa rama actual, *sen importar* qué tiñamos na nos copia de traballo." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -465,9 +465,9 @@ exports.level = { "¿Esto funciona co orixe e o destino, tamén? ¡Máis lle vale! Vexámolo:" ], "afterMarkdowns": [ - "Wow, eso es unha CHEA nun único comando. Creamos unha nova rama local chamada `foo`, descargamos os commits do master do remoto a esta rama `foo`, e logo mesturamos esa rama á nosa rama actual `bar`. ¡¡¡Supera os 9000!!!" + "Wow, eso es unha CHEA nun único comando. Creamos unha nova rama local chamada `foo`, descargamos os commits do main do remoto a esta rama `foo`, e logo mesturamos esa rama á nosa rama actual `bar`. ¡¡¡Supera os 9000!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -526,9 +526,9 @@ exports.level = { "如果我們在 fetch 的時候有指定`位置`的話,跟之前一樣,fetch 所做的事情沒有變,但是我們會 merge 我們剛剛所 fetch 的該`位置`的commit。" ], "afterMarkdowns": [ - "看吧!指定位置為 `master`,跟平常一樣,我們下載了 commit 並且放到 `o/master` 上,接著,我們會 merge `o/master` 到我們現在的位置,*不管*我們現在所 checkout 的位置在哪裡。" + "看吧!指定位置為 `main`,跟平常一樣,我們下載了 commit 並且放到 `o/main` 上,接著,我們會 merge `o/main` 到我們現在的位置,*不管*我們現在所 checkout 的位置在哪裡。" ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -539,9 +539,9 @@ exports.level = { "他是不是也可以同時指定 source 以及 destination?你說對了啦!讓我們來看一下:" ], "afterMarkdowns": [ - "哇!這個指令強而有力,我們在 local 建立了一個新的 `foo` branch,下載了 remote 的 `master` 的 commit,並且放到 local 的 `foo` branch,之後 merge `foo` branch 到我們目前所 checkout 的 `bar` branch。這實在是太超過了!!!" + "哇!這個指令強而有力,我們在 local 建立了一個新的 `foo` branch,下載了 remote 的 `main` 的 commit,並且放到 local 的 `foo` branch,之後 merge `foo` branch 到我們目前所 checkout 的 `bar` branch。這實在是太超過了!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -600,9 +600,9 @@ exports.level = { "如果我们指定要抓取的 place,所有的事情都会跟之前一样发生,只是增加了 merge 操作" ], "afterMarkdowns": [ - "看到了吧! 通过指定 `master` 我们更新了 `o/master`。然后将 `o/master` merge 到我们的检出位置,**无论**我们当前检出的位置是哪。" + "看到了吧! 通过指定 `main` 我们更新了 `o/main`。然后将 `o/main` merge 到我们的检出位置,**无论**我们当前检出的位置是哪。" ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -613,9 +613,9 @@ exports.level = { "pull 也可以用 source:destination 吗? 当然喽, 看看吧:" ], "afterMarkdowns": [ - " 哇, 这个命令做的事情真多。它先在本地创建了一个叫 `foo` 的分支,从远程仓库中的 master 分支中下载提交记录,并合并到 `foo`,然后再 merge 到我们的当前检出的分支 `bar` 上。操作够多的吧?!" + " 哇, 这个命令做的事情真多。它先在本地创建了一个叫 `foo` 的分支,从远程仓库中的 main 分支中下载提交记录,并合并到 `foo`,然后再 merge 到我们的当前检出的分支 `bar` 上。操作够多的吧?!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -639,7 +639,7 @@ exports.level = { "", "Da du jetzt so ziemlich *alles* kennst, was es an Optionen für `git fetch` und `git push` gibt, ist kaum noch etwas zu Optionen für `git pull` zu sagen. :)", "", - "Das liegt daran, dass `git pull` letztendlich *wirklich* nur eine Abkürzuung für `fetch` gefolgt von einem `merge` von was auch immer gerade heruntergeladen wurde, ist. Denk es dir als ein `git fetch` mit denselben Optionen und einem anschließenden Merge.", + "Das liegt daran, dass `git pull` letztendlich *wirklich* nur eine Abkürzuung für `fetch` gefolgt von einem `merge` von dem, was auch immer gerade heruntergeladen wurde, ist. Denk es dir als ein `git fetch` mit denselben Optionen und einem anschließenden Merge.", "", "Das trifft sogar zu, wenn du völlig abgedrehte Optionen verwendest. Ein paar Beispiele:" ] @@ -661,7 +661,7 @@ exports.level = { "", "`git fetch origin bar~1:bugFix; git merge bugFix`", "", - "Siehst du? `git pull` ist wirklich nur eine Abkürzung von `fetch` + `merge` und es interessiert sich nur dafür wo die Commits hin sollen (die \"Ziel\"-Option, die es beim `fetch` auswertet).", + "Siehst du? `git pull` ist wirklich nur eine Abkürzung von `fetch` + `merge` und es interessiert sich nur dafür, wo die Commits hin sollen (die \"Ziel\"-Option, die es beim `fetch` auswertet).", "", "Schauen wir uns eine Demonstration an:" ] @@ -671,12 +671,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Wenn wir den Ort, auf den das `fetch` ausgeführt werden soll, angeben, passiert alles so wie beim `git fetch` aber es wird direkt danach auch ein Merge ausgeführt." + "Wenn wir den Ort, auf den das `fetch` ausgeführt werden soll, angeben, passiert alles so wie beim `git fetch`, aber es wird direkt danach auch ein Merge ausgeführt." ], "afterMarkdowns": [ - "Siehst du? Da wir `master` angegeben haben sind die Commits in `o/master` heruntergeladen worden. Danach wurde `o/master` gemerged, egal was gerade ausgecheckt war." + "Siehst du? Da wir `main` angegeben haben, sind die Commits in `o/main` heruntergeladen worden. Danach wurde `o/main` gemerged, egal was gerade ausgecheckt war." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -687,9 +687,9 @@ exports.level = { "Funktioniert das auch wenn man Quelle und Ziel angibt? Aber sicher! Das sehen wir hier:" ], "afterMarkdowns": [ - "Wow, das ist eine Menge in einem einzelnen Befehl. Wir haben lokal einen neuen Branch namens `foo` erstellt, die Commits vom `master` des Servers dorthin heruntergeladen und ihn danach in unseren aktuell ausgecheckten Commit `bar` gemerged." + "Wow, das ist eine Menge in einem einzelnen Befehl. Wir haben lokal einen neuen Branch namens `foo` erstellt, die Commits vom `main` des Servers dorthin heruntergeladen und ihn danach in unseren aktuell ausgecheckten Branch `bar` gemerged." ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -697,7 +697,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok, um's zu Ende zu bringen versuch das Ziel aus der Zielgrafik zu erreichen. Du wirst einige Commits herunterladen, einige neue Branches anlegen und diese in andere mergen müssen, aber das sollte nicht allzuviele Befehle benötigen. :P" + "Ok, um's zu Ende zu bringen versuch das Ziel aus der Zielgrafik zu erreichen. Du wirst einige Commits herunterladen, einige neue Branches anlegen und diese in andere mergen müssen, aber das sollte nicht allzu viele Befehle benötigen. :P" ] } } @@ -748,9 +748,9 @@ exports.level = { "Здесь сначала выполнится fetch с аргументом указанным к pull, а merge выполняется с теми изменениями, которые будут скачаны командой fetch." ], "afterMarkdowns": [ - "Как видно, мы указали `master`, поэтому как обычно все обновления притянулись на ветку `o/master`. Затем мы слили (merge) обновленную ветку `o/master` с веткой, на которой мы находимся." + "Как видно, мы указали `main`, поэтому как обычно все обновления притянулись на ветку `o/main`. Затем мы слили (merge) обновленную ветку `o/main` с веткой, на которой мы находимся." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -761,9 +761,9 @@ exports.level = { "Будет ли это работать, если указать `<источник>` и `<приемник>`? Проверим:" ], "afterMarkdowns": [ - "Ого, сколько всего выполнено всего одной командой!. Мы создали новую ветку `foo` в локальном репозитории, скачали на неё изменения с ветки `master` удаленного репозитория, а затем слили эту ветку с веткой `bar`, на которой мы находились!" + "Ого, сколько всего выполнено всего одной командой!. Мы создали новую ветку `foo` в локальном репозитории, скачали на неё изменения с ветки `main` удаленного репозитория, а затем слили эту ветку с веткой `bar`, на которой мы находились!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -822,9 +822,9 @@ exports.level = { "place를 지정하면, 이전에 fecth를 하던때와 완전히 똑같이 진행되고 fetch한것을 병합합니다." ], "afterMarkdowns": [ - "보이죠! `master`를 지정해서 우리는 `o/master`에 평소처럼 커밋들을 내려받았습니다. 그다음 우리가 있는 곳으로 `o/master`를 병합했습니다 현재 체크아웃된 브랜치와 *상관없이* 말이죠" + "보이죠! `main`를 지정해서 우리는 `o/main`에 평소처럼 커밋들을 내려받았습니다. 그다음 우리가 있는 곳으로 `o/main`를 병합했습니다 현재 체크아웃된 브랜치와 *상관없이* 말이죠" ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -837,7 +837,7 @@ exports.level = { "afterMarkdowns": [ "이야, 명령어 하나에 많은게 일어나고있습니다. 로컬에 이름이 `foo`인 새 브랜치를 만들고, 원격 저장소의 master에서 이 브랜치 `foo`에 커밋들을 내려받습니다, 그후 그 브랜치를 우리가 현재 체크아웃한 브랜치 `bar`로 병합했습니다. 오오오!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -896,9 +896,9 @@ exports.level = { "Якщо ми вказуємо місце призначення для fetch, fetch виконується як звичайно, але мердж відбудеться з тим, що ми щойно стягнули" ], "afterMarkdowns": [ - "От бачиш, вказавши `master`, ми звантажили коміти в `o/master`, як завжди. Потім змерджили `o/master` в поточну гілку." + "От бачиш, вказавши `main`, ми звантажили коміти в `o/main`, як завжди. Потім змерджили `o/main` в поточну гілку." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -909,9 +909,9 @@ exports.level = { "Чи це працює також при вказанні `source` і `destination`? І не сумнівайся! Ось приклад:" ], "afterMarkdowns": [ - "Ого, стільки роботи однією командою. Ми створили локальну гілку з назвою `foo`, звантажили в неї коміти з віддаленого master, а потім змерджили `foo` в поточну гілку `bar`!" + "Ого, стільки роботи однією командою. Ми створили локальну гілку з назвою `foo`, звантажили в неї коміти з віддаленого main, а потім змерджили `foo` в поточну гілку `bar`!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -970,9 +970,9 @@ exports.level = { "Nếu ta chỉ định vị trí để nạp, mọi thứ diễn ra như với git fetch nhưng giờ đây có thêm một bước đó là ta hợp nhất những gì mà ta đã nạp" ], "afterMarkdowns": [ - "Thấy chứ! Bằng cách chỉ định nhánh `master` ta tải các commit xuống nhánh `o/master` như thường lệ. Sau đó hợp nhất nhánh `o/master` vào nhánh cục bộ mà ta đang đứng, nhánh mà *không phải* nhánh cục bộ `master`. Nhờ vậy mà ta có thể chạy cùng một lệnh git pull(với cùng tham số) nhiều lần ở những vị trí khác nhau để áp dụng cùng cập nhật lên các nhánh khác nhau." + "Thấy chứ! Bằng cách chỉ định nhánh `main` ta tải các commit xuống nhánh `o/main` như thường lệ. Sau đó hợp nhất nhánh `o/main` vào nhánh cục bộ mà ta đang đứng, nhánh mà *không phải* nhánh cục bộ `main`. Nhờ vậy mà ta có thể chạy cùng một lệnh git pull(với cùng tham số) nhiều lần ở những vị trí khác nhau để áp dụng cùng cập nhật lên các nhánh khác nhau." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -983,9 +983,9 @@ exports.level = { "Điều này có hoạt động với đích và nguồn không? Đoán đúng rồi đấy! Cùng xem thử nào:" ], "afterMarkdowns": [ - "Wao, quá NHIỀU trong một câu lệnh. Ta tạo ra một nhánh cục bộ là `foo`, tải commit xuống từ nhánh từ xa master xuống nhánh `foo` đó, và sau đó hợp nhất commit vào nhánh `bar` mà ta đang đứng. Đủ thứ luôn!!!" + "Wao, quá NHIỀU trong một câu lệnh. Ta tạo ra một nhánh cục bộ là `foo`, tải commit xuống từ nhánh từ xa main xuống nhánh `foo` đó, và sau đó hợp nhất commit vào nhánh `bar` mà ta đang đứng. Đủ thứ luôn!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, @@ -1044,9 +1044,9 @@ exports.level = { "Če določimo mesto za fetchanje, se zgodi vse kot prej s fetchem, ampak tudi zmergamo, kar smo pravkar fetchali." ], "afterMarkdowns": [ - "Vidiš! Z določitvijo `master` smo prenesli commite na `o/master` kot ponavadi. Potem smo zmergali `o/master` v našo trenutno checkoutano lokacijo, ki *ni* lokalni branch `master`. Zaradi tega razloga je morda celo logično, da izvedemo git pull večkrat (z istimi argumenti) iz drugi lokacij, da posodobimo več branchev." + "Vidiš! Z določitvijo `main` smo prenesli commite na `o/main` kot ponavadi. Potem smo zmergali `o/main` v našo trenutno checkoutano lokacijo, ki *ni* lokalni branch `main`. Zaradi tega razloga je morda celo logično, da izvedemo git pull večkrat (z istimi argumenti) iz drugi lokacij, da posodobimo več branchev." ], - "command": "git pull origin master", + "command": "git pull origin main", "beforeCommand": "git clone; go -b bar; git commit; git fakeTeamwork" } }, @@ -1059,7 +1059,7 @@ exports.level = { "afterMarkdowns": [ "Wow, to je pa RES veliko v enem ukazu. Naredili smo nov lokalen branch imenovan `foo`, prenesli commite iz oddaljenega masterja na ta branch `foo` in potem zmergali ta branch v naš trenutno checkoutan branch `bar`. Je več kot 9000!!!" ], - "command": "git pull origin master:foo", + "command": "git pull origin main:foo", "beforeCommand": "git clone; git fakeTeamwork; go -b bar; git commit" } }, diff --git a/src/levels/remote/push.js b/src/levels/remote/push.js index 87e96e8e..fdbdffec 100644 --- a/src/levels/remote/push.js +++ b/src/levels/remote/push.js @@ -66,7 +66,7 @@ exports.level = { "Here we have some changes that the remote does not have. Let's upload them!" ], "afterMarkdowns": [ - "There we go -- the remote received commit `C2`, the branch `master` on the remote was updated to point at `C2`, and our *own* reflection of the remote (`o/master`) was updated as well. Everything is in sync!" + "There we go -- the remote received commit `C2`, the branch `main` on the remote was updated to point at `C2`, and our *own* reflection of the remote (`o/main`) was updated as well. Everything is in sync!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -109,7 +109,7 @@ exports.level = { "Nous avons fait ici quelques changements que le dépôt distant n'a pas. Envoyons-les !" ], "afterMarkdowns": [ - "Et voilà : le dépôt distant a reçu le commit `C2`, la branche `master` a été mise à jour sur `C2`, et votre *propre* représentation de la branche distante (`o/master`) a aussi été mise à jour. Tout est synchronisé !" + "Et voilà : le dépôt distant a reçu le commit `C2`, la branche `main` a été mise à jour sur `C2`, et votre *propre* représentation de la branche distante (`o/main`) a aussi été mise à jour. Tout est synchronisé !" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -150,7 +150,7 @@ exports.level = { "Acá tenemos algunos cambios que nuestro remoto no tiene. ¡Subámoslos!" ], "afterMarkdowns": [ - "Ahí está: el remoto recibió el commit `C2`, la rama `master` de ese remoto se actualizó para apuntar a `C2`, y nuestro *propio* reflejo del remoto (`o/master`) también fue actualizado. ¡Todo está en sincronía!" + "Ahí está: el remoto recibió el commit `C2`, la rama `main` de ese remoto se actualizó para apuntar a `C2`, y nuestro *propio* reflejo del remoto (`o/main`) también fue actualizado. ¡Todo está en sincronía!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -191,7 +191,7 @@ exports.level = { "Aquí tenemos algunos cambios que nuestro remoto no tiene. ¡Subámoslos!" ], "afterMarkdowns": [ - "Ahí está: el remoto recibió el commit `C2`, la rama `master` de ese remoto se actualizó para apuntar a `C2`, y nuestro *propio* reflejo del remoto (`o/master`) también fue actualizado. ¡Todo está en sincronía!" + "Ahí está: el remoto recibió el commit `C2`, la rama `main` de ese remoto se actualizó para apuntar a `C2`, y nuestro *propio* reflejo del remoto (`o/main`) también fue actualizado. ¡Todo está en sincronía!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -234,7 +234,7 @@ exports.level = { "Aqui temos algumas mudanças que o repositório remoto não contém. Vamos subi-las!" ], "afterMarkdowns": [ - "Aqui vamos nós -- o repositório remoto recebeu o commit `C2`, o ramo `master` no repositório remoto foi atualizado para apontar para `C2`, e a *nossa* reflexão do remoto (`o/master`) foi atualizada também. Está tudo sincronizado!" + "Aqui vamos nós -- o repositório remoto recebeu o commit `C2`, o ramo `main` no repositório remoto foi atualizado para apontar para `C2`, e a *nossa* reflexão do remoto (`o/main`) foi atualizada também. Está tudo sincronizado!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -277,7 +277,7 @@ exports.level = { "Aquí temos algúns cambios que o repositorio remoto non contén. ¡Imos subilas!" ], "afterMarkdowns": [ - "Ahí imos -- o repositorio remoto recibiu o commit `C2`, a rama `master` do repositorio remoto foi actualizado para apuntar para `C2`, e o *noso* reflexo do remoto (`o/master`) foi atualizado tamén. ¡Está todo sincronizado!" + "Ahí imos -- o repositorio remoto recibiu o commit `C2`, a rama `main` do repositorio remoto foi actualizado para apuntar para `C2`, e o *noso* reflexo do remoto (`o/main`) foi atualizado tamén. ¡Está todo sincronizado!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -318,7 +318,7 @@ exports.level = { "這裡我們有了一些 remote 所沒有的 commit。讓我們來上傳它們吧!" ], "afterMarkdowns": [ - "我說的沒錯吧!remote 收到了 commit `C2`,同時在 remote 上的 `master` branch 也一起更新並且指向 `C2`,同時我們*自己的* `o/master` 也一併更新了!" + "我說的沒錯吧!remote 收到了 commit `C2`,同時在 remote 上的 `main` branch 也一起更新並且指向 `C2`,同時我們*自己的* `o/main` 也一併更新了!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -362,7 +362,7 @@ exports.level = { "这里我们准备了一些远程仓库中没有的提交记录, 咱们开始先上传吧!" ], "afterMarkdowns": [ - "过去了, 远程仓库接收了 `C2`,远程仓库中的 `master` 分支也被更新到指向 `C2` 了,我们的远程分支 (o/master) 也同样被更新了。所有的分支都同步了!" + "过去了, 远程仓库接收了 `C2`,远程仓库中的 `main` 分支也被更新到指向 `C2` 了,我们的远程分支 (o/main) 也同样被更新了。所有的分支都同步了!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -403,7 +403,7 @@ exports.level = { "Hier haben wir ein paar Änderungen, die auf dem Remote noch fehlen. Und hoch damit!" ], "afterMarkdowns": [ - "Na bitte -- das Remote hat den Commit `C2` bekommen, der `master` auf dem Remote ist entsprechend aktualisiert worden und unsere *eigene* Abbildung des `master` auf dem Remote namens `o/master` wurde auch aktualisiert. Alles im Lot!" + "Na bitte -- das Remote hat den Commit `C2` bekommen, der `main` auf dem Remote ist entsprechend aktualisiert worden und unsere *eigene* Abbildung des `main` auf dem Remote namens `o/main` wurde auch aktualisiert. Alles im Lot!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -446,7 +446,7 @@ exports.level = { "Здесь у нас имеются изменения, которых нет в удалённом репозитории. Давайте же закачаем их туда!" ], "afterMarkdowns": [ - "Вот так - удалённый репозиторий получил новый коммит `C2`, ветка `master` на удалённом репозитории теперь указывает на `C2`, и наше *собственное* локальное отображение удалённого репозитория (`o/master`) изменилось соответственно. Всё синхронизировалось!" + "Вот так - удалённый репозиторий получил новый коммит `C2`, ветка `main` на удалённом репозитории теперь указывает на `C2`, и наше *собственное* локальное отображение удалённого репозитория (`o/main`) изменилось соответственно. Всё синхронизировалось!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -489,7 +489,7 @@ exports.level = { "ここにリモートにはないいくつかの変更点があります。これをアップロードしてみましょう!" ], "afterMarkdowns": [ - "さて、いってみましょう -- リモートはコミット`C2`を受け取り、リモート上の`master`ブランチは`C2`の位置に更新され、私たち*自身*のリモートブランチ(`o/master`)も良い具合に更新されました。全てが同期されました!" + "さて、いってみましょう -- リモートはコミット`C2`を受け取り、リモート上の`main`ブランチは`C2`の位置に更新され、私たち*自身*のリモートブランチ(`o/main`)も良い具合に更新されました。全てが同期されました!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -532,7 +532,7 @@ exports.level = { "Ось ми маємо деякі зміни яких нема в віддаленому сховищі. Надішлімо їх!" ], "afterMarkdowns": [ - "Ось, маєш -- віддалене сховище отримало `C2`, гілку `master` на ньому було оновлено й тепер вона посилається на `C2`, а наше *власне* відображення віддаленого репо (`o/master`) було також оновлено. Все синхронізовано!" + "Ось, маєш -- віддалене сховище отримало `C2`, гілку `main` на ньому було оновлено й тепер вона посилається на `C2`, а наше *власне* відображення віддаленого репо (`o/main`) було також оновлено. Все синхронізовано!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -575,7 +575,7 @@ exports.level = { "여기 원격저장소에는 없는 변경이 있습니다. 이것들을 업로드 해 봅시다!" ], "afterMarkdowns": [ - "자 됬습니다 -- 원격 저장소가 커밋 `C2`를 받았고, 원격 저장소의 브랜치 `master`가 `C2`라는 지점까지 갱신 되었습니다. 그리고 원격 저장소의 반영인 *우리의* 원격 브랜치 (`o/master`)또한 잘 갱신 되었습니다. 모든게 동기화되어 있습니다!" + "자 됬습니다 -- 원격 저장소가 커밋 `C2`를 받았고, 원격 저장소의 브랜치 `main`가 `C2`라는 지점까지 갱신 되었습니다. 그리고 원격 저장소의 반영인 *우리의* 원격 브랜치 (`o/main`)또한 잘 갱신 되었습니다. 모든게 동기화되어 있습니다!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -618,7 +618,7 @@ exports.level = { "Ở đây ta có một vài thay đổi mà kho chứa từ xa không có. Hãy tải chúng lên!" ], "afterMarkdowns": [ - "Đó -- kho chứa từ xa đã nhận được commit `C2`, nhánh `master` ở kho chứa từ xa đã được cập nhật lên `C2`, và phản chiếu nhánh từ xa *của ta* (`o/master`) cũng được cập nhật luôn. Mọi thứ đã đồng bộ!" + "Đó -- kho chứa từ xa đã nhận được commit `C2`, nhánh `main` ở kho chứa từ xa đã được cập nhật lên `C2`, và phản chiếu nhánh từ xa *của ta* (`o/main`) cũng được cập nhật luôn. Mọi thứ đã đồng bộ!" ], "command": "git push", "beforeCommand": "git clone; git commit" @@ -661,7 +661,7 @@ exports.level = { "Tu imamo nekaj sprememb, ki jih oddaljen repo nima. Dajmo jih naložiti!" ], "afterMarkdowns": [ - "Tako je -- oddaljen repo je prejel commit `C2`, branch `master` na oddaljenem repotu je bil posodobljen, da kaže na `C2` in naš *lasten* prikaz oddaljenega repota (`o/master`) je bil prav tako posodobljen. Vse je usklajeno!" + "Tako je -- oddaljen repo je prejel commit `C2`, branch `main` na oddaljenem repotu je bil posodobljen, da kaže na `C2` in naš *lasten* prikaz oddaljenega repota (`o/main`) je bil prav tako posodobljen. Vse je usklajeno!" ], "command": "git push", "beforeCommand": "git clone; git commit" diff --git a/src/levels/remote/pushArgs.js b/src/levels/remote/pushArgs.js index 832cb14f..19991785 100644 --- a/src/levels/remote/pushArgs.js +++ b/src/levels/remote/pushArgs.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"foo\":{\"target\":\"C3\",\"id\":\"foo\",\"remoteTrackingBranchID\":\"o/foo\"},\"o/master\":{\"target\":\"C2\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/foo\":{\"target\":\"C3\",\"id\":\"o/foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"C0\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"foo\":{\"target\":\"C3\",\"id\":\"foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", - "solutionCommand": "git push origin master;git push origin foo", + "solutionCommand": "git push origin main;git push origin foo", "startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"foo\":{\"target\":\"C3\",\"id\":\"foo\",\"remoteTrackingBranchID\":\"o/foo\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/foo\":{\"target\":\"C1\",\"id\":\"o/foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"}},\"HEAD\":{\"target\":\"C0\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"foo\":{\"target\":\"C1\",\"id\":\"foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "disabledMap": { "git checkout": true @@ -64,13 +64,13 @@ exports.level = { "markdowns": [ "What is a `` parameter you say? We'll dive into the specifics soon, but first an example. Issuing the command:", "", - "`git push origin master`", + "`git push origin main`", "", "translates to this in English:", "", - "*Go to the branch named \"master\" in my repository, grab all the commits, and then go to the branch \"master\" on the remote named \"origin\". Place whatever commits are missing on that branch and then tell me when you're done.*", + "*Go to the branch named \"main\" in my repository, grab all the commits, and then go to the branch \"main\" on the remote named \"origin\". Place whatever commits are missing on that branch and then tell me when you're done.*", "", - "By specifying `master` as the \"place\" argument, we told git where the commits will *come from* and where the commits *will go*. It's essentially the \"place\" or \"location\" to synchronize between the two repositories.", + "By specifying `main` as the \"place\" argument, we told git where the commits will *come from* and where the commits *will go*. It's essentially the \"place\" or \"location\" to synchronize between the two repositories.", "", "Keep in mind that since we told git everything it needs to know (by specifying both arguments), it totally ignores where we are checked out!" ] @@ -83,9 +83,9 @@ exports.level = { "Let's see an example of specifying the arguments. Note the location where we are checked out in this example." ], "afterMarkdowns": [ - "There we go! `master` got updated on the remote since we specified those arguments." + "There we go! `main` got updated on the remote since we specified those arguments." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -106,7 +106,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok, for this level let's update both `foo` and `master` on the remote. The twist is that `git checkout` is disabled for this level!", + "Ok, for this level let's update both `foo` and `main` on the remote. The twist is that `git checkout` is disabled for this level!", "", "*Note: The remote branches are labeled with `o/` prefixes because the full `origin/` label does not fit in our UI. Don't worry ", "about this... simply use `origin` as the name of the remote like normal.*" @@ -139,13 +139,13 @@ exports.level = { "markdowns": [ "Qu'est ce que ce paramètre `` ? Avant de passer à l'explication, voyons d'abord un exemple. La commande suivante :", "", - "`git push origin master`", + "`git push origin main`", "", "peut se traduire en français par :", "", - "*Va dans la branche \"master\" de mon dépôt, récupère tous les commits, et ensuite va dans la branche distante \"master\" sur le dépôt nommé \"origin\". Envoie tous les commits qui lui manquent sur cette branche distante puis préviens-moi quand c'est terminé.*", + "*Va dans la branche \"main\" de mon dépôt, récupère tous les commits, et ensuite va dans la branche distante \"main\" sur le dépôt nommé \"origin\". Envoie tous les commits qui lui manquent sur cette branche distante puis préviens-moi quand c'est terminé.*", "", - "En spécifiant `master` comme argument ``, nous avons dit à git *d'où* les commits venaient et où ils *allaient*. C'est en fait \"l'emplacement\" à synchroniser entre les deux dépôts.", + "En spécifiant `main` comme argument ``, nous avons dit à git *d'où* les commits venaient et où ils *allaient*. C'est en fait \"l'emplacement\" à synchroniser entre les deux dépôts.", "", "Gardez à l'esprit que nous avons dit à git tout ce dont il a besoin pour opérer (en précisant les deux arguments), il n'a donc absolument pas besoin de savoir quelle est la branche courante !" ] @@ -158,9 +158,9 @@ exports.level = { "Voyons un exemple d'arguments. Notez bien où se trouve `HEAD` dans cet exemple." ], "afterMarkdowns": [ - "Voilà ! `master` a été mise à jour puisque nous avons spécifié ces arguments." + "Voilà ! `main` a été mise à jour puisque nous avons spécifié ces arguments." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -181,7 +181,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok, pour ce niveau mettez à jour `foo` et `master` sur le dépôt distant. La difficulté est que `git checkout` est désactivée pour ce niveau !" + "Ok, pour ce niveau mettez à jour `foo` et `main` sur le dépôt distant. La difficulté est que `git checkout` est désactivée pour ce niveau !" ] } } @@ -211,13 +211,13 @@ exports.level = { "markdowns": [ "¿Qué será este parámetro ``, te preguntarás? Ya vamos a entrar en detalle, pero primero un ejemplo. Correr el comando:", "", - "`git push origin master`", + "`git push origin main`", "", "se traduce así al español:", "", - "*Andá a la rama llamada \"master\" en mi repositorio, agarrá todos los commits, y después andá a la rama \"master\" del remoto llamado \"origin\". Aplicá ahí todos los commits que falten, y avisame cuando termines.*", + "*Andá a la rama llamada \"main\" en mi repositorio, agarrá todos los commits, y después andá a la rama \"main\" del remoto llamado \"origin\". Aplicá ahí todos los commits que falten, y avisame cuando termines.*", "", - "Especificando `master` como el parámetro \"lugar\", le dijimos a git de dónde traer los commits, y a dónde mandarlos. Es, básicamente, el \"lugar\" o \"ubicación\" que sincronizar entre ambos repositorios.", + "Especificando `main` como el parámetro \"lugar\", le dijimos a git de dónde traer los commits, y a dónde mandarlos. Es, básicamente, el \"lugar\" o \"ubicación\" que sincronizar entre ambos repositorios.", "", "Tené en cuenta que, como le dijimos a git todo lo que necesitaba saber (especificando ambos parámetros), ¡ignora totalmente dónde estamos parados en este momento¡" ] @@ -230,9 +230,9 @@ exports.level = { "Veamos un ejemplo especificando los parámetros. Notá en dónde estamos parados en este ejemplo." ], "afterMarkdowns": [ - "¡Ahí está! Se actualizó `master` en el remoto, porque especificamos esos parámetros." + "¡Ahí está! Se actualizó `main` en el remoto, porque especificamos esos parámetros." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -253,7 +253,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok. Para este nivel, actualicemos tanto `foo` como `master` en el remoto. El tema está en que ¡tenemos deshabilitado `git checkout` en este nivel!" + "Ok. Para este nivel, actualicemos tanto `foo` como `main` en el remoto. El tema está en que ¡tenemos deshabilitado `git checkout` en este nivel!" ] } } @@ -283,13 +283,13 @@ exports.level = { "markdowns": [ "¿Qué será este parámetro ``, te preguntarás? Vamos a entrar en detalle, pero primero un ejemplo. Ejecutar el comando:", "", - "`git push origin master`", + "`git push origin main`", "", "se traduce así al español:", "", - "*Vete a la rama llamada \"master\" en mi repositorio, coge todos los commits, y después vete a la rama \"master\" del remoto llamado \"origin\". Copia ahí todos los commits que falten, y avísame cuando termines.*", + "*Vete a la rama llamada \"main\" en mi repositorio, coge todos los commits, y después vete a la rama \"main\" del remoto llamado \"origin\". Copia ahí todos los commits que falten, y avísame cuando termines.*", "", - "Especificando `master` como el parámetro \"lugar\", le dijimos a git de dónde traer los commits, y a dónde mandarlos. Es, básicamente, el \"lugar\" o \"ubicación\" que sincronizar entre ambos repositorios.", + "Especificando `main` como el parámetro \"lugar\", le dijimos a git de dónde traer los commits, y a dónde mandarlos. Es, básicamente, el \"lugar\" o \"ubicación\" que sincronizar entre ambos repositorios.", "", "Ten en cuenta que, como le dijimos a git todo lo que necesitaba saber (especificando ambos parámetros), ¡ignora totalmente dónde estamos parados en este momento¡" ] @@ -302,9 +302,9 @@ exports.level = { "Veamos un ejemplo especificando los parámetros. Date cuenta dónde estamos parados en este ejemplo." ], "afterMarkdowns": [ - "¡Ahí está! Se actualizó `master` en el remoto, porque especificamos esos parámetros." + "¡Ahí está! Se actualizó `main` en el remoto, porque especificamos esos parámetros." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -325,7 +325,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Perfecto. Para este nivel, actualicemos tanto `foo` como `master` en el remoto. El tema está en que ¡tenemos deshabilitado `git checkout` en este nivel!" + "Perfecto. Para este nivel, actualicemos tanto `foo` como `main` en el remoto. El tema está en que ¡tenemos deshabilitado `git checkout` en este nivel!" ] } } @@ -355,13 +355,13 @@ exports.level = { "markdowns": [ "Você deve estar se perguntando: o que é esse parâmetro ``? Vamos discutir as especifidades em breve, mas vejamos primeiro um exemplo. Executar o comando:", "", - "`git push origin master`", + "`git push origin main`", "", "pode ser traduzido para o seguinte em Português:", "", - "*Vá ao ramo chamado \"master\" no meu repositório local, pegue todos os commits, então vá ao ramo \"master\" no repositório remoto chamado \"origin\". Coloque quaisquer commits que estiverem faltando nesse ramo, e então me diga quando estiver pronto.*", + "*Vá ao ramo chamado \"main\" no meu repositório local, pegue todos os commits, então vá ao ramo \"main\" no repositório remoto chamado \"origin\". Coloque quaisquer commits que estiverem faltando nesse ramo, e então me diga quando estiver pronto.*", "", - "Especificando `master` como parâmetro \"lugar\", dizemos ao Git de onde os commits *vão vir* e para onde os commits *irão*. É essencialmente o \"lugar\" onde sincronizar entre os dois repositórios.", + "Especificando `main` como parâmetro \"lugar\", dizemos ao Git de onde os commits *vão vir* e para onde os commits *irão*. É essencialmente o \"lugar\" onde sincronizar entre os dois repositórios.", "", "Tenha em mente que já que contamos ao Git tudo que ele precisa saber (especificando ambos os parâmetros), ele ignora totalmente o checkout atual!" ] @@ -374,9 +374,9 @@ exports.level = { "Vejamos um exemplo especificando os argumentos. Preste atenção no commit que sofreu checkout neste exemplo." ], "afterMarkdowns": [ - "Aqui vamos nós! O `master` foi atualizado no repositório remoto, já que especificamos os parâmetros." + "Aqui vamos nós! O `main` foi atualizado no repositório remoto, já que especificamos os parâmetros." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -397,7 +397,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok, neste nível vamos atualizar tanto o `foo` como o `master` no repositório remoto. Porém desabilitamos o comando `git checkout` para dificultar um pouco a tarefa!" + "Ok, neste nível vamos atualizar tanto o `foo` como o `main` no repositório remoto. Porém desabilitamos o comando `git checkout` para dificultar um pouco a tarefa!" ] } } @@ -427,13 +427,13 @@ exports.level = { "markdowns": [ "¿Qué será este parámetro ``, fixécheste esa pregunta? Xa imos entrar en detalle, pero primeiro un exemplo. Executa o comando:", "", - "`git push origin master`", + "`git push origin main`", "", "tradúcese así ó galego:", "", - "*Vai á rama chamada \"master\" no meu repositorio, colle tódolos commits, e despois vai á rama \"master\" do remoto chamado \"origin\". Aplica ahí tódolos commits que falten, e avísame cando remates.*", + "*Vai á rama chamada \"main\" no meu repositorio, colle tódolos commits, e despois vai á rama \"main\" do remoto chamado \"origin\". Aplica ahí tódolos commits que falten, e avísame cando remates.*", "", - "Indicando `master` como o parámetro \"lugar\", dixémoslle a git ónde traer os commits, e ónde mandalos. É básicamente, o \"lugar\" ou \"ubicación\" que sincroniza entre ámbolos dous repositorios.", + "Indicando `main` como o parámetro \"lugar\", dixémoslle a git ónde traer os commits, e ónde mandalos. É básicamente, o \"lugar\" ou \"ubicación\" que sincroniza entre ámbolos dous repositorios.", "", "Ten en conta que, como lle dixemos a git todo o que precisaba saber (indicando ambos parámetros), ¡ignora totalmente ónde andabamos neste momento!" ] @@ -446,9 +446,9 @@ exports.level = { "Vexamos un exemplo especificando os parámetros. Nota ónde ficamos parados neste exemplo." ], "afterMarkdowns": [ - "¡Ahí o tes! Actualizouse `master` no remoto, porque especificamos eses parámetros." + "¡Ahí o tes! Actualizouse `main` no remoto, porque especificamos eses parámetros." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -469,7 +469,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok. Para este nivel, actualiza tanto `foo` como `master` no remoto. O tema está en que ¡temos deshabilitado `git checkout` neste nivel!" + "Ok. Para este nivel, actualiza tanto `foo` como `main` no remoto. O tema está en que ¡temos deshabilitado `git checkout` neste nivel!" ] } } @@ -499,13 +499,13 @@ exports.level = { "markdowns": [ "`` 這個參數表示什麼? 我們等一下會提到細節,但是先來看一個例子,執行以下的指令:", "", - "`git push origin master`", + "`git push origin main`", "", "將這段解釋成中文:", "", - "*先到我的 repo 中的 \"master\" branch,抓下所有的 commit,然後到叫作 \"origin\" 的 remote 的 \"master\" branch,檢查 remote 的 commit 有沒有跟我的 repo 一致,如果沒有,就更新。*", + "*先到我的 repo 中的 \"main\" branch,抓下所有的 commit,然後到叫作 \"origin\" 的 remote 的 \"main\" branch,檢查 remote 的 commit 有沒有跟我的 repo 一致,如果沒有,就更新。*", "", - "將 `master` 當作 \"place\" 這個參數,我們告訴 git 這些 commit 是*從哪裡來的*,而且它們要*往哪裡去*。對於要同步兩個 repo, \"place\" 或者是 \"location\" 是非常重要的。", + "將 `main` 當作 \"place\" 這個參數,我們告訴 git 這些 commit 是*從哪裡來的*,而且它們要*往哪裡去*。對於要同步兩個 repo, \"place\" 或者是 \"location\" 是非常重要的。", "", "要記住喔,因為我們告訴 git 它所要知道的(有兩個參數),因此它才不會管你現在所 checkout 的 branch!" ] @@ -518,9 +518,9 @@ exports.level = { "讓我們來看一個有加上參數的例子,在這個例子中,要特別注意到我們所 checkout 的位置。" ], "afterMarkdowns": [ - "我說的沒錯吧!因為我們加上了參數,所以在 remote 上的 `master` branch 更新了。" + "我說的沒錯吧!因為我們加上了參數,所以在 remote 上的 `main` branch 更新了。" ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -541,7 +541,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "好的,在這個關卡中,我們要更新在 remote 上的 `foo` 以及 `master` branch,比較遺憾的是 `git checkout` 在這個關卡中是不被允許的喔!" + "好的,在這個關卡中,我們要更新在 remote 上的 `foo` 以及 `main` branch,比較遺憾的是 `git checkout` 在這個關卡中是不被允許的喔!" ] } } @@ -571,13 +571,13 @@ exports.level = { "markdowns": [ "`` 参数是什么意思呢?我们稍后会深入其中的细节, 先看看例子, 这个命令是:", "", - "`git push origin master`", + "`git push origin main`", "", "把这个命令翻译过来就是:", "", - "*切到本地仓库中的“master”分支,获取所有的提交,再到远程仓库“origin”中找到“master”分支,将远程仓库中没有的提交记录都添加上去,搞定之后告诉我。*", + "*切到本地仓库中的“main”分支,获取所有的提交,再到远程仓库“origin”中找到“main”分支,将远程仓库中没有的提交记录都添加上去,搞定之后告诉我。*", "", - "我们通过“place”参数来告诉 Git 提交记录来自于 master, 要推送到远程仓库中的 master。它实际就是要同步的两个仓库的位置。", + "我们通过“place”参数来告诉 Git 提交记录来自于 main, 要推送到远程仓库中的 main。它实际就是要同步的两个仓库的位置。", "", "需要注意的是,因为我们通过指定参数告诉了 Git 所有它需要的信息, 所以它就忽略了我们所检出的分支的属性!" ] @@ -590,9 +590,9 @@ exports.level = { "我们看看指定参数的例子。注意下我们当前检出的位置。" ], "afterMarkdowns": [ - "好了! 通过指定参数, 远程仓库中的 `master` 分支得到了更新。" + "好了! 通过指定参数, 远程仓库中的 `main` 分支得到了更新。" ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -613,7 +613,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "本关我们要更新远程仓库中的 `foo` 和 `master`, 但是 `git checkout` 被禁用了!", + "本关我们要更新远程仓库中的 `foo` 和 `main`, 但是 `git checkout` 被禁用了!", "", "*注意:远程分支使用 `o/` 开头是因为 `origin/` 对于 UI 来说太长了。不用太在意这个,直接用 `origin` 作为远程仓库的名称就可以了。*", "" @@ -630,7 +630,7 @@ exports.level = { "markdowns": [ "## Push-Optionen", "", - "Großartig! Da du dich jetzt mit Remote Tracking Branches auskennst können wir anfangen, die Geheimnisse hinter `git push`, `fetch` und `pull` zu ergründen. Wir werden uns einen Befehl nach dem anderen vornehmen, aber die Funktionsweisen sind sich sehr ähnlich.", + "Großartig! Da du dich jetzt mit Remote Tracking Branches auskennst, können wir anfangen, die Geheimnisse hinter `git push`, `fetch` und `pull` zu ergründen. Wir werden uns einen Befehl nach dem anderen vornehmen, aber die Funktionsweisen sind sich sehr ähnlich.", "", "Zunächst schauen wir uns `git push` an. Du hast im Level über Remote Tracking schon mitbekommen, dass Git den Remote Server *und* den Branch herausbekommt, indem es sich die Eigenschaften des aktuell ausgecheckten Branches ansieht (in denen das Remote steht, das der Branch \"trackt\"). Das ist das Verhalten bei keiner Angabe weiterer Optionen -- du kannst bei `git push` aber auch folgende setzen:", "", @@ -644,17 +644,17 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Was \"Ort\" sein soll fragst du? Das klären wir später genau, schauen wir uns zunächst ein Beispiel an:", + "Was \"Ort\" sein soll, fragst du? Das klären wir später genau, schauen wir uns zunächst ein Beispiel an:", "", - "`git push origin master`", + "`git push origin main`", "", "Das bedeutet im Klartext:", "", - "\"Geh zum Branch namens `master` in meinem Repository, nimm all seine Commits, dann geh zum Branch `master` auf dem Remote namens `origin`. Leg da alles Commits ab die fehlen und sag mir wenn du fertig bist.\"", + "\"Geh zum Branch namens `main` in meinem Repository, nimm all seine Commits, dann geh zum Branch `main` auf dem Remote namens `origin`. Lege da alle Commits ab, die fehlen und sage mir, wenn du fertig bist.\"", "", - "Dadurch, dass wir `master` als \"Ort\" angegeben haben, weiß Git *woher* die Commits kommen und *wohin* sie sollen. Es ist im Grunde der Name der Orte, die zwischen zwei Repositorys synchronisiert werden soll.", + "Da wir `main` als \"Ort\" angegeben haben, weiß Git, *woher* die Commits kommen und *wohin* sie sollen. Es ist im Grunde der Name der Orte, die zwischen zwei Repositorys synchronisiert werden sollen.", "", - "Dadurch, dass wir Git alles explizit gesagt haben, was es für die Operation wissen muss (durch Angabe von Remote und Ort) ist es vollkommen egal, was gerade ausgecheckt ist." + "Da wir Git alles explizit gesagt haben, was es für die Operation wissen muss (durch Angabe von Remote und Ort), ist es vollkommen egal, was gerade ausgecheckt ist." ] } }, @@ -662,12 +662,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Schauen wir uns noch ein Beispiel an. Beachte was in diesem Fall gerade ausgecheckt ist." + "Schauen wir uns noch ein Beispiel an. Beachte, was in diesem Fall gerade ausgecheckt ist." ], "afterMarkdowns": [ - "Da haben wir's! `master` wurde auf dem Remote aktualisiert, weil wir beide Optionen angegeben haben." + "Da haben wir's! `main` wurde auf dem Remote aktualisiert, weil wir beide Optionen angegeben haben." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -688,7 +688,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok, in diesem Level lass uns sowohl `foo` als auch `master` auf dem Remote aktualisieren. Um's spannender zu machen, ist `git checkout` in diesem Level deaktiviert." + "Ok, in diesem Level lass uns sowohl `foo` als auch `main` auf dem Remote aktualisieren. Um's spannender zu machen ist `git checkout` in diesem Level deaktiviert." ] } } @@ -718,13 +718,13 @@ exports.level = { "markdowns": [ "Что за такой параметр `<целевая_ветка>`? Мы узнаем об этом через секунду, а пока что рассмотрим пример. Допустим, что мы выполняем такую команду:", "", - "`git push origin master`", + "`git push origin main`", "", "дословный перевод с английского будет таким:", "", - "*Перейди в ветку с именем \"master\" в моём локальном репозитории, возьми все коммиты и затем перейди на ветку \"master\" на удалённом репозитории \"origin.\". На эту удалённую ветку скопируй все отсутствующие коммиты, которые есть у меня, и скажи, когда ты закончишь.*", + "*Перейди в ветку с именем \"main\" в моём локальном репозитории, возьми все коммиты и затем перейди на ветку \"main\" на удалённом репозитории \"origin.\". На эту удалённую ветку скопируй все отсутствующие коммиты, которые есть у меня, и скажи, когда ты закончишь.*", "", - "Указывая `master` в качестве аргумента \"целевая_ветка\", мы тем самым говорим git-у откуда будут *приходить* и *уходить* наши коммиты. Аргумент \"целевая_ветка\" или \"местонахождение\" - это синхронизация между двумя репозиториями.", + "Указывая `main` в качестве аргумента \"целевая_ветка\", мы тем самым говорим git-у откуда будут *приходить* и *уходить* наши коммиты. Аргумент \"целевая_ветка\" или \"местонахождение\" - это синхронизация между двумя репозиториями.", "", "Имейте в виду, что с тех пор, как мы сказали git-у всё, что ему необходимо (указав оба аргумента), ему - git-у - абсолютно всё равно, что вы зачекаутили до этого!" ] @@ -737,9 +737,9 @@ exports.level = { "Давайте взглянем на пример, в котором указаны оба этих аргумента. Обратите внимание на местоположение, в котором мы находимся после чекаута." ], "afterMarkdowns": [ - "Вот так! Мы обновили `master` на удалённом репозитории, принудительно указав аргументы в push." + "Вот так! Мы обновили `main` на удалённом репозитории, принудительно указав аргументы в push." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -760,7 +760,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Хорошо, для выполнения этого уровня давайте обновим обе ветки `foo` и `master` на удалённом репозитории. Фишка в том, что команда `git checkout` не доступна на этом уровне!", + "Хорошо, для выполнения этого уровня давайте обновим обе ветки `foo` и `main` на удалённом репозитории. Фишка в том, что команда `git checkout` не доступна на этом уровне!", "", "*Замечание: Удалённые ветки помечены как `o/`, а не `origin/`. Дело в том, что полная метка не помещается на экране. Не волнуйтесь ", "по этому поводу... просто используйте знакомый нам `origin` для обращения к удалённому репозиторию.*" @@ -793,13 +793,13 @@ exports.level = { "markdowns": [ "``인자가 무엇을 의미할것 같나요? 세부사항은 알아보기 전에 예시부터 봅시다. 다음 명령어를 보세요:", "", - "`git push origin master`", + "`git push origin main`", "", "해석해 보면:", "", - "*내 저장소에 있는 \"master\"라는 이름의 브랜치로 가서 모든 커밋들을 수집합니다, 그다음 \"origin\"의 \"master\"브랜치로 가서 이 브랜치에 부족한 커밋들을 채워 넣고 완료 되면 알려줍니다.*", + "*내 저장소에 있는 \"main\"라는 이름의 브랜치로 가서 모든 커밋들을 수집합니다, 그다음 \"origin\"의 \"main\"브랜치로 가서 이 브랜치에 부족한 커밋들을 채워 넣고 완료 되면 알려줍니다.*", "", - "`master`를 \"place\"인자로 지정해서 우리가 git에게 *어디서부터* 커밋이 오는지, 그리고 *어디로* 커밋이 가야하는지 알려줍니다. 두 저장소간에 동기화 작업을 할 \"장소\"를 지정해 주는것이라고 볼 수 있습니다.", + "`main`를 \"place\"인자로 지정해서 우리가 git에게 *어디서부터* 커밋이 오는지, 그리고 *어디로* 커밋이 가야하는지 알려줍니다. 두 저장소간에 동기화 작업을 할 \"장소\"를 지정해 주는것이라고 볼 수 있습니다.", "", "git이 알아야 할 것은 다 알려줬기 때문에(두 인자를 모두 지정했죠), git은 현재 우리가 체크아웃한 브랜치는 무시하고 명령을 수행합니다." ] @@ -812,9 +812,9 @@ exports.level = { "인자를 지정해주는 예제를 눈으로 직접 확인해 봅시다. 이 예제에서 우리가 체크아웃한 곳이 어디인지를 주의하며 봅시다." ], "afterMarkdowns": [ - "됬네요! 지정해준 인자들에 의해 원격 저장소의 `master`가 갱신 되었습니다." + "됬네요! 지정해준 인자들에 의해 원격 저장소의 `main`가 갱신 되었습니다." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -835,7 +835,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "좋습니다, 이번 레벨에서는 원격저장소의 `foo`, `master`브랜치 모두 갱신해봅시다. 이번 문제는 `git checkout`이 비활성화 되있다는 점이 특징이죠!", + "좋습니다, 이번 레벨에서는 원격저장소의 `foo`, `main`브랜치 모두 갱신해봅시다. 이번 문제는 `git checkout`이 비활성화 되있다는 점이 특징이죠!", "", "*노트: 원격 브랜치들은 `o/`접두어로 분류되어 있습니다. `origin/`으로 생략없이 표현하면 UI에 안맞아서 이렇게 표현했어요. ", "그래서... 원격저장소 이름은 원래처럼 `origin`으로 써주세요.*" @@ -868,13 +868,13 @@ exports.level = { "markdowns": [ "Ви спитаєте, що таке аргумент ``? Ми скоро вдамося в детальні пояснення, але спочатку -- приклад. Виконання команди:", "", - "`git push origin master`", + "`git push origin main`", "", "буквально перекладається як:", "", - "*Піди в гілку, що називається \"master\" в моєму репозиторії, візьми всі коміти, піди у віддалений \"master\", що називається \"origin\". Додай ті коміти, яких немає в цій гілці і надрукуй, що саме ти зробив.*", + "*Піди в гілку, що називається \"main\" в моєму репозиторії, візьми всі коміти, піди у віддалений \"main\", що називається \"origin\". Додай ті коміти, яких немає в цій гілці і надрукуй, що саме ти зробив.*", "", - "Вказуючи `master` в якості аргумента \"place\", ми сказали git-у, *звідки* взяти коміти і *куди* їх додати. (\"Place\") - фактично точка синхронізації двох репозиторіїв.", + "Вказуючи `main` в якості аргумента \"place\", ми сказали git-у, *звідки* взяти коміти і *куди* їх додати. (\"Place\") - фактично точка синхронізації двох репозиторіїв.", "", "Пам'ятайте, що оскільки ми надали git-у всю необхідну інформацію (вказавши обидва аргументи), не має значення яка гілка є зараз поточною!" ] @@ -887,9 +887,9 @@ exports.level = { "Розгляньмо приклад використання аргументів. Зверніть увагу на поточну гілку в цьому прикладі." ], "afterMarkdowns": [ - "Ось так! `master` у віддаленому репозиторії оновився, оскільки ми вказали його в аргументах." + "Ось так! `main` у віддаленому репозиторії оновився, оскільки ми вказали його в аргументах." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -910,7 +910,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Гаразд, на цьому рівні оновімо віддалені гілки `foo` і `master`. Для ускладнення ми заборонимо використовувати `git checkout`!", + "Гаразд, на цьому рівні оновімо віддалені гілки `foo` і `main`. Для ускладнення ми заборонимо використовувати `git checkout`!", "", "*Пам'ятай, віддалені гілки позначені префіксом `o/`, оскільки повний префікс `origin/` не влазить в наш UI. Але не хвилюйся ", "про це... ти можеш використовувати `origin` посилаючись на віддалений репозиторій.*" @@ -943,13 +943,13 @@ exports.level = { "markdowns": [ "Tham số `` là gì vậy? Chúng ta sẽ đi sâu vào chi tiết sau sau, hãy xem ví dụ trước. Đưa ra câu lệnh:", "", - "`git push origin master`", + "`git push origin main`", "", "được dịch lại là:", "", - "*Chuyển sang nhánh \"master\" trong kho lưu trữ cục bộ, nhận tất cả các commit và tìm nhánh \"master\" trong kho chứa từ xa tên là \"origin\". Thêm tất cả các commit không có trong nhánh đó và báo cho tôi biết khi nào hoàn tất.*", + "*Chuyển sang nhánh \"main\" trong kho lưu trữ cục bộ, nhận tất cả các commit và tìm nhánh \"main\" trong kho chứa từ xa tên là \"origin\". Thêm tất cả các commit không có trong nhánh đó và báo cho tôi biết khi nào hoàn tất.*", "", - "Bằng cách chỉ định `master` trong tham số \"vị trí\",ta báo với git nơi mà commit *xuất phát* và nơi chúng *sẽ đến*. Về căn bản nó là \"địa điểm\" để đồng bộ hóa 2 kho chứa.", + "Bằng cách chỉ định `main` trong tham số \"vị trí\",ta báo với git nơi mà commit *xuất phát* và nơi chúng *sẽ đến*. Về căn bản nó là \"địa điểm\" để đồng bộ hóa 2 kho chứa.", "", "Lưu ý rằng ta ta đã thông báo cho gi tất cả thông tin cần thiết( thông qua chỉ định 2 tham số), nó sẽ không quan tâm nhánh mà ta đang đứng!" ] @@ -962,9 +962,9 @@ exports.level = { "Hãy xem xét một ví dụ về việc xác định tham số. Lưu ý vị trí nhánh mà ta đang đứng." ], "afterMarkdowns": [ - "Được rồi! Bằng cách chỉ định các tham số, nhánh `master` trong kho lưu trữ từ xa đã được cập nhật." + "Được rồi! Bằng cách chỉ định các tham số, nhánh `main` trong kho lưu trữ từ xa đã được cập nhật." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -985,7 +985,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Được rồi, trong cấp độ này hãy cập nhánh `foo` và `master` trên kho lưu trữ từ xa. Cái khó là ở cấp độ này lệnh `git checkout` đã bị vô hiệu hóa!", + "Được rồi, trong cấp độ này hãy cập nhánh `foo` và `main` trên kho lưu trữ từ xa. Cái khó là ở cấp độ này lệnh `git checkout` đã bị vô hiệu hóa!", "", "*Chú ý: Các nhánh từ xa được đánh dấu bằng tiền tố `o/` bời vì UI của chúng tôi không chứa được hết `origin/`. Đừng lo ", "về vấn đề này... đơn giản cứ dùng `origin` như bình thường thôi.*" @@ -1018,11 +1018,11 @@ exports.level = { "markdowns": [ "Kaj je `` parameter praviš? Kmalu bomo zaplavali v podrobnosti, ampak najprej primer. Izvedba ukaza:", "", - "`git push origin master`", + "`git push origin main`", "", "se v slovenščini prevede v:", "", - "*Pojdi na branch poimenovan \"master\" na mojem repozitoriju, zgrabi vse commite in nato pojdi na branch \"master\" na oddaljenem repotu poimenovanem \"origin\". Postavi vse commite, ki manjkajo na branch in me obvesti, ko končaš.*", + "*Pojdi na branch poimenovan \"main\" na mojem repozitoriju, zgrabi vse commite in nato pojdi na branch \"main\" na oddaljenem repotu poimenovanem \"origin\". Postavi vse commite, ki manjkajo na branch in me obvesti, ko končaš.*", "", "Z določanjem `masterja` kot \"place\" argument, smo povedali gitu iz kje bodo commiti *prišli* in kam bodo commiti *šli*. V bistvu je to \"mesto\" oziroma \"lokacija\" za uskladitev med dvema repozitorijema.", "", @@ -1037,9 +1037,9 @@ exports.level = { "Poglejmo si primer podajanja argumentov. Bodi pozoren na mesto, kjer smo checkoutani v tem primeru." ], "afterMarkdowns": [ - "Evo ga! `master` je bil posodobljen na oddaljenem repotu, ker smo podali te argumente." + "Evo ga! `main` je bil posodobljen na oddaljenem repotu, ker smo podali te argumente." ], - "command": "git checkout C0; git push origin master", + "command": "git checkout C0; git push origin main", "beforeCommand": "git clone; git commit" } }, @@ -1060,7 +1060,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok, za to stopnjo posodobimo oba `foo` in `master` na oddaljenem repotu. Trik je, da je `git checkout` onemogočen za to stopnjo!", + "Ok, za to stopnjo posodobimo oba `foo` in `main` na oddaljenem repotu. Trik je, da je `git checkout` onemogočen za to stopnjo!", "", "*Opomba: Oddaljeni branchi so označeni z `o/` predpono, ker celotna `origin/` oznaka ne paše v naš prikaz. Ne skrbi ", "glede tega ... preprosto uporabi `origin` kot ime oddaljenega repota kot ponavadi.*" diff --git a/src/levels/remote/pushArgs2.js b/src/levels/remote/pushArgs2.js index 417f03ef..61dc1047 100644 --- a/src/levels/remote/pushArgs2.js +++ b/src/levels/remote/pushArgs2.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C6\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"foo\":{\"target\":\"C4\",\"id\":\"foo\",\"remoteTrackingBranchID\":\"o/foo\"},\"o/master\":{\"target\":\"C4\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/foo\":{\"target\":\"C5\",\"id\":\"o/foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C2\",\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C2\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"foo\":{\"target\":\"C5\",\"id\":\"foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C5\":{\"parents\":[\"C2\"],\"id\":\"C5\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C2\",\"C3\"],\"id\":\"C4\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", - "solutionCommand": "git push origin master^:foo;git push origin foo:master", + "solutionCommand": "git push origin main^:foo;git push origin foo:main", "startTree": "{\"branches\":{\"master\":{\"target\":\"C6\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"foo\":{\"target\":\"C4\",\"id\":\"foo\",\"remoteTrackingBranchID\":\"o/foo\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null},\"o/foo\":{\"target\":\"C1\",\"id\":\"o/foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C2\",\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C2\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"foo\":{\"target\":\"C1\",\"id\":\"foo\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "name": { "en_US": "Git push arguments -- Expanded!", @@ -45,7 +45,7 @@ exports.level = { "markdowns": [ "## `` argument details", "", - "Remember from the previous lesson that when we specified `master` as the place argument for git push, we specified both the *source* of where the commits would come from and the *destination* of where the commits would go.", + "Remember from the previous lesson that when we specified `main` as the place argument for git push, we specified both the *source* of where the commits would come from and the *destination* of where the commits would go.", "", "You might then be wondering -- what if we wanted the source and destination to be different? What if you wanted to push commits from the `foo` branch locally onto the `bar` branch on remote?", "", @@ -78,7 +78,7 @@ exports.level = { "afterMarkdowns": [ "Woah! That's a pretty trippy command but it makes sense -- git resolved `foo^` into a location, uploaded whatever commits that weren't present yet on the remote, and then updated destination." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -91,7 +91,7 @@ exports.level = { "afterMarkdowns": [ "Sweet, that's pretty slick :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -115,7 +115,7 @@ exports.level = { "markdowns": [ "## L'argument `` dans le détail", "", - "Rappelez-vous de notre dernière leçon : quand vous passiez `master` comme argument `` à git push, cela spécifiait à la fois la *source* de provenance des commits et leur *destination*.", + "Rappelez-vous de notre dernière leçon : quand vous passiez `main` comme argument `` à git push, cela spécifiait à la fois la *source* de provenance des commits et leur *destination*.", "", "Vous vous demandez peut-être donc : et si nous voulions avoir une source et une destination différentes ? Et si vous voulez envoyez des commits de la branche locale `foo` dans la branche distante `bar` ?", "", @@ -148,7 +148,7 @@ exports.level = { "afterMarkdowns": [ "Woahou ! C'est une commande très alambiquée mais qui a du sens : git résoud `foo^` en un emplacement, envoie tous les commits qui n'étaient pas encore présents sur le dépôt distant, et met ensuite à jour la branche de destination." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -161,7 +161,7 @@ exports.level = { "afterMarkdowns": [ "Cool, c'est habile :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -185,7 +185,7 @@ exports.level = { "markdowns": [ "## Detalles sobre el parámetro ``", "", - "Acordate de la lección anterior que cuando especificamos `master` como el parámetro lugar de git push, especificamos tanto el *origen* del que sacar los commits como el *destino* al que enviarlos.", + "Acordate de la lección anterior que cuando especificamos `main` como el parámetro lugar de git push, especificamos tanto el *origen* del que sacar los commits como el *destino* al que enviarlos.", "", "Podrías estar preguntándote ¿Y si quisiéramos que el origen y el destino sean distintos? ¿Si quisieras pushear los commits de la rama local `foo` a la rama `bar` del remote?", "", @@ -218,7 +218,7 @@ exports.level = { "afterMarkdowns": [ "¡Woow! Ese commando es bastante loco, pero tiene sentido: git resolvió `foo^` a una ubicación, subió cualquier commit de ahí que aún no estuviera en el remoto, y luego actualizó el destino." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -231,7 +231,7 @@ exports.level = { "afterMarkdowns": [ "Genial, simplemente fluye :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -255,7 +255,7 @@ exports.level = { "markdowns": [ "## Detalles sobre el parámetro ``", "", - "Recuerda de la lección anterior que cuando especificamos `master` como el parámetro lugar de git push, especificamos tanto el *origen* del que sacar los commits como el *destino* al que enviarlos.", + "Recuerda de la lección anterior que cuando especificamos `main` como el parámetro lugar de git push, especificamos tanto el *origen* del que sacar los commits como el *destino* al que enviarlos.", "", "Podrías estar preguntándote ¿Y si quisiéramos que el origen y el destino fuesen distintos? ¿Si quisieras hacer push de los commits de la rama local `foo` a la rama `bar` del remote?", "", @@ -288,7 +288,7 @@ exports.level = { "afterMarkdowns": [ "¡Vaya! Ese commando es bastante rompedor, pero tiene sentido: git resolvió `foo^` a una ubicación, subió cualquier commit de ahí que aún no estuviera en el remoto, y luego actualizó el destino." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -301,7 +301,7 @@ exports.level = { "afterMarkdowns": [ "Genial, simplemente fluye :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -325,7 +325,7 @@ exports.level = { "markdowns": [ "## Detalhes sobre ``", "", - "Lembra que na lição anterior especificamos `master` como o parâmetro lugar para o git push? Lá definimos tanto a *origem* de onde os commits viriam quanto o *destino* para onde os commits foram.", + "Lembra que na lição anterior especificamos `main` como o parâmetro lugar para o git push? Lá definimos tanto a *origem* de onde os commits viriam quanto o *destino* para onde os commits foram.", "", "Você pode estar se perguntando -- e se eu quisesse que a origem e o destino fossem diferentes? E se eu quisesse enviar commits do ramo local `foo` para o ramo remoto `bar`?", "", @@ -358,7 +358,7 @@ exports.level = { "afterMarkdowns": [ "Uau! Esse comando é bastante viajado, mas ele faz sentido -- o Git entendeu a referência `foo^`, enviou quaisquer commits que não estavam presentes no repositório remoto, e então atualizou o destino." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -371,7 +371,7 @@ exports.level = { "afterMarkdowns": [ "Doce, isso é muito bom :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -395,7 +395,7 @@ exports.level = { "markdowns": [ "## Detalles sobre o parámetro ``", "", - "Lémbrate da lección anterior cando especificamos `master` como o parámetro lugar de git push, especificamos tanto a *orixe* do que sacar os commits como o *destino* ó que envialos.", + "Lémbrate da lección anterior cando especificamos `main` como o parámetro lugar de git push, especificamos tanto a *orixe* do que sacar os commits como o *destino* ó que envialos.", "", "Poderías estar a preguntarte ¿E se quixéramos que a orixe e o destino sexan distintos? ¿Se quixéramos empurrar os commits da rama local `foo` á rama `bar` do remoto?", "", @@ -428,7 +428,7 @@ exports.level = { "afterMarkdowns": [ "¡Woow! Ese commando é unha tolemia, pero ten sentido: git resolveu `foo^` a unha ubicación, subiu calquera commit de ahí que aún non estivera no remoto, e logo actualizou o destino." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -441,7 +441,7 @@ exports.level = { "afterMarkdowns": [ "Xenial, sinxelamente tira para adiante." ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -465,7 +465,7 @@ exports.level = { "markdowns": [ "## `` 這個參數的細節", "", - "回想一下,我們在之前的課程中提到,當我們用 `git push` 並且把 `master` 當作 `` 這個參數的時候,我們就相當於告訴 git 我們的所要更新的 commit 要*從哪裡來*(source) 並且要 *往哪裡去*(destination)。", + "回想一下,我們在之前的課程中提到,當我們用 `git push` 並且把 `main` 當作 `` 這個參數的時候,我們就相當於告訴 git 我們的所要更新的 commit 要*從哪裡來*(source) 並且要 *往哪裡去*(destination)。", "", "你可能會很好奇,當我們的 source 以及 destination 是不同的時候,應該怎麼做?當你想要 push `foo` branch 上面的 commit 到 remote 的 `bar` branch 的時候,應該怎麼做?", "", @@ -496,9 +496,9 @@ exports.level = { "記住, `source` 表示任意可以被 git 辨識的位置:" ], "afterMarkdowns": [ - "哇!這實在是一個很花俏的指令但是確很合理,git 把 `foo^` 解讀成一個位置,並且 push 該位置的 commit 到目前 remote 的 master branch。" + "哇!這實在是一個很花俏的指令但是確很合理,git 把 `foo^` 解讀成一個位置,並且 push 該位置的 commit 到目前 remote 的 main branch。" ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -511,7 +511,7 @@ exports.level = { "afterMarkdowns": [ "太讚了,實在非常地簡單:D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -535,7 +535,7 @@ exports.level = { "markdowns": [ "## ``参数详解", "", - "还记得之前课程说的吧,当为 git push 指定 place 参数为 `master` 时,我们同时指定了提交记录的来源和去向。", + "还记得之前课程说的吧,当为 git push 指定 place 参数为 `main` 时,我们同时指定了提交记录的来源和去向。", "", "你可能想问 —— 如果来源和去向分支的名称不同呢?比如你想把本地的 `foo` 分支推送到远程仓库中的 `bar` 分支。", "", @@ -566,9 +566,9 @@ exports.level = { "记住,`source` 可以是任何 Git 能识别的位置:" ], "afterMarkdowns": [ - "这是个另人困惑的命令,但是它确实是可以运行的 —— Git 将 `foo^` 解析为一个位置,上传所有未被包含到远程仓库里 `master` 分支中的提交记录。" + "这是个另人困惑的命令,但是它确实是可以运行的 —— Git 将 `foo^` 解析为一个位置,上传所有未被包含到远程仓库里 `main` 分支中的提交记录。" ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -581,7 +581,7 @@ exports.level = { "afterMarkdowns": [ "很赞吧!它是不是很聪明?! :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -605,11 +605,11 @@ exports.level = { "markdowns": [ "## Details zum ``-Parameter", "", - "Du erinnerst dich von dem vorherigen Level, dass, als wir `master` als \"Ort\" beim `git push` angegeben haben, daraus sowohl die *Quelle* als auch das *Ziel* für die Operation abgeleitet wurden.", + "Du erinnerst dich von dem vorherigen Level, dass, als wir `main` als \"Ort\" beim `git push` angegeben haben, daraus sowohl die *Quelle* als auch das *Ziel* für die Operation abgeleitet wurden.", "", - "Daher fragst du dich vielleicht -- was wenn wir möchten, dass Quelle und Ziel anders sind? Was wenn du Commits von einem lokalen Branch `foo` in den Branch `bar` auf einem Server schieben möchtest?", + "Daher fragst du dich vielleicht -- was wenn wir möchten, dass Quelle und Ziel verschieden voneinander sind? Was wenn du Commits von einem lokalen Branch `foo` in den Branch `bar` auf einem Server schieben möchtest?", "", - "Tja, leider ist das in Git unmöglich .... ein Scherz! Natürlich ist das möglich. Git besitzt tonnenweise Flexibilität (eher zuviel, als zuwenig).", + "Tja, leider ist das in Git unmöglich .... ein Scherz! Natürlich ist das möglich. Git besitzt tonnenweise Flexibilität (eher zu viel, als zu wenig).", "", "Und gleich sehen wir, wie das geht ..." ] @@ -623,9 +623,9 @@ exports.level = { "", "`git push origin :`", "", - "Das wird üblicherweise Refspec (Referenz-Spezifikation) genannt. Refspec ist nur ein anderer Name für einen Ort, mit dem Git etwas anfangen kann (wie mit Branch `foo` oder mit `HEAD~2`)", + "Das wird üblicherweise Refspec (Referenz-Spezifikation) genannt. Refspec ist nur ein anderer Name für einen Ort, mit dem Git etwas anfangen kann (wie mit Branch `foo` oder mit `HEAD~2`).", "", - "Sobald du Quelle und Ziel separat angibt, kannst du flexibel und präzise entfernte Branches ansteuern. Hier eine Demo:" + "Sobald du Quelle und Ziel separat angibst, kannst du flexibel und präzise entfernte Branches ansteuern. Hier eine Demo:" ] } }, @@ -636,9 +636,9 @@ exports.level = { "Vergiss nicht, `Quelle` ist jeder mögliche Ort, mit dem Git etwas anfangen kann:" ], "afterMarkdowns": [ - "Boah! Das ist ein ziemlich abgefahrener Befehl gewesen, aber er ist sinnvoll -- Git hat `foo^` zu einem Commit aufgelöst, alle Commits die bis zu diesem einschließich noch nicht auf dem Server waren hochgeladen und dann dort das Ziel aktualisiert." + "Boah! Das ist ein ziemlich abgefahrener Befehl gewesen, aber er ist sinnvoll -- Git hat `foo^` zu einem Commit aufgelöst, alle Commits, die bis zu einschließlich diesem noch nicht auf dem Server waren, hochgeladen und dann dort das Ziel aktualisiert." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -651,7 +651,7 @@ exports.level = { "afterMarkdowns": [ "Schick, das ist ziemlich praktisch. :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -659,7 +659,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Um dieses Level zu schaffen versuch den dargestellten Zielzustand zu erreichen und vergiss nicht das Format:", + "Um dieses Level zu schaffen versuche den dargestellten Zielzustand zu erreichen und vergiss nicht das Format:", "", "`:`" ] @@ -675,7 +675,7 @@ exports.level = { "markdowns": [ "## Подробности аргумента `<пункт назначения>`", "", - "Помните, когда в прошлом занятии мы указали в качестве аргумента ветку `master` для команды git push, мы указали совместно *источник*, откуда будут приходить коммиты, и *пункт назначения (получатель)*, куда коммиты будут уходить.", + "Помните, когда в прошлом занятии мы указали в качестве аргумента ветку `main` для команды git push, мы указали совместно *источник*, откуда будут приходить коммиты, и *пункт назначения (получатель)*, куда коммиты будут уходить.", "", "Однако, вы, наверное, задаётесь вопросом - а что, если я хочу, чтобы мои источник и получатель коммитов были различными? Что, если мы хотим запушить коммиты из локальной ветки `foo` в ветку `bar` на удалённом репозитории?", "", @@ -708,7 +708,7 @@ exports.level = { "afterMarkdowns": [ "Вау! Это довольно нетривиальная команда, однако она имеет смысл - git видит в `foo^` не что иное, как местоположение, закачивает все коммиты, которые не присутствуют на удалённом репозитории, и затем обновляет получателя." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -721,7 +721,7 @@ exports.level = { "afterMarkdowns": [ "Класс! Довольно легко! :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -746,7 +746,7 @@ exports.level = { "## `` 인자에 대한 세부사항들", "", "", - "기억하세요? 이전 강의에서 우리는 `master`를 커밋의 근원이되는 *source*와 목적지가 되는 *destination*으로 명령어의 인자로 넣어줌으로써 지정해줬습니다.", + "기억하세요? 이전 강의에서 우리는 `main`를 커밋의 근원이되는 *source*와 목적지가 되는 *destination*으로 명령어의 인자로 넣어줌으로써 지정해줬습니다.", "여러분은 이런 생각이 들 수 있어요 -- 내가 source와 destination이 다르길 원하면 어떻게 해야되지? 로컬의 `foo` 브랜치에서 원격의 `bar` 브랜치로 커밋을 push하고 싶으면 어떻게 해야 되지?", "", "사실 git에서는 그게 불가능합니다... 네 농담이고! 당연 가능합니다 :)... git의 어마무시하게 유연합니다(지나칠정도로요).", @@ -778,7 +778,7 @@ exports.level = { "afterMarkdowns": [ "워 뭔가 잘 안쓸것 같은 명령이지만 잘 됩니다 -- git은 `foo^`의 위치를 알아내서 원격 저장소에 아직 반영되지 않은 커밋들을 업로드하고 destination 브랜치를 갱신했습니다." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -791,7 +791,7 @@ exports.level = { "afterMarkdowns": [ "좋네요, 번지르르 삐까뻔쩍 :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -815,7 +815,7 @@ exports.level = { "markdowns": [ "## Детальніше про аргумент ``", "", - "З попереднього уроку нам відомо, що коли ми вказуємо `master` в якості аргумента place для git push, ми задаємо і гілку, *з якої* брати нові коміти, і гілку *до якої* їх буде перенесено.", + "З попереднього уроку нам відомо, що коли ми вказуємо `main` в якості аргумента place для git push, ми задаємо і гілку, *з якої* брати нові коміти, і гілку *до якої* їх буде перенесено.", "", "Тут ти можеш задуматись, а чи можуть гілки, звідки беремо, і куди переносимо, бути різними? Що, коли потрібно коміти з локальної гілки `foo` перенести у віддалену гілку `bar`?", "", @@ -848,7 +848,7 @@ exports.level = { "afterMarkdowns": [ "Овва! Це доволі незвична команда, але тут все має сенс -- git, знаючи куди вказує `foo^`, завантажив на віддалену сторону ще відсутні там коміти і оновив місце призначення." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -861,7 +861,7 @@ exports.level = { "afterMarkdowns": [ "Спритно, еге-ж? :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -885,7 +885,7 @@ exports.level = { "markdowns": [ "## Chi tiết về tham số ``", "", - "Nhớ lại học trước, khi chỉ định tham số `` là `master` cho lệnh `git push`, ta cũng đã chỉ định nguồn và đích cho các commit.", + "Nhớ lại học trước, khi chỉ định tham số `` là `main` cho lệnh `git push`, ta cũng đã chỉ định nguồn và đích cho các commit.", "", "Có thể bạn sẽ thắng mắc -- Nếu như ta muốn nguồn và đích khác đi thì sao? Nếu như ta muốn đẩy commit từ nhánh cục bộ `foo` lên nhánh từ xa `bar` thì sao?", "", @@ -918,7 +918,7 @@ exports.level = { "afterMarkdowns": [ "Wao! Lệnh này khá phức tạp, nhưng mà hợp lý -- git diễn giải `foo^` thành một vị trí, tải lên tất cả các commit từ đó trở về trước mà chưa có trên nhánh đích rồi cập nhật nó." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -931,7 +931,7 @@ exports.level = { "afterMarkdowns": [ "Tuyệt vời, thấy git thú vị không :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, @@ -955,7 +955,7 @@ exports.level = { "markdowns": [ "## Podrobnosti `` argumenta", "", - "Spomni se prejšnje lekcije, kjer smo določili `master` kot place argument za git push, določili smo *izvor* iz kje bodo commiti prišli in *destinacijo*, kamor bodo commiti odšli.", + "Spomni se prejšnje lekcije, kjer smo določili `main` kot place argument za git push, določili smo *izvor* iz kje bodo commiti prišli in *destinacijo*, kamor bodo commiti odšli.", "", "Morda se sprašuješ -- kaj če želimo, da sta izvor in destinacija različna? Kaj če želiš pushati commite iz lokalnega `foo` brancha na oddaljen `bar` branch?", "", @@ -988,7 +988,7 @@ exports.level = { "afterMarkdowns": [ "Woah! To je kar zanimiv ukaz, ampak ima smisel -- git je razrešil `foo^` v lokacijo, naložil commite, ki še niso bili prisotni v oddaljenem repotu in nato posodobil destinacijo." ], - "command": "git push origin foo^:master", + "command": "git push origin foo^:main", "beforeCommand": "git clone; go -b foo; git commit; git commit" } }, @@ -1001,7 +1001,7 @@ exports.level = { "afterMarkdowns": [ "Lepa, to je kar kul :D" ], - "command": "git push origin master:newBranch", + "command": "git push origin main:newBranch", "beforeCommand": "git clone; git commit" } }, diff --git a/src/levels/remote/pushManyFeatures.js b/src/levels/remote/pushManyFeatures.js index a1e62ec1..a63a7366 100644 --- a/src/levels/remote/pushManyFeatures.js +++ b/src/levels/remote/pushManyFeatures.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C7%27%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3A%22o/master%22%2C%22localBranchesThatTrackThis%22%3Anull%7D%2C%22o/master%22%3A%7B%22target%22%3A%22C7%27%22%2C%22id%22%3A%22o/master%22%2C%22remoteTrackingBranchID%22%3Anull%2C%22localBranchesThatTrackThis%22%3A%5B%22master%22%5D%7D%2C%22side1%22%3A%7B%22target%22%3A%22C2%27%22%2C%22id%22%3A%22side1%22%2C%22remoteTrackingBranchID%22%3Anull%2C%22localBranchesThatTrackThis%22%3Anull%7D%2C%22side2%22%3A%7B%22target%22%3A%22C4%27%22%2C%22id%22%3A%22side2%22%2C%22remoteTrackingBranchID%22%3Anull%2C%22localBranchesThatTrackThis%22%3Anull%7D%2C%22side3%22%3A%7B%22target%22%3A%22C7%27%22%2C%22id%22%3A%22side3%22%2C%22remoteTrackingBranchID%22%3Anull%2C%22localBranchesThatTrackThis%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C4%22%3A%7B%22parents%22%3A%5B%22C3%22%5D%2C%22id%22%3A%22C4%22%7D%2C%22C5%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C5%22%7D%2C%22C6%22%3A%7B%22parents%22%3A%5B%22C5%22%5D%2C%22id%22%3A%22C6%22%7D%2C%22C7%22%3A%7B%22parents%22%3A%5B%22C6%22%5D%2C%22id%22%3A%22C7%22%7D%2C%22C8%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C8%22%7D%2C%22C2%27%22%3A%7B%22parents%22%3A%5B%22C8%22%5D%2C%22id%22%3A%22C2%27%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%27%22%5D%2C%22id%22%3A%22C3%27%22%7D%2C%22C4%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C4%27%22%7D%2C%22C5%27%22%3A%7B%22parents%22%3A%5B%22C4%27%22%5D%2C%22id%22%3A%22C5%27%22%7D%2C%22C6%27%22%3A%7B%22parents%22%3A%5B%22C5%27%22%5D%2C%22id%22%3A%22C6%27%22%7D%2C%22C7%27%22%3A%7B%22parents%22%3A%5B%22C6%27%22%5D%2C%22id%22%3A%22C7%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%2C%22originTree%22%3A%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C7%27%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3Anull%2C%22localBranchesThatTrackThis%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C8%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C8%22%7D%2C%22C2%27%22%3A%7B%22parents%22%3A%5B%22C8%22%5D%2C%22id%22%3A%22C2%27%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%27%22%5D%2C%22id%22%3A%22C3%27%22%7D%2C%22C4%27%22%3A%7B%22parents%22%3A%5B%22C3%27%22%5D%2C%22id%22%3A%22C4%27%22%7D%2C%22C5%27%22%3A%7B%22parents%22%3A%5B%22C4%27%22%5D%2C%22id%22%3A%22C5%27%22%7D%2C%22C6%27%22%3A%7B%22parents%22%3A%5B%22C5%27%22%5D%2C%22id%22%3A%22C6%27%22%7D%2C%22C7%27%22%3A%7B%22parents%22%3A%5B%22C6%27%22%5D%2C%22id%22%3A%22C7%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D%7D", - "solutionCommand": "git fetch;git rebase o/master side1;git rebase side1 side2;git rebase side2 side3;git rebase side3 master;git push", + "solutionCommand": "git fetch;git rebase o/main side1;git rebase side1 side2;git rebase side2 side3;git rebase side3 main;git push", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\",\"localBranchesThatTrackThis\":null},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":[\"master\"]},\"side1\":{\"target\":\"C2\",\"id\":\"side1\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null},\"side2\":{\"target\":\"C4\",\"id\":\"side2\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null},\"side3\":{\"target\":\"C7\",\"id\":\"side3\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C1\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"}},\"HEAD\":{\"target\":\"side3\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C8\",\"id\":\"master\",\"remoteTrackingBranchID\":null,\"localBranchesThatTrackThis\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C8\":{\"parents\":[\"C1\"],\"id\":\"C8\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "hint": { "en_US": "Remember you can always use the undo or reset commands", @@ -22,7 +22,7 @@ exports.level = { "name": { "en_US": "Push Master!", "zh_CN": "推送主分支", - "zh_TW": "push master!", + "zh_TW": "push main!", "es_AR": "¡Push Master!", "es_ES": "¡Push Master!", "pt_BR": "Push Master!", @@ -48,13 +48,13 @@ exports.level = { "", "Now that you're comfortable with fetching, pulling, and pushing, let's put these skills to the test with a new workflow.", "", - "It's common for developers on big projects to do all their work on feature branches (off of `master`) and then integrate that work only once it's ready. This is similar to the previous lesson (where side branches get pushed to the remote), but here we introduce one more step.", + "It's common for developers on big projects to do all their work on feature branches (off of `main`) and then integrate that work only once it's ready. This is similar to the previous lesson (where side branches get pushed to the remote), but here we introduce one more step.", "", - "Some developers only push and pull when on the `master` branch -- that way `master` always stays updated to what is on the remote (`o/master`).", + "Some developers only push and pull when on the `main` branch -- that way `main` always stays updated to what is on the remote (`o/main`).", "", "So for this workflow we combine two things:", "", - "* integrating feature branch work onto `master`, and", + "* integrating feature branch work onto `main`, and", "* pushing and pulling from the remote" ] } @@ -63,7 +63,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Let's see a refresher real quick of how to update `master` and push work." + "Let's see a refresher real quick of how to update `main` and push work." ], "afterMarkdowns": [ "We executed two commands here that:", @@ -101,13 +101,13 @@ exports.level = { "", "Maintenant que vous êtes habitué à fetch, pull et push, mettons ces compétences à profit avec une autre approche de travail.", "", - "Il est commun pour les développeurs de gros projets de faire tout leur travail dans des \"feature branches\" dédiées à une fonctionnalité (en dehors de `master`) et d'intégrer ce travail au reste seulement une fois qu'il est prêt. C'est similaire à la leçon précédente (où les branches secondaires étaient pushées sur le dépôt distant), mais ici nous introduisons une étape supplémentaire.", + "Il est commun pour les développeurs de gros projets de faire tout leur travail dans des \"feature branches\" dédiées à une fonctionnalité (en dehors de `main`) et d'intégrer ce travail au reste seulement une fois qu'il est prêt. C'est similaire à la leçon précédente (où les branches secondaires étaient pushées sur le dépôt distant), mais ici nous introduisons une étape supplémentaire.", "", - "Certains développeurs utilisent la méthode \"push puis pull\" uniquement sur la branche `master` : de cette manière `master` reste toujours à jour avec ce qu'il y a sur le dépôt distant (`o/master`).", + "Certains développeurs utilisent la méthode \"push puis pull\" uniquement sur la branche `main` : de cette manière `main` reste toujours à jour avec ce qu'il y a sur le dépôt distant (`o/main`).", "", "Cette approche combine donc deux choses :", "", - "* intégrer le travail présent depuis la feature branch (la fonctionnalité développée) vers `master`, puis", + "* intégrer le travail présent depuis la feature branch (la fonctionnalité développée) vers `main`, puis", "* pusher et puller sur le dépôt distant." ] } @@ -116,7 +116,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Rappelons-nous rapidement comment mettre à jour `master` et envoyer (push) le travail." + "Rappelons-nous rapidement comment mettre à jour `main` et envoyer (push) le travail." ], "afterMarkdowns": [ "Nous exécutons ici deux commandes :", @@ -154,13 +154,13 @@ exports.level = { "", "Ahora que estás cómodo fetcheando, pulleando y pusheando, pongamos a prueba estas habilidades con un nuevo flujo de trabajo.", "", - "Es bastante común que los desarrolladores en los grandes proyectos trabajen sobre ramas específicas para cada tarea (feature branches) basadas en `master`, y que las integren sólo cuando están listas. Esto es similar a la lección anterior, en que pusheabamos las ramas periféricas al remoto, pero acá tenemos un paso más.", + "Es bastante común que los desarrolladores en los grandes proyectos trabajen sobre ramas específicas para cada tarea (feature branches) basadas en `main`, y que las integren sólo cuando están listas. Esto es similar a la lección anterior, en que pusheabamos las ramas periféricas al remoto, pero acá tenemos un paso más.", "", - "Algunos desarrolladores sólo pushean y pullean cuando están en `master`: de ese modo, `master` siempre se mantiene actualizado con el remoto (`o/master`).", + "Algunos desarrolladores sólo pushean y pullean cuando están en `main`: de ese modo, `main` siempre se mantiene actualizado con el remoto (`o/main`).", "", "Entonces, en este flujo de trabajo combinamos dos cosas:", "", - "* integramos el trabajo de las ramas específicas a `master`, y", + "* integramos el trabajo de las ramas específicas a `main`, y", "* pusheamos y pulleamos del remoto" ] } @@ -169,7 +169,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Refresquemos un poco cómo actualizar `master` y pushear nuestro trabajo." + "Refresquemos un poco cómo actualizar `main` y pushear nuestro trabajo." ], "afterMarkdowns": [ "Acá ejecutamos dos comandos que:", @@ -207,13 +207,13 @@ exports.level = { "", "Ahora que estás cómodo fetcheando, pulleando y pusheando, pongamos a prueba estas habilidades con un nuevo flujo de trabajo.", "", - "Es bastante común que los desarrolladores en los grandes proyectos trabajen sobre ramas específicas para cada tarea (feature branches o ramas de trabajo) basadas en `master`, y que las integren sólo cuando estén listas. Esto es similar a la lección anterior, en la que hicimos push de las ramas periféricas al remoto, pero aquí tenemos un paso más.", + "Es bastante común que los desarrolladores en los grandes proyectos trabajen sobre ramas específicas para cada tarea (feature branches o ramas de trabajo) basadas en `main`, y que las integren sólo cuando estén listas. Esto es similar a la lección anterior, en la que hicimos push de las ramas periféricas al remoto, pero aquí tenemos un paso más.", "", - "Algunos desarrolladores sólo pushean y pullean cuando están en `master`: de ese modo, `master` siempre se mantiene actualizado con el remoto (`o/master`).", + "Algunos desarrolladores sólo pushean y pullean cuando están en `main`: de ese modo, `main` siempre se mantiene actualizado con el remoto (`o/main`).", "", "Entonces, en este flujo de trabajo combinamos dos cosas:", "", - "* integramos el trabajo de las ramas específicas a `master`, y", + "* integramos el trabajo de las ramas específicas a `main`, y", "* pusheamos y pulleamos del remoto" ] } @@ -222,7 +222,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Refresquemos un poco cómo actualizar `master` y pushear nuestro trabajo." + "Refresquemos un poco cómo actualizar `main` y pushear nuestro trabajo." ], "afterMarkdowns": [ "Ahora ejecutamos dos comandos que:", @@ -260,13 +260,13 @@ exports.level = { "", "Agora que você está confortável com fetch, pull e push, vamos colocar essas habilidades em teste com um novo fluxo de trabalho.", "", - "É comum para desenvolvedores de grande projetos fazer todo o trabalho em ramos de funcionalidades (fora do `master`) e então integrar esse trabalho uma única vez quando ele estiver pronto. Isso é similar à lição anterior (onde ramos laterais eram enviados ao repositório remoto), mas introduzimos mais um passo.", + "É comum para desenvolvedores de grande projetos fazer todo o trabalho em ramos de funcionalidades (fora do `main`) e então integrar esse trabalho uma única vez quando ele estiver pronto. Isso é similar à lição anterior (onde ramos laterais eram enviados ao repositório remoto), mas introduzimos mais um passo.", "", - "Alguns desenvolvedores só fazem push e pull quando no ramo `master` -- desta forma o `master` sempre se mantém atualizado com aquilo que está no ramo remoto (`o/master`).", + "Alguns desenvolvedores só fazem push e pull quando no ramo `main` -- desta forma o `main` sempre se mantém atualizado com aquilo que está no ramo remoto (`o/main`).", "", "Então, para este fluxo de trabalho, combinaremos duas coisas:", "", - "* Integrar ramos de funcionalidade no `master`, e", + "* Integrar ramos de funcionalidade no `main`, e", "* Realizar push e pull do repositório remoto" ] } @@ -275,7 +275,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Vamos refrescar a memória sobre como atualizar o `master` e enviar trabalho." + "Vamos refrescar a memória sobre como atualizar o `main` e enviar trabalho." ], "afterMarkdowns": [ "Nós executamos dois comandos aqui que:", @@ -315,11 +315,11 @@ exports.level = { "", "É bastante común que os desenvolvedores nos grandes proxectos traballen sobre ramas específicas para cada tarefa (feature branches) baseadas en `mater`, e que as integren só cando están preparadas. Esto é similar á lección anterior, na que empurrábamos as ramas periféricas ó remoto, pero acá temos un paso máis.", "", - "Algúns desenvovledores só empurran e descargan cando están en `master`: de ese xeito, `master` sempre mantén actualizado o seu estado co remoto (`o/master`).", + "Algúns desenvovledores só empurran e descargan cando están en `main`: de ese xeito, `main` sempre mantén actualizado o seu estado co remoto (`o/main`).", "", "Entón, neste fluxo de traballo combinamos dúas cousas:", "", - "* integramos o traballo das ramas específicas a `master`, e", + "* integramos o traballo das ramas específicas a `main`, e", "* empurramos e turramos do remoto" ] } @@ -328,7 +328,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Refresquemos un pouco cómo actualizar `master` e empurrar o noso traballo." + "Refresquemos un pouco cómo actualizar `main` e empurrar o noso traballo." ], "afterMarkdowns": [ "Agora executamos dous comandos que:", @@ -366,13 +366,13 @@ exports.level = { "", "現在你已經很熟悉 fetch、pull 以及 push,讓我們來針對一個新的問題來應用這些技巧。", "", - "在一個大型的專案裡面,程式設計師經常會在 feature branch(有別於 master branch)上面做開發,之後等開發完之後,在一次 merge 回去。這跟之前的課程是很類似的(其它的 branch 被 push 到 remote),但是現在我們還要再多介紹一個步驟。", + "在一個大型的專案裡面,程式設計師經常會在 feature branch(有別於 main branch)上面做開發,之後等開發完之後,在一次 merge 回去。這跟之前的課程是很類似的(其它的 branch 被 push 到 remote),但是現在我們還要再多介紹一個步驟。", "", - "某些程式設計師只針對 `master` branch 進行 push 或者是 pull。這樣子的話 `master` 一直都保持跟 remote (`o/master`) 同步。", + "某些程式設計師只針對 `main` branch 進行 push 或者是 pull。這樣子的話 `main` 一直都保持跟 remote (`o/main`) 同步。", "", "所以針對這個問題我們結合了兩件事情:", "", - "* merge feature branch 到`master` branch,並且", + "* merge feature branch 到`main` branch,並且", "* push remote 以及 pull remote" ] } @@ -381,7 +381,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "讓我們馬上來實際看一下如何更新 `master` 並且 push 到 remote。" + "讓我們馬上來實際看一下如何更新 `main` 並且 push 到 remote。" ], "afterMarkdowns": [ "我們在這裡執行兩個指令:", @@ -417,15 +417,15 @@ exports.level = { "markdowns": [ "## Einen Feature Branch reintegrieren", "", - "Nun da du mit `fetch`, `pull`, und `push` vertraut bist sollten wir diese Fähigkeiten mit einem neuen Arbeitsablauf auf die Probe stellen.", + "Nun da du mit `fetch`, `pull`, und `push` vertraut bist, sollten wir diese Fähigkeiten mit einem neuen Arbeitsablauf auf die Probe stellen.", "", - "Für Entwickler in großen Projekten ist es nicht ungewöhnlich ihre Arbeit in Feature Branches (von `master` abgeleitet) zu erledigen und dann diese Inhalte zu reintegrieren, wenn sie fertig sind. Das ist ähnlich dem vorherigen Level (in dem ein Feature Branch auf den Server geschoben wird), nur mit einem zusätzlichen Schritt.", + "Für Entwickler in großen Projekten ist es nicht ungewöhnlich ihre Arbeit in Feature Branches (von `main` abgeleitet) zu erledigen und dann diese Inhalte zu reintegrieren, wenn sie fertig sind. Das ist ähnlich dem vorherigen Level (in dem ein Feature Branch auf den Server geschoben wird), nur mit einem zusätzlichen Schritt.", "", - "Einige Entwickler pushen und pullen nur auf dem `master` -- dadurch ist `master` immer aktuell zu seinem Gegenstück auf dem Server (`o/master`).", + "Einige Entwickler pushen und pullen nur auf dem `main` -- dadurch ist `main` immer aktuell zu seinem Gegenstück auf dem Server (`o/main`).", "", "Für diesen Ablauf werden wir also zwei Dinge kombinieren:", "", - "* einen Feature Branch in `master` reintegrieren und", + "* einen Feature Branch in `main` reintegrieren und", "* vom entfernten Server pushen und pullen." ] } @@ -434,7 +434,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Schauen wir uns zur Erinnerung schnell noch mal an wie man den `master` aktualisiert und seine Commits pusht." + "Schauen wir uns zur Erinnerung schnell noch mal an, wie man den `main` aktualisiert und seine Commits pusht." ], "afterMarkdowns": [ "Wir haben hier zwei Befehle ausgeführt, die:", @@ -472,13 +472,13 @@ exports.level = { "", "既然你应该很熟悉 fetch、pull、push 了,现在我们要通过一个新的工作流来测试你的这些技能。", "", - "在大型项目中开发人员通常会在(从 `master` 上分出来的)特性分支上工作,工作完成后只做一次集成。这跟前面课程的描述很相像(把 side 分支推送到远程仓库),不过本节我们会深入一些.", + "在大型项目中开发人员通常会在(从 `main` 上分出来的)特性分支上工作,工作完成后只做一次集成。这跟前面课程的描述很相像(把 side 分支推送到远程仓库),不过本节我们会深入一些.", "", - "但是有些开发人员只在 master 上做 push、pull —— 这样的话 master 总是最新的,始终与远程分支 (o/master) 保持一致。", + "但是有些开发人员只在 main 上做 push、pull —— 这样的话 main 总是最新的,始终与远程分支 (o/main) 保持一致。", "", "对于接下来这个工作流,我们集成了两个步骤:", "", - "* 将特性分支集成到 `master` 上", + "* 将特性分支集成到 `main` 上", "* 推送并更新远程分支" ] } @@ -487,7 +487,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "让我们看看如何快速的更新 `master` 分支并推送到远程。" + "让我们看看如何快速的更新 `main` 分支并推送到远程。" ], "afterMarkdowns": [ "我们执行了两个命令: ", @@ -525,13 +525,13 @@ exports.level = { "", "Теперь, когда вы умело владеете командами fetch, pull и push, давайте применим эти навыки в сочетании с новым рабочим процессом (он же workflow).", "", - "Среди разработчиков, вовлечённых в большой проект, довольно распространённ приём — выполнять всю свою работу в так называемых фича-бранчах (вне `master`). А затем, как только работа выполнена, разработчик интегрирует всё, что было им сделано. Всё это, за исключением одного шага, похоже на предыдущий урок (там, где мы закачивали ветки на удалённый репозиторий)", + "Среди разработчиков, вовлечённых в большой проект, довольно распространённ приём — выполнять всю свою работу в так называемых фича-бранчах (вне `main`). А затем, как только работа выполнена, разработчик интегрирует всё, что было им сделано. Всё это, за исключением одного шага, похоже на предыдущий урок (там, где мы закачивали ветки на удалённый репозиторий)", "", - "Ряд разработчиков делают push и pull лишь на локальную ветку `master` - таким образом ветка `master` всегда синхронизирована с тем, что находится на удалённом репозитории (`o/master`).", + "Ряд разработчиков делают push и pull лишь на локальную ветку `main` - таким образом ветка `main` всегда синхронизирована с тем, что находится на удалённом репозитории (`o/main`).", "", "Для этого рабочего процесса мы совместили две вещи:", "", - "* интеграцию фича-бранчей в `master`", + "* интеграцию фича-бранчей в `main`", "* закачку (push) и скачку (pull) с удалённого репозитория" ] } @@ -540,7 +540,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Давайте быстренько вспомним, как нам обновить `master` и закачать выполненную работу." + "Давайте быстренько вспомним, как нам обновить `main` и закачать выполненную работу." ], "afterMarkdowns": [ "Здесь мы выполнили две команды, которые:", @@ -578,13 +578,13 @@ exports.level = { "", "今や、あなたは`fetch`、`pull`、`push`を十分に使えるようになったでしょうから、そのスキルを新しい作業の流れで試してみましょう。", "", - "大きなプロジェクトの開発者にとって、フィーチャーブランチ(`master`を除く)上で全ての作業を行い、完成したら一度でその作業を統合するというような流れが一般的です。これは前のレッスンの内容(他のブランチからリモートにプッシュされるような状況のところが)に似ていますが、ここではもう一歩踏み込んで解説しましょう。", + "大きなプロジェクトの開発者にとって、フィーチャーブランチ(`main`を除く)上で全ての作業を行い、完成したら一度でその作業を統合するというような流れが一般的です。これは前のレッスンの内容(他のブランチからリモートにプッシュされるような状況のところが)に似ていますが、ここではもう一歩踏み込んで解説しましょう。", "", - "開発者は、`master`ブランチにいるときプッシュとプルしかしません -- `master`は常にリモート(`o/master`)に追従した状態のままにします。", + "開発者は、`main`ブランチにいるときプッシュとプルしかしません -- `main`は常にリモート(`o/main`)に追従した状態のままにします。", "", "この作業の流れでは、私たちは二つのことを組み合わせています:", "", - "* `master`にフィーチャーブランチの作業を統合し、", + "* `main`にフィーチャーブランチの作業を統合し、", "* リモートへの`push`と`pull`を行う" ] } @@ -593,7 +593,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "`master`の更新と作業の反映の方法を手早く復習しましょう。" + "`main`の更新と作業の反映の方法を手早く復習しましょう。" ], "afterMarkdowns": [ "我々はここで二つのコマンドを動かしました:", @@ -631,13 +631,13 @@ exports.level = { "", "이제 여러분은 fetch, pull, push하는데에 익숙해졌을겁니다. 연마한 기술들을 새로운 상황에서 시험 해봅시다.", "", - "개발자들은 주로 큰 프로젝트를 개발할때 작업을 feature 브랜치(=토픽브랜치 / `master`브랜치가 아닌 작업을위해 임시로 만든 브랜치를 말합니다)들에 하고 준비가 되면 그 작업을 통합합니다. 이전 강의와 비슷한 모습인데(사이드 브랜치들을 원격저장소로 push한것), 여기서 한 단계 더 나아가 봅시다. ", + "개발자들은 주로 큰 프로젝트를 개발할때 작업을 feature 브랜치(=토픽브랜치 / `main`브랜치가 아닌 작업을위해 임시로 만든 브랜치를 말합니다)들에 하고 준비가 되면 그 작업을 통합합니다. 이전 강의와 비슷한 모습인데(사이드 브랜치들을 원격저장소로 push한것), 여기서 한 단계 더 나아가 봅시다. ", "", - "어떤 개발자들은 `master` 브랜치에 있을때만 push와 pull을 수행합니다 -- 이렇게하면 `master`는 항상 원격 브랜치 (`o/master`)의 상태와 항상 최신의 상태로 유지될 수 있습니다.", + "어떤 개발자들은 `main` 브랜치에 있을때만 push와 pull을 수행합니다 -- 이렇게하면 `main`는 항상 원격 브랜치 (`o/main`)의 상태와 항상 최신의 상태로 유지될 수 있습니다.", "", "이런 작업흐름은 두가지 작업을 같이하게됩니다 :", "", - "* feature 브랜치의 작업을 master로 통합하는것과", + "* feature 브랜치의 작업을 main 브랜치로 통합하는것과", "* 원격저장소에서 push하고 pull하는 작업입니다" ] } @@ -646,7 +646,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "다음을 보고 `master`를 갱신하고 작업을 push하는 방법을 다시 떠올려봅시다." + "다음을 보고 `main`를 갱신하고 작업을 push하는 방법을 다시 떠올려봅시다." ], "afterMarkdowns": [ "여기서 우리는 두개의 명령어를 실행 했습니다 :", @@ -684,13 +684,13 @@ exports.level = { "", "Тепер, коли ти вже впевнено володієш засобами `pull` та `push`, час перевірити ці знання в новому процесі.", "", - "Зазвичай розробники працюють над якимось фічами в окремій гілці (не в `master`), а потім, коли роботу закінчено, інтегрують її. Це схоже на попередній урок (де окремі гілки пушили у віддалений репозиторій), але тут буде ще один додатковий крок.", + "Зазвичай розробники працюють над якимось фічами в окремій гілці (не в `main`), а потім, коли роботу закінчено, інтегрують її. Це схоже на попередній урок (де окремі гілки пушили у віддалений репозиторій), але тут буде ще один додатковий крок.", "", - "Деякі розробники виконують push і pull лише в гілці `master` -- тож `master` завжди буде актуальним і синхронізованим з віддаленою гілкою (`o/master`).", + "Деякі розробники виконують push і pull лише в гілці `main` -- тож `main` завжди буде актуальним і синхронізованим з віддаленою гілкою (`o/main`).", "", "Отже для цього процесу ми об'єднуємо дві речі:", "", - "* інтеграцію гілки з фічею в `master`, і", + "* інтеграцію гілки з фічею в `main`, і", "* пул та пуш для синхронізації з віддаленим репозиторієм" ] } @@ -699,7 +699,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Пригадаймо коротко як оновити `master` і запушити свої зміни." + "Пригадаймо коротко як оновити `main` і запушити свої зміни." ], "afterMarkdowns": [ "Ми виконали дві команди, які:", @@ -737,13 +737,13 @@ exports.level = { "", "Giờ thì bạn đã quen thuộc với tìm nạp, kéo và đẩy, bây giờ chúng tôi sẽ kiểm tra kỹ năng của bạn với một quy trình làm việc mới.", "", - "Trong các dự án lớn, các nhà phát triển thường làm việc trên các nhánh tính năng (được phân nhánh từ `master`) và chỉ thực hiện tích hợp sau khi công việc hoàn thành. Điều này tương tự như mô tả trong bài học trước (đẩy nhánh bên sang kho lưu trữ từ xa), nhưng chúng ta sẽ đi sâu hơn một chút trong phần này.", + "Trong các dự án lớn, các nhà phát triển thường làm việc trên các nhánh tính năng (được phân nhánh từ `main`) và chỉ thực hiện tích hợp sau khi công việc hoàn thành. Điều này tương tự như mô tả trong bài học trước (đẩy nhánh bên sang kho lưu trữ từ xa), nhưng chúng ta sẽ đi sâu hơn một chút trong phần này.", "", - "Một vài nhà phát triển chỉ thực hiện đẩy và kéo khi ở trên nhánh `master` -- như vậy thì nhánh `master` luôn luôn được cập nhật với nhánh từ xa (`o/master`).", + "Một vài nhà phát triển chỉ thực hiện đẩy và kéo khi ở trên nhánh `main` -- như vậy thì nhánh `main` luôn luôn được cập nhật với nhánh từ xa (`o/main`).", "", "Vậy nên với quy trình làm việc này chúng tôi đã kết hợp 2 việc:", "", - "* tích hợp nhánh chức năng lên nhánh `master`, và", + "* tích hợp nhánh chức năng lên nhánh `main`, và", "* đẩy và kéo từ nhánh từ xa" ] } @@ -752,7 +752,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Hãy xem qua cách cập nhật nhánh `master` và đẩy lên nhánh từ xa hoạt động như thế nào." + "Hãy xem qua cách cập nhật nhánh `main` và đẩy lên nhánh từ xa hoạt động như thế nào." ], "afterMarkdowns": [ "Ta thực thi 2 câu lệnh làm việc sau:", @@ -790,13 +790,13 @@ exports.level = { "", "Sedaj, ko se počutiš udobno s fetchanjem, pullanjem in pushanjem, preizkusimo ta znanja z novimi primeri.", "", - "Za razvijalce na velikih projektih je pogosto, da delajo vse svoje stvari na funkcionalnih brancih (ne na `master`) in potem vključijo to delo, ko je končano. To je podobno prejšnjim lekcijam (kjer so bili pushani stranski branchi na oddaljen repo), a tu predstavljamo še en korak.", + "Za razvijalce na velikih projektih je pogosto, da delajo vse svoje stvari na funkcionalnih brancih (ne na `main`) in potem vključijo to delo, ko je končano. To je podobno prejšnjim lekcijam (kjer so bili pushani stranski branchi na oddaljen repo), a tu predstavljamo še en korak.", "", - "Nekateri razvijaci samo pushajo in pullajo na `master` branchu -- zato `master` vedno ostane posodobljen z oddaljenim masterjem (`o/master`).", + "Nekateri razvijaci samo pushajo in pullajo na `main` branchu -- zato `main` vedno ostane posodobljen z oddaljenim masterjem (`o/main`).", "", "Torej za tak primer uporabe, združimo dve stvari:", "", - "* vključevanje dela funkcionalnih branchev na `master` in", + "* vključevanje dela funkcionalnih branchev na `main` in", "* pushanje in pullanje iz oddaljenega repota" ] } @@ -805,7 +805,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Osvežimo si na hitro, kako posodobiti `master` in pushati delo." + "Osvežimo si na hitro, kako posodobiti `main` in pushati delo." ], "afterMarkdowns": [ "Izvedli smo dva ukaza, ki:", diff --git a/src/levels/remote/remoteBranches.js b/src/levels/remote/remoteBranches.js index 0e31cb66..097d0fd2 100644 --- a/src/levels/remote/remoteBranches.js +++ b/src/levels/remote/remoteBranches.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "{\"branches\":{\"master\":{\"target\":\"C3\",\"id\":\"master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C1\"],\"id\":\"C4\"}},\"HEAD\":{\"target\":\"C4\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", - "solutionCommand": "git commit;git checkout o/master;git commit", + "solutionCommand": "git commit;git checkout o/main;git commit", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "name": { "en_US": "Remote Branches", @@ -20,21 +20,21 @@ exports.level = { "sl_SI": "Oddaljeni Branchi" }, "hint": { - "en_US": "Pay attention to the ordering -- commit on master first!", - "zh_CN": "注意顺序 —— 先在 master 分支上提交!", - "zh_TW": "注意順序的問題喔!先在 master branch 上面送 commit", - "es_AR": "Prestá atención al orden: ¡commiteá sobre master primero!", - "es_ES": "Presta atención al orden: ¡haz commit sobre master primero!", - "pt_BR": "Preste atenção na ordem: commite no master primeiro!", - "gl" : "Preta atención á orde: fai commit no master primeiro", - "de_DE": "Beachte die Sortierung -- committe zuerst auf dem master!", + "en_US": "Pay attention to the ordering -- commit on main first!", + "zh_CN": "注意顺序 —— 先在 main 分支上提交!", + "zh_TW": "注意順序的問題喔!先在 main branch 上面送 commit", + "es_AR": "Prestá atención al orden: ¡commiteá sobre main primero!", + "es_ES": "Presta atención al orden: ¡haz commit sobre main primero!", + "pt_BR": "Preste atenção na ordem: commite no main primeiro!", + "gl" : "Preta atención á orde: fai commit no main primeiro", + "de_DE": "Beachte die Sortierung -- committe zuerst auf dem main!", "ja" : "順番に注意 -- まずmasterに対してcommitしましょう", - "fr_FR": "Prêtez attention à l'ordre -- les commits sur master d'abord !", - "ru_RU": "Уделяйте внимание очерёдности -- сперва commit на master", - "ko" : "순서에 주의하세요 -- master에서 먼저 커밋하세요!", + "fr_FR": "Prêtez attention à l'ordre -- les commits sur main d'abord !", + "ru_RU": "Уделяйте внимание очерёдности -- сперва commit на main", + "ko" : "순서에 주의하세요: main 브랜치 에서 먼저 커밋하세요!", "uk" : "Звертайте увагу на послідовність -- спочатку коміт в мастер!", - "vi" : "Chú ý đến thứ tự -- commit trên nhánh master trước!", - "sl_SI": "Bodi pozoren na vrsti red -- commitaj najprej na master!" + "vi" : "Chú ý đến thứ tự -- commit trên nhánh main trước!", + "sl_SI": "Bodi pozoren na vrsti red -- commitaj najprej na main!" }, "startDialog": { "en_US": { @@ -47,7 +47,7 @@ exports.level = { "", "Now that you've seen `git clone` in action, let's dive into what actually changed.", "", - "The first thing you may have noticed is that a new branch appeared in our local repository called `o/master`. This type of branch is called a _remote_ branch; remote branches have special properties because they serve a unique purpose.", + "The first thing you may have noticed is that a new branch appeared in our local repository called `o/main`. This type of branch is called a _remote_ branch; remote branches have special properties because they serve a unique purpose.", "", "Remote branches reflect the _state_ of remote repositories (since you last talked to those remote repositories). They help you understand the difference between your local work and what work is public -- a critical step to take before sharing your work with others.", "", @@ -65,7 +65,7 @@ exports.level = { "", "* `/`", "", - "Hence, if you look at a branch named `o/master`, the branch name is `master` and the name of the remote is `o`.", + "Hence, if you look at a branch named `o/main`, the branch name is `main` and the name of the remote is `o`.", "", "Most developers actually name their main remote `origin`, not `o`. This is so common that git actually sets up your remote to be named `origin` when you `git clone` a repository.", "", @@ -82,9 +82,9 @@ exports.level = { "Lets check out a remote branch and see what happens." ], "afterMarkdowns": [ - "As you can see, git put us into detached `HEAD` mode and then did not update `o/master` when we added a new commit. This is because `o/master` will only update when the remote updates." + "As you can see, git put us into detached `HEAD` mode and then did not update `o/main` when we added a new commit. This is because `o/main` will only update when the remote updates." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -92,7 +92,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "To finish this level, commit once off of `master` and once after checking out `o/master`. This will help drive home how remote branches behave differently, and they only update to reflect the state of the remote." + "To finish this level, commit once off of `main` and once after checking out `o/main`. This will help drive home how remote branches behave differently, and they only update to reflect the state of the remote." ] } } @@ -108,7 +108,7 @@ exports.level = { "", "Maintenant que nous avons vu `git clone` en action, plongeons dans ce qui a changé.", "", - "La première chose que vous avez peut-être remarqué est qu'une nouvelle branche est apparue dans votre dépôt local appelée `o/master`. Ce type de branche est appelée une branche _distante_ ; les branches distantes ont des propriétés spécifiques car elles servent à un but précis.", + "La première chose que vous avez peut-être remarqué est qu'une nouvelle branche est apparue dans votre dépôt local appelée `o/main`. Ce type de branche est appelée une branche _distante_ ; les branches distantes ont des propriétés spécifiques car elles servent à un but précis.", "", "Les branches distantes reflètent _l'état_ des dépôts distants (depuis la dernière fois où vous avez parlé avec ceux-ci). Elles vous aident à comprendre les différences entre votre travail et le travail public -- une étape critique à effectuer avant de partager son travail avec les autres.", "", @@ -126,7 +126,7 @@ exports.level = { "", "* `/`", "", - "Donc, si vous regardez une branche nommée `o/master`, le nom de la branche est `master` et le nom du dépôt distant est `o`.", + "Donc, si vous regardez une branche nommée `o/main`, le nom de la branche est `main` et le nom du dépôt distant est `o`.", "", "La plupart des développeurs nomment leur principal dépôt distant `origin`, pas `o`. C'est si commun que git configure en fait votre dépôt local pour être nommé `origin` quand vous faîtes un `git clone` du dépôt.", "", @@ -143,9 +143,9 @@ exports.level = { "Rendons-nous sur une branche et regardons ce qui se passe." ], "afterMarkdowns": [ - "Comme vous pouvez le voir, git nous a mis dans le mode \"detached\" (cf. `HEAD`) puis n'a pas mis à jour `o/master` quand nous avons ajouté un nouveau commit. C'est parce que `o/master` va se mettre à jour uniquement quand le dépôt distant sera mis à jour." + "Comme vous pouvez le voir, git nous a mis dans le mode \"detached\" (cf. `HEAD`) puis n'a pas mis à jour `o/main` quand nous avons ajouté un nouveau commit. C'est parce que `o/main` va se mettre à jour uniquement quand le dépôt distant sera mis à jour." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -153,7 +153,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Pour finir ce niveau, faîtes un commit en dehors de `master` puis un après vous être rendu dans `o/master`. Cela va nous aider à comprendre la différence de comportement des branches distantes, et le fait qu'elles se mettent à jour uniquement pour refléter l'état du dépôt distant." + "Pour finir ce niveau, faîtes un commit en dehors de `main` puis un après vous être rendu dans `o/main`. Cela va nous aider à comprendre la différence de comportement des branches distantes, et le fait qu'elles se mettent à jour uniquement pour refléter l'état du dépôt distant." ] } } @@ -169,7 +169,7 @@ exports.level = { "", "Ahora que viste `git clone` en acción, ahondemos en lo que realmente cambió.", "", - "Lo primero que habrás notado es que apareció una nueva rama en tu repositorio local llamada `o/master`. A este tipo de ramas se las llama ramas _remotas_. Las ramas remotas tienen propiedades especiales porque sirven un propósito específico.", + "Lo primero que habrás notado es que apareció una nueva rama en tu repositorio local llamada `o/main`. A este tipo de ramas se las llama ramas _remotas_. Las ramas remotas tienen propiedades especiales porque sirven un propósito específico.", "", "Las ramas remotas reflejan el _estado_ de los repositorios remotos (cómo estaban la última vez que hablaste con ellos). Te ayudan a entender las diferencias entre tu trabajo local y el trabajo que ya está publicado - un paso crítico antes de compartir tu trabajo con los demás.", "", @@ -187,7 +187,7 @@ exports.level = { "", "* `/`", "", - "Entonces, si mirás una rama llamada `o/master`, el nombre de la rama es `master`, y el nombre del remoto es `o`.", + "Entonces, si mirás una rama llamada `o/main`, el nombre de la rama es `main`, y el nombre del remoto es `o`.", "", "La mayoría de los desarrolladores llaman `origin` a su remoto en lugar de `o`. Esto es tan común que git efectivamente crea tu remoto llamándolo `origin` cuando hacés `git clone` de un repositorio.", "", @@ -204,9 +204,9 @@ exports.level = { "Checkouteemos una rama remota a ver qué pasa." ], "afterMarkdowns": [ - "Como ves, git nos puso en el modo detached `HEAD` y no actualizó `o/master` cuando creamos un nuevo commit. Esto es porque `o/master` sólo va a actualizarse cuando el remoto se actualice." + "Como ves, git nos puso en el modo detached `HEAD` y no actualizó `o/main` cuando creamos un nuevo commit. Esto es porque `o/main` sólo va a actualizarse cuando el remoto se actualice." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -214,7 +214,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nivel, commiteá una vez sobre `master` y una después de checkoutear `o/master`. Esto te va a ayudar a caer en cómo las ramas remotas funcionan distinto, y que sólo se actualizan para reflejar el estado del remoto." + "Para completar este nivel, commiteá una vez sobre `main` y una después de checkoutear `o/main`. Esto te va a ayudar a caer en cómo las ramas remotas funcionan distinto, y que sólo se actualizan para reflejar el estado del remoto." ] } } @@ -230,7 +230,7 @@ exports.level = { "", "Ahora que viste `git clone` en acción, ahondemos en lo que realmente cambió.", "", - "Lo primero que habrás notado es que apareció una nueva rama en tu repositorio local llamada `o/master`. A este tipo de ramas se las llama ramas _remotas_. Las ramas remotas tienen propiedades especiales porque sirven un propósito específico.", + "Lo primero que habrás notado es que apareció una nueva rama en tu repositorio local llamada `o/main`. A este tipo de ramas se las llama ramas _remotas_. Las ramas remotas tienen propiedades especiales porque sirven un propósito específico.", "", "Las ramas remotas reflejan el _estado_ de los repositorios remotos (cómo estaban la última vez que hablaste con ellos). Te ayudan a entender las diferencias entre tu trabajo local y el trabajo que ya está publicado - un paso crítico antes de compartir tu trabajo con los demás.", "", @@ -248,7 +248,7 @@ exports.level = { "", "* `/`", "", - "Entonces, si observas una rama llamada `o/master`, el nombre de la rama es `master`, y el nombre del remoto es `o`.", + "Entonces, si observas una rama llamada `o/main`, el nombre de la rama es `main`, y el nombre del remoto es `o`.", "", "La mayoría de los desarrolladores llaman `origin` a su remoto en lugar de `o`. Esto es tan común que git efectivamente crea tu remoto llamándolo `origin` cuando haces `git clone` de un repositorio.", "", @@ -265,9 +265,9 @@ exports.level = { "Hagamos checkout sobre una rama remota a ver qué pasa." ], "afterMarkdowns": [ - "Como ves, git nos puso en el modo detached `HEAD` y no actualizó `o/master` cuando creamos un nuevo commit. Esto ocurre porque `o/master` sólo va a actualizarse cuando el remoto se actualice." + "Como ves, git nos puso en el modo detached `HEAD` y no actualizó `o/main` cuando creamos un nuevo commit. Esto ocurre porque `o/main` sólo va a actualizarse cuando el remoto se actualice." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -275,7 +275,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nivel, haz commit una vez sobre `master` y otra vez después de checkoutear `o/master`. Esto te va a ayudar a aprender cómo las ramas remotas funcionan distinto, y que sólo se actualizan para reflejar el estado del remoto." + "Para completar este nivel, haz commit una vez sobre `main` y otra vez después de checkoutear `o/main`. Esto te va a ayudar a aprender cómo las ramas remotas funcionan distinto, y que sólo se actualizan para reflejar el estado del remoto." ] } } @@ -291,7 +291,7 @@ exports.level = { "", "Agora que vimos o `git clone` em ação, vamos estudar aquilo que realmente mudou.", "", - "A primeira coisa que você pode ter percebido é que um novo ramo chamado `o/master` aparece no nosso repositório local. Esse tipo de ramo é chamado de ramo _remoto_; ramos remotos possuem propriedades especiais pois eles servem a um propósito único.", + "A primeira coisa que você pode ter percebido é que um novo ramo chamado `o/main` aparece no nosso repositório local. Esse tipo de ramo é chamado de ramo _remoto_; ramos remotos possuem propriedades especiais pois eles servem a um propósito único.", "", "Ramos remotos refletem o _estado_ de repositórios remotos (desde a última vez na qual você falou com eles). Eles ajudam a entender as diferenças entre o trabalho local e o trabalho atualmente público -- um passo crítico a ser dado antes de compartilhar seu trabalho com os outros.", "", @@ -309,7 +309,7 @@ exports.level = { "", "* `/`", "", - "Então, se o ramo remoto é chamado `o/master`, o nome do ramo é `master` e o nome do repositório remoto é `o`.", + "Então, se o ramo remoto é chamado `o/main`, o nome do ramo é `main` e o nome do repositório remoto é `o`.", "", "A maioria dos desenvolvedores na verdade chama o repositório remoto principal de `origin`, e não de `o`. Isso é tão comum que o Git define por padrão o nome `origin` para o repositório remoto quando você usa o comando `git clone` para clonar um repositório.", "", @@ -326,9 +326,9 @@ exports.level = { "Vamos fazer checkout de um ramo remoto e ver o que acontece." ], "afterMarkdowns": [ - "Como você pode ver, o Git nos colocou no modo \"Detached HEAD\", e não atualizou o `o/master` quando adicionamos um novo commit. Isso é porque o `o/master` só será atualizado quando o repositório remoto for atualizado." + "Como você pode ver, o Git nos colocou no modo \"Detached HEAD\", e não atualizou o `o/main` quando adicionamos um novo commit. Isso é porque o `o/main` só será atualizado quando o repositório remoto for atualizado." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -336,7 +336,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nível, commite uma vez em `master`, e outra vez depois de fazer checkout em `o/master`. Isso vai ajudá-lo a sentir como os ramos remotos se comportam de forma diferente, e como eles apenas se atualizam para refletir o estado do repositório remoto." + "Para completar este nível, commite uma vez em `main`, e outra vez depois de fazer checkout em `o/main`. Isso vai ajudá-lo a sentir como os ramos remotos se comportam de forma diferente, e como eles apenas se atualizam para refletir o estado do repositório remoto." ] } } @@ -352,7 +352,7 @@ exports.level = { "", "Agora que viches `git clone` en acción, mergullémonos no que realmente mudou.", "", - "O primeiro que notarías é que apareceu unha nova rama no teu repositorio local chamada `o/master`. A este tipo de ramas chámaselle ramas _remotas_. As ramas remotas teñén propiedades especiais porque serven para un propósito específico.", + "O primeiro que notarías é que apareceu unha nova rama no teu repositorio local chamada `o/main`. A este tipo de ramas chámaselle ramas _remotas_. As ramas remotas teñén propiedades especiais porque serven para un propósito específico.", "", "As ramas remotas reflexan o _estado_ dos repositorios remotos (como estaban á última vez que falaches con eles). Axúdante a entender as diferencias entre o teu traballo local e o teu traballo que xa está publicado - un paso crítico antes de compartir o teu traballo cos demáis.", "", @@ -370,7 +370,7 @@ exports.level = { "", "* `/`", "", - "Entonces, se miras unha rama chamada `o/master`, o nome da rama é `master`, e o nome do remoto é `o`.", + "Entonces, se miras unha rama chamada `o/main`, o nome da rama é `main`, e o nome do remoto é `o`.", "", "A maioría dos desenvolvedores chaman `origin` ó seu remoto no lugar de `o`. Esto é tan común que git efectivamente crea o teu remoto chamandoo `origin` cando fas `git clone` dun repositorio.", "", @@ -389,7 +389,7 @@ exports.level = { "afterMarkdowns": [ "Como ves, git púxonos no modo detached `HEAD` e non actualizou `o/mater` cando creamos un novo commit. Esto é porque `o/mater` só vai actualizarse cando o remoto se actualice." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -397,7 +397,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Para completar este nivel, fai commit unha vez sobre `mater` e despois de facer o checkout a `o/master`. Esto vaite axudar a entender cómo funcionan as ramas remotas, e que só se actualizan para reflexar o estado do remoto." + "Para completar este nivel, fai commit unha vez sobre `mater` e despois de facer o checkout a `o/main`. Esto vaite axudar a entender cómo funcionan as ramas remotas, e que só se actualizan para reflexar o estado do remoto." ] } } @@ -413,7 +413,7 @@ exports.level = { "", "現在你已經知道 `git clone` 在幹嘛了,讓我們仔細看看到底發生了什麼事。", "", - "你首先看到的是在你的本地端(local repository)出現了一個新的 branch 叫作 `o/master`,這種型態的 branch 叫作 remote branch (遠端分支),因為特殊的需求,因此 remote branch 有特殊的性質。", + "你首先看到的是在你的本地端(local repository)出現了一個新的 branch 叫作 `o/main`,這種型態的 branch 叫作 remote branch (遠端分支),因為特殊的需求,因此 remote branch 有特殊的性質。", "", "remote branch 反應了 remote repository 的狀態(因為你最後接觸的是這些 remote repository),最重要的是,在你想要分享你的 commit 給其他人時,你必須知道你現在的 commit 跟 remote repository 有哪些不同,而 remote branch 的狀態就是在告訴你這些資訊。", "", @@ -431,7 +431,7 @@ exports.level = { "", "* `/`", "", - "因此,當你看到一個 branch 叫做 `o/master`,就表示這個 branch 叫做 master,而且這個 remote 的名稱叫作 `o`。", + "因此,當你看到一個 branch 叫做 `o/main`,就表示這個 branch 叫做 main,而且這個 remote 的名稱叫作 `o`。", "", "很多程式設計師實際上會把他們的 remote 命名為 `origin`,而不是 `o`,這在 git 是很常見的事情,因為當你使用 `git clone` 時,git 會自動把你的 remote 命名為 `origin`。", "", @@ -448,9 +448,9 @@ exports.level = { "讓我們移動到(checkout)一個 remote branch 並且看一下會發生什麼事情" ], "afterMarkdowns": [ - "就像你看到的, git 讓我們進到 detached `HEAD` 狀態,同時,當我們加入一個新的 commit 時,`o/master` 都沒有更新,這是因為只有當 remote 更新的時候,`o/master` 才會更新。" + "就像你看到的, git 讓我們進到 detached `HEAD` 狀態,同時,當我們加入一個新的 commit 時,`o/main` 都沒有更新,這是因為只有當 remote 更新的時候,`o/main` 才會更新。" ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -458,7 +458,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "要完成這一關,先在 master branch 上面做一次 commit,再移動到 `o/master` 上做一次 commit,這有助於我們了解到 remote branch 的不同,它們只會反應 remote 的狀態。" + "要完成這一關,先在 main branch 上面做一次 commit,再移動到 `o/main` 上做一次 commit,這有助於我們了解到 remote branch 的不同,它們只會反應 remote 的狀態。" ] } } @@ -474,9 +474,9 @@ exports.level = { "", "Nun da du `git clone` in Aktion gesehen hast, lass uns tiefer in die Materie eintauchen.", "", - "Das erste, was dir wahrscheinlich aufgefallen ist, ist dass ein neuer Branch in unserem lokalen Repository aufgetaucht ist, namens `o/master`. Diese Art von Branch nennt sich _Remote_ Branch; er hat besondere Eigenschaften, weil er einem bestimmten Zweck dient.", + "Dir ist wahrscheinlich als Erstes aufgefallen, dass ein neuer Branch namens `o/main` in unserem lokalen Repository aufgetaucht ist. Diese Art von Branch nennt sich _Remote_ Branch; er hat besondere Eigenschaften, weil er einem bestimmten Zweck dient.", "", - "Ein Remote Branch bildet den Zustand des entsprechenden Branch in einem entfernten Repository ab (dem Zustand in dem der Branch war, als du das letzte mal das entfernte Repository angesprochen hast). Er hilft dir, den Unterschied zwischen deinem lokalen Branch und dem Gegenstück auf dem Server zu sehen -- eine nötige Information, bevor du deine Arbeit mit anderen teilen kannst.", + "Ein Remote Branch bildet den Zustand des entsprechenden Branch in einem entfernten Repository ab (dem Zustand in dem der Branch war, als du das letzte Mal das entfernte Repository angesprochen hast). Er hilft dir, den Unterschied zwischen deinem lokalen Branch und dem Gegenstück auf dem Server zu sehen -- eine nötige Information, bevor du deine Arbeit mit anderen teilen kannst.", "", "Remote Branches besitzen die besondere Eigenschaft dein Repository in den \"Detached `HEAD`\" Zustand zu versetzen, wenn du sie auscheckst. Git macht das absichtlich so, denn du kannst nicht direkt auf Remote Branches arbeiten; du musst auf Kopien von ihnen arbeiten und deine Änderungen von dort auf den entfernten Server schieben (wonach der Remote Branch dann auch bei dir aktualisiert wird)." ] @@ -492,11 +492,11 @@ exports.level = { "", "* `/`", "", - "Wenn du also einen Remote Branch namens `o/master` hast, ist es eine Abbildung des Branches `master` auf dem Server, der in deinem Repository als `o` bekannt ist.", + "Wenn du also einen Remote Branch namens `o/main` hast, ist es eine Abbildung des Branches `main` auf dem Server, der in deinem Repository als `o` bekannt ist.", "", - "Die meisten Entwickler nennen das Haupt-Remote tatsächlich `origin` und nicht `o`. Das ist so verbreitet, dass Git den entfernten Server von dem man ein `git clone` macht tatsächlich als `origin` im Clone speichert.", + "Die meisten Entwickler nennen das Haupt-Remote eigentlich `origin` und nicht `o`. Das ist so verbreitet, dass Git den entfernten Server, von dem man ein `git clone` macht, standardmäßig als `origin` im Clone speichert.", "", - "Leider passt der ganze Name, `origin`, nicht in unsere Darstellung, deshalb benutzen wir hier kurz `o`. :( Merk dir einfach: wenn du echtes Git benutzt werden die Remotes meistens `origin` heißen!", + "Leider passt der ganze Name, `origin`, nicht in unsere Darstellung, deshalb benutzen wir hier kurz `o`. :( Merk dir einfach: wenn du echtes Git benutzt, werden die Remotes meistens `origin` heißen!", "", "So, das war eine Menge zu verdauen, schauen wir uns das in Aktion an." ] @@ -509,9 +509,9 @@ exports.level = { "Checken wir mal einen Remote Branch aus und schauen was passiert." ], "afterMarkdowns": [ - "Wie du siehst setzt uns Git in den \"Detached `HEAD`\" Modus und aktualisiert dann nach dem Commit nicht den Branch `o/master`. Das liegt daran, dass der Remote Branch nur aktualisiert wird, wenn sich der entsprechende Branch auf dem Remote verändert." + "Wie du siehst setzt uns Git in den \"Detached `HEAD`\" Modus und aktualisiert dann nach dem Commit nicht den Branch `o/main`. Das liegt daran, dass der Remote Branch nur aktualisiert wird, wenn sich der entsprechende Branch auf dem Remote verändert." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -519,7 +519,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Um diesen Level zu bewältigen musst du einen Commit in `master` machen und einen nachdem du `o/master` ausgecheckt hast. Das illustriert noch einmal wie sich Branches und Remote Branches unterschiedlich verhalten und dass letztere sich nur verändern, wenn sich ihr Zustand auf dem entfernten Server ändert." + "Um diesen Level zu bewältigen musst du einen Commit in `main` machen und einen nachdem du `o/main` ausgecheckt hast. Das illustriert noch einmal wie sich Branches und Remote Branches unterschiedlich verhalten und dass letztere sich nur verändern, wenn sich ihr Zustand auf dem entfernten Server ändert." ] } } @@ -535,7 +535,7 @@ exports.level = { "", "既然你已经看过 `git clone` 命令了,咱们深入地看一下发生了什么。", "", - "你可能注意到的第一个事就是在我们的本地仓库多了一个名为 `o/master` 的分支, 这种类型的分支就叫**远程**分支。由于远程分支的特性导致其拥有一些特殊属性。", + "你可能注意到的第一个事就是在我们的本地仓库多了一个名为 `o/main` 的分支, 这种类型的分支就叫**远程**分支。由于远程分支的特性导致其拥有一些特殊属性。", "", "远程分支反映了远程仓库(在你上次和它通信时)的**状态**。这会有助于你理解本地的工作与公共工作的差别 —— 这是你与别人分享工作成果前至关重要的一步.", "", @@ -553,7 +553,7 @@ exports.level = { "", "* `/`", "", - "因此,如果你看到一个名为 `o/master` 的分支,那么这个分支就叫 `master`,远程仓库的名称就是 `o`。", + "因此,如果你看到一个名为 `o/main` 的分支,那么这个分支就叫 `main`,远程仓库的名称就是 `o`。", "", "大多数的开发人员会将它们主要的远程仓库命名为 `origin`,并不是 `o`。这是因为当你用 `git clone` 某个仓库时,Git 已经帮你把远程仓库的名称设置为 `origin` 了", "", @@ -570,9 +570,9 @@ exports.level = { "如果检出远程分支会怎么样呢?" ], "afterMarkdowns": [ - "正如你所见,Git 变成了分离 HEAD 状态,当添加新的提交时 `o/master` 也不会更新。这是因为 `o/master` 只有在远程仓库中相应的分支更新了以后才会更新。" + "正如你所见,Git 变成了分离 HEAD 状态,当添加新的提交时 `o/main` 也不会更新。这是因为 `o/main` 只有在远程仓库中相应的分支更新了以后才会更新。" ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -580,7 +580,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "要通过本关,在 `master` 分支上做一次提交;然后检出 `o/master`,再做一提交。这有助于你理解远程分支的不同,他们的更新只是反映了远程的状态。" + "要通过本关,在 `main` 分支上做一次提交;然后检出 `o/main`,再做一提交。这有助于你理解远程分支的不同,他们的更新只是反映了远程的状态。" ] } } @@ -614,7 +614,7 @@ exports.level = { "", "* `<リモート名>/<ブランチ名>`", "", - "これに基づいて、`o/master`と名付けられたブランチを見てみると、`master`はブランチの名前、`o`はリモートの名前であることが分かります。", + "これに基づいて、`o/main`と名付けられたブランチを見てみると、`main`はブランチの名前、`o`はリモートの名前であることが分かります。", "", "多くの開発者は、実際にはメインのリモート名として`o`ではなく`origin`を使います。これは一般的には、Gitが`git clone`した時に`origin`という名前をリモートに付与するためです。", "", @@ -631,9 +631,9 @@ exports.level = { "リモートブランチをチェックアウトすると何が起こるかを見てみましょう" ], "afterMarkdowns": [ - "見ていた通り、`o/master`に移ってから新しいコミットをしても`HEAD`が分離状態になり`o/master`は更新されていません。これは、`o/master`がリモートの更新時のみ更新されるからです。" + "見ていた通り、`o/main`に移ってから新しいコミットをしても`HEAD`が分離状態になり`o/main`は更新されていません。これは、`o/main`がリモートの更新時のみ更新されるからです。" ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -641,7 +641,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "このレベルを終えるには、まずコミットを`master`に一回行い、その後`o/master`にチェックアウトしてからもう一度コミットをします。これは、リモートブランチがどれほど違った動きをするか、そしてリモートブランチがリモートの状態を反映する時しか更新されないことを理解するのに役立つでしょう。" + "このレベルを終えるには、まずコミットを`main`に一回行い、その後`o/main`にチェックアウトしてからもう一度コミットをします。これは、リモートブランチがどれほど違った動きをするか、そしてリモートブランチがリモートの状態を反映する時しか更新されないことを理解するのに役立つでしょう。" ] } } @@ -657,7 +657,7 @@ exports.level = { "", "Теперь, когда вы уже увидели `git clone` в действии, давайте углубимся в детали и посмотрим что же на самом деле изменилось.", "", - "Во-первых, вы должны были заметить, что у нас в локальном репозитории появилась новая ветка с именем `o/master`. Такой тип ветки называется _удалённой_ веткой. Поскольку удалённые ветки играют важную и уникальную роль, они обладают рядом специальных свойств.", + "Во-первых, вы должны были заметить, что у нас в локальном репозитории появилась новая ветка с именем `o/main`. Такой тип ветки называется _удалённой_ веткой. Поскольку удалённые ветки играют важную и уникальную роль, они обладают рядом специальных свойств.", "", "Удалённые ветки отражают _состояние_ удалённых репозиториев (с того момента, как вы обращались к этим удалённым репозиториям в последний раз). Они позволяют вам отслеживать и видеть разницу между вашими локальными наработками и тем, что было сделано другими участниками - важный шаг, который необходимо делать, прежде чем делиться своими наработками с другими.", "", @@ -675,7 +675,7 @@ exports.level = { "", "* `<удалённый репозиторий>/<имя ветки>`", "", - "Следовательно, если вы взглянете на имя ветки `o/master`, то здесь `master` - это имя ветки, а `o` - это имя удалённого репозитория.", + "Следовательно, если вы взглянете на имя ветки `o/main`, то здесь `main` - это имя ветки, а `o` - это имя удалённого репозитория.", "", "Большинство разработчиков именуют свои главные удалённые репозитории не как `o`, а как `origin`. Также общепринятым является именование удалённого репозитория как `origin`, когда вы клонируете репозиторий командой `git clone`.", "", @@ -692,9 +692,9 @@ exports.level = { "Давайте извлечём (check out) удалённую ветку и посмотрим что произойдёт" ], "afterMarkdowns": [ - "Как вы можете видеть, git отделил (detached) `HEAD` и не обновил `o/master`, когда мы добавили новый коммит. Всё потому, что `o/master` обновится тогда и только тогда, когда обновится сам удалённый репозиторий." + "Как вы можете видеть, git отделил (detached) `HEAD` и не обновил `o/main`, когда мы добавили новый коммит. Всё потому, что `o/main` обновится тогда и только тогда, когда обновится сам удалённый репозиторий." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -702,7 +702,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Для завершения уровня выполните коммит единожды на `master`, а затем на `o/master` (предварительно переключившись на эту ветку). Это наглядно продемонстрирует поведение удалённых веток, а также покажет, как изменения влияют на состояние удалённых репозиториев." + "Для завершения уровня выполните коммит единожды на `main`, а затем на `o/main` (предварительно переключившись на эту ветку). Это наглядно продемонстрирует поведение удалённых веток, а также покажет, как изменения влияют на состояние удалённых репозиториев." ] } } @@ -718,7 +718,7 @@ exports.level = { "", "이제 `git clone`을 직접 확인 해 보셨습니다. 이제 무엇이 변했는지 살펴 봅시다.", "", - "가장 먼저 알아차릴만한 변화는 우리의 로컬 저장소에 `o/master`라고하는 새 브랜치가 생긴겁니다. 이런 종류의 브랜치는 _원격_브랜치라고 불립니다; 원격 브랜치는 특정한 목적을 제공하기 때문에 특별한 속성들이 있습니다.", + "가장 먼저 알아차릴만한 변화는 우리의 로컬 저장소에 `o/main`라고하는 새 브랜치가 생긴겁니다. 이런 종류의 브랜치는 _원격_브랜치라고 불립니다; 원격 브랜치는 특정한 목적을 제공하기 때문에 특별한 속성들이 있습니다.", "", "원격 브랜치는 원격 저장소의 _상태_를 반영합니다(가장 최근 원격 원격저장소와 작업을 했을때를 기준으로). 원격 브랜치는 로컬에서의 작업과 공개적으로 되고있는 작업의 차이를 이해하는데 도와줍니다 -- 다른 사람들과 작업을 공유하기전에 반드시해야할 과정이죠.", "", @@ -736,7 +736,7 @@ exports.level = { "", "* `/`", "", - "이런 이유로, 만약 `o/master`라는 이름의 브랜치를 보게되면, 브랜치의 이름은 `master`이고 원격 저장소의 이름은 `o`인겁니다.", + "이런 이유로, 만약 `o/main`라는 이름의 브랜치를 보게되면, 브랜치의 이름은 `main`이고 원격 저장소의 이름은 `o`인겁니다.", "", "대부분의 개발자들은 자신의 주 원격 저장소를 `o`가 아닌 `origin`이라고 짓습니다. 사실 보통 다 이렇게 쓰기 때문에 git은 저장소를 `git clone`하게 되면 원격 저장소의 이름을 `origin`이라고 자동으로 설정해놓습니다.", "", @@ -753,9 +753,9 @@ exports.level = { "원격 브랜치를 체크아웃하고 무엇이 일어나는지 확인해 봅시다" ], "afterMarkdowns": [ - "보이는것 처럼, git은 우리를 분리된 `HEAD` 모드로 만들고 새로운 커밋을 추가해도 `o/master`를 갱신하지 않습니다. 이것은 `o/master`가 원격 저장소가 갱신될때만 갱신되기 때문입니다." + "보이는것 처럼, git은 우리를 분리된 `HEAD` 모드로 만들고 새로운 커밋을 추가해도 `o/main`를 갱신하지 않습니다. 이것은 `o/main`가 원격 저장소가 갱신될때만 갱신되기 때문입니다." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -763,7 +763,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "다음 레벨로 가기 위해서는 `master`에서 한번 커밋하고 `o/master`를 체크아웃 하고 다시 한번 커밋을 하세요. 이를 통해서 원격 브랜치가 어떻게 다르게 작동하는지 알아보고, 원격 브랜치는 원격 저장소의 상태를 반영하기만 한다는것을 이해해 봅시다." + "다음 레벨로 가기 위해서는 `main`에서 한번 커밋하고 `o/main`를 체크아웃 하고 다시 한번 커밋을 하세요. 이를 통해서 원격 브랜치가 어떻게 다르게 작동하는지 알아보고, 원격 브랜치는 원격 저장소의 상태를 반영하기만 한다는것을 이해해 봅시다." ] } } @@ -779,7 +779,7 @@ exports.level = { "", "Тепер, коли ти познайомився з `git clone` в дії, розгляньмо деталі й подивімося, що дійсно змінилося.", "", - "Перше, що ти міг помітити -- це те, що з’явився новий бранч з назвою `o/master`. Такі гілки називаються _віддаленими_ (remote); віддалені гілки в гіт відіграють в певному сенсі унікальну роль, тому в них є деякі спеціальні властивості, непритаманні іншим гілкам.", + "Перше, що ти міг помітити -- це те, що з’явився новий бранч з назвою `o/main`. Такі гілки називаються _віддаленими_ (remote); віддалені гілки в гіт відіграють в певному сенсі унікальну роль, тому в них є деякі спеціальні властивості, непритаманні іншим гілкам.", "", "Віддалені гілки відображають _стан_ віддалених репозиторіїв (точніше, стан віддаленого репо на момент останньої синхронізації). Вони дозволяють відрізняти та відслідковувати локальні зміни та зміни інших учасників, що є дуже важливим для успішної синхронізації роботи між різними репозиторіями.", "", @@ -797,7 +797,7 @@ exports.level = { "", "* `<ім’я віддаленого репо>/<ім’я гілки>`", "", - "Отже, якщо розглянути гілку з назвою `o/master`, то ім’я гілки -- це `master` а ім’я віддаленого репозиторію -- це `o`.", + "Отже, якщо розглянути гілку з назвою `o/main`, то ім’я гілки -- це `main` а ім’я віддаленого репозиторію -- це `o`.", "", "Більшість розробників насправді називають ім’я головного віддаленого репозиторію `origin` (початок), а не `o`. Це настільки поширена практика, що гіт автоматично називає віддалений репозиторій `origin` коли ти його клонуєш.", "", @@ -814,9 +814,9 @@ exports.level = { "Зробімо checkout віддаленої гілки й подивімось, що буде" ], "afterMarkdowns": [ - "Як бачиш, git перейшов в стан `detached HEAD` і не оновив `o/master` коли ми зробили новий коміт. Це тому, що `o/master` буде оновлено лише тоді, коли буде оновлено віддалений репозиторій." + "Як бачиш, git перейшов в стан `detached HEAD` і не оновив `o/main` коли ми зробили новий коміт. Це тому, що `o/main` буде оновлено лише тоді, коли буде оновлено віддалений репозиторій." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -824,7 +824,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Щоб пройти цей рівень, зроби один коміт в `master`, а потім переключись в `o/master` і закомітся ще раз. Це наглядно продемонструє поведінку віддалених гілок, а також покаже як зміни впливають на стан віддаленого репозиторію." + "Щоб пройти цей рівень, зроби один коміт в `main`, а потім переключись в `o/main` і закомітся ще раз. Це наглядно продемонструє поведінку віддалених гілок, а також покаже як зміни впливають на стан віддаленого репозиторію." ] } } @@ -840,7 +840,7 @@ exports.level = { "", "Giờ bạn đã thấy cách thức hoạt động của `git clone`, cùng xem xét kỹ hơn những gì đã xảy ra.", "", - "Điều đầu tiên mà có thể bạn để ý là một nhánh mới xuất hiện trong kho chứa địa phương của ta là `o/master`. Loại nhánh này được gọi là nhánh _từ xa_ (_remote_) ; nhánh từ xa có những thuộc tính đặc biệt vì chúng phục vụ những mục đích duy nhất.", + "Điều đầu tiên mà có thể bạn để ý là một nhánh mới xuất hiện trong kho chứa địa phương của ta là `o/main`. Loại nhánh này được gọi là nhánh _từ xa_ (_remote_) ; nhánh từ xa có những thuộc tính đặc biệt vì chúng phục vụ những mục đích duy nhất.", "", "Nhánh từ xa phản ánh _trạng thái_ (_state_) của kho chứa từ xa (kể từ lần cuối cùng bạn tương tác với kho chứa từ xa). Chúng giúp bạn hiểu về sự khác biệt giữa công tác trên kho chứa cục bộ với kho chứa từ xa -- một bước quan trọng trước khi chia sẻ công việc của bạn với người khác.", "", @@ -858,7 +858,7 @@ exports.level = { "", "* `/`", "", - "Do đó, ở trong `o/master` thì `master` là tên nhánh còn `o` là tên kho chứa từ xa.", + "Do đó, ở trong `o/main` thì `main` là tên nhánh còn `o` là tên kho chứa từ xa.", "", "Thực tế thì hầu hết các nhà phát triển đặt tên kho chứa từ xa là `origin` chứ không phải `o`. Nó trở thành thông lệ đến nỗi Git đặt tên `origin` cho kho chứa từ xa khi bạn dùng `git clone` để sao chép một kho chứa.", "", @@ -875,9 +875,9 @@ exports.level = { "Hãy thử chuyển sang nhánh từ xa xem điểu gì xảy ra." ], "afterMarkdowns": [ - "Như bạn thấy, git đưa ta vào trạng thái `HEAD` và không cập nhật nhánh `o/master` khi ta thêm một commit. Đó là bởi vì `o/master` chỉ cập nhật khi kho chứa từ xa được cập nhật." + "Như bạn thấy, git đưa ta vào trạng thái `HEAD` và không cập nhật nhánh `o/main` khi ta thêm một commit. Đó là bởi vì `o/main` chỉ cập nhật khi kho chứa từ xa được cập nhật." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -885,7 +885,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Để hoàn thành cấp độ này, commit một lần trên `master` và một lần nữa sau khi chuyển sang `o/master`. Điều nãy sẽ giúp ta hiểu cách nhánh từ xa hành xử, chúng chỉ cập nhật để phản ánh trạng thái của kho chứa từ xa." + "Để hoàn thành cấp độ này, commit một lần trên `main` và một lần nữa sau khi chuyển sang `o/main`. Điều nãy sẽ giúp ta hiểu cách nhánh từ xa hành xử, chúng chỉ cập nhật để phản ánh trạng thái của kho chứa từ xa." ] } } @@ -901,7 +901,7 @@ exports.level = { "", "Sedaj ko smo videli `git clone` v praksi se poglobimo v dejanske spremembe.", "", - "Prva stvar, ki si jo morda opazil je, da se je pojavil nov branch na našem lokalnem repotu imenovan `o/master`. Temu tipu brancha pravimo _oddaljen_ (remote) branch; oddaljeni branchi imajo posebne lastnosti, ker služijo določenim namenom.", + "Prva stvar, ki si jo morda opazil je, da se je pojavil nov branch na našem lokalnem repotu imenovan `o/main`. Temu tipu brancha pravimo _oddaljen_ (remote) branch; oddaljeni branchi imajo posebne lastnosti, ker služijo določenim namenom.", "", "Oddaljeni branchi odražajo _stanje_ oddaljenega repozitorija (od kar si nazadnje komuniciral z oddaljenim repotom). To ti morda pomaga razumeti razliko med tvojim lokalnim delom in delom, ki je javno -- ključni korak, preden deliš svoje delo z ostalimi.", "", @@ -919,7 +919,7 @@ exports.level = { "", "* `/`", "", - "Posledično, če pogledamo branch poimenovan `o/master`, je ime brancha `master`, ime oddaljenega repota pa `o`.", + "Posledično, če pogledamo branch poimenovan `o/main`, je ime brancha `main`, ime oddaljenega repota pa `o`.", "", "Večina razvijalcev v bistvu poimenuje njihov glavni oddaljeni repozitorij `origin`, ne `o`. To je takoj pogosto, da git ubistvu nastavi tvoj oddaljen repo z imenom `origin` ko izvedeš `git clone` nad repozitorijem.", "", @@ -936,9 +936,9 @@ exports.level = { "Checkoutajmo oddaljen branch in poglejmo kaj se zgodi." ], "afterMarkdowns": [ - "Kot lahko vidiš, nas git postavi v stanje ločenega `HEAD-a` in ne posodobi `o/master`, ko dodamo nov commit. To je zato, ker se bo `o/master` posodobil šele, ko se bo posodobil oddaljen repo." + "Kot lahko vidiš, nas git postavi v stanje ločenega `HEAD-a` in ne posodobi `o/main`, ko dodamo nov commit. To je zato, ker se bo `o/main` posodobil šele, ko se bo posodobil oddaljen repo." ], - "command": "git checkout o/master; git commit", + "command": "git checkout o/main; git commit", "beforeCommand": "git clone" } }, @@ -946,7 +946,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Za dokončanje te stopnje, commitaj enkrat iz `master` in enkrat, ko checkoutaš `o/master`. To ti bo pomagalo osvojiti, kako se oddaljeni branchi obnašajo drugače in se posodobijo le da odražajo stanje na oddaljenem repozitoriju." + "Za dokončanje te stopnje, commitaj enkrat iz `main` in enkrat, ko checkoutaš `o/main`. To ti bo pomagalo osvojiti, kako se oddaljeni branchi obnašajo drugače in se posodobijo le da odražajo stanje na oddaljenem repozitoriju." ] } } diff --git a/src/levels/remote/sourceNothing.js b/src/levels/remote/sourceNothing.js index fe129425..09fbea3e 100644 --- a/src/levels/remote/sourceNothing.js +++ b/src/levels/remote/sourceNothing.js @@ -69,7 +69,7 @@ exports.level = { "There, we successfully deleted the `foo` branch on remote by pushing the concept of \"nothing\" to it. That kinda makes sense..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -122,7 +122,7 @@ exports.level = { "Ici, nous avons brillamment supprimé la branche `foo` du dépôt distant en lui envoyant le concept de \"rien\". Cela paraît à peu près logique..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -175,7 +175,7 @@ exports.level = { "Ahí está, borramos la rama `foo` exitosamente del remoto pusheándole el concepto de \"nada\". Tiene algo de sentido..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -228,7 +228,7 @@ exports.level = { "Ahí está, eliminamos la rama `foo` exitosamente del remoto haciendo push con \"nada\". Tiene algo de sentido..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -281,7 +281,7 @@ exports.level = { "Aqui, excluímos com sucesso o ramo `foo` do repositório remoto por meio de um push de \"coisa nenhuma\" direcionado a ele. Até que faz sentido..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -334,7 +334,7 @@ exports.level = { "Ahí está, borramos a rama `foo` exitosamente do remoto empurrando o concepto da \"nada\". Ten algo de sentido..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -387,7 +387,7 @@ exports.level = { "看吧,我們藉由把 source \"留空\",成功用 `push` 刪除了 `foo` branch,這合理吧..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -440,7 +440,7 @@ exports.level = { "就是这样子, 我们通过给 push 传空值 source,成功删除了远程仓库中的 `foo` 分支, 这真有意思..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -474,7 +474,7 @@ exports.level = { "markdowns": [ "### Die Eigentümlichkeiten von ``", "", - "Git \"missbraucht\" den ``-Parameter in zwei Fällen. Diese rühren daher, dass man technisch gesehen \"nichts\" als gültige `` sowohl für `git push` als auch für `git fetch` angeben kann. Das macht man so:", + "Git \"missbraucht\" den ``-Parameter in zwei Fällen. Dies rührt daher, dass man technisch gesehen \"nichts\" als gültige `` sowohl für `git push` als auch für `git fetch` angeben kann. Das macht man so:", "", "* `git push origin :side`", "* `git fetch origin :bugFix`", @@ -493,7 +493,7 @@ exports.level = { "Und schon haben wir `foo` erfolgreich auf dem Remote gelöscht, weil wir \"Leere\" darauf geschoben haben. Ist auf seine Weise irgendwie logisch ..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -546,7 +546,7 @@ exports.level = { "Как видите, мы удалили ветку `foo` в удаленном репозитории, попытавшить протолкнуть(git push) в неё \"ничего\"." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -599,7 +599,7 @@ exports.level = { "됬습니다, 원격 저장소의 `foo`브랜치를 성공적으로 삭제했습니다. \"없음\"을 push한다는것이 이것을 이뤘습니다. 흠 말이 되는것 같네요 null을 push했어요..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -652,7 +652,7 @@ exports.level = { "Ось, ми успішно видалили гілку `foo` на віддаленому сервері, запушивши в неї \"ніщо\". Ну, ніби все правильно..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -705,7 +705,7 @@ exports.level = { "Đó, ta đã xóa thành công nhánh `foo` trên kho chứa từ xa bằng cách đẩy \"không gì cả\" lên nó. Khá là hợp lý..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { @@ -758,7 +758,7 @@ exports.level = { "Tako, uspešno smo izbrisali `foo` branch na oddaljenem repotu s konceptom pushanja \"ničesar\" nanj. To ima nekako smisel ..." ], "command": "git push origin :foo", - "beforeCommand": "git clone; git push origin master:foo" + "beforeCommand": "git clone; git push origin main:foo" } }, { diff --git a/src/levels/remote/tracking.js b/src/levels/remote/tracking.js index 06e97cdf..edb2f5d8 100644 --- a/src/levels/remote/tracking.js +++ b/src/levels/remote/tracking.js @@ -1,6 +1,6 @@ exports.level = { "goalTreeString": "%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C1%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3A%22o/master%22%7D%2C%22o/master%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22o/master%22%2C%22remoteTrackingBranchID%22%3Anull%7D%2C%22side%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22side%22%2C%22remoteTrackingBranchID%22%3A%22o/master%22%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C3%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C3%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22side%22%2C%22id%22%3A%22HEAD%22%7D%2C%22originTree%22%3A%7B%22branches%22%3A%7B%22master%22%3A%7B%22target%22%3A%22C3%27%22%2C%22id%22%3A%22master%22%2C%22remoteTrackingBranchID%22%3Anull%7D%7D%2C%22commits%22%3A%7B%22C0%22%3A%7B%22parents%22%3A%5B%5D%2C%22id%22%3A%22C0%22%2C%22rootCommit%22%3Atrue%7D%2C%22C1%22%3A%7B%22parents%22%3A%5B%22C0%22%5D%2C%22id%22%3A%22C1%22%7D%2C%22C2%22%3A%7B%22parents%22%3A%5B%22C1%22%5D%2C%22id%22%3A%22C2%22%7D%2C%22C3%27%22%3A%7B%22parents%22%3A%5B%22C2%22%5D%2C%22id%22%3A%22C3%27%22%7D%7D%2C%22HEAD%22%3A%7B%22target%22%3A%22master%22%2C%22id%22%3A%22HEAD%22%7D%7D%7D", - "solutionCommand": "git checkout -b side o/master;git commit;git pull --rebase;git push", + "solutionCommand": "git checkout -b side o/main;git commit;git pull --rebase;git push", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "name": { "en_US": "Remote Tracking", @@ -45,10 +45,10 @@ exports.level = { "markdowns": [ "### Remote-Tracking branches", "", - "One thing that might have seemed \"magical\" about the last few lessons is that git knew the `master` branch was related to `o/master`. Sure these branches have similar names and it might make logical sense to connect the `master` branch on the remote to the local `master` branch, but this connection is demonstrated clearly in two scenarios:", + "One thing that might have seemed \"magical\" about the last few lessons is that git knew the `main` branch was related to `o/main`. Sure these branches have similar names and it might make logical sense to connect the `main` branch on the remote to the local `main` branch, but this connection is demonstrated clearly in two scenarios:", "", - "* During a pull operation, commits are downloaded onto `o/master` and then *merged* into the `master` branch. The implied target of the merge is determined from this connection.", - "* During a push operation, work from the `master` branch was pushed onto the remote's `master` branch (which was then represented by `o/master` locally). The *destination* of the push is determined from the connection between `master` and `o/master`.", + "* During a pull operation, commits are downloaded onto `o/main` and then *merged* into the `main` branch. The implied target of the merge is determined from this connection.", + "* During a push operation, work from the `main` branch was pushed onto the remote's `main` branch (which was then represented by `o/main` locally). The *destination* of the push is determined from the connection between `main` and `o/main`.", "" ] } @@ -59,17 +59,17 @@ exports.level = { "markdowns": [ "## Remote tracking", "", - "Long story short, this connection between `master` and `o/master` is explained simply by the \"remote tracking\" property of branches. The `master` branch is set to track `o/master` -- this means there is an implied merge target and implied push destination for the `master` branch.", + "Long story short, this connection between `main` and `o/main` is explained simply by the \"remote tracking\" property of branches. The `main` branch is set to track `o/main` -- this means there is an implied merge target and implied push destination for the `main` branch.", "", - "You may be wondering how this property got set on the `master` branch when you didn't run any commands to specify it. Well, when you clone a repository with git, this property is actually set for you automatically. ", + "You may be wondering how this property got set on the `main` branch when you didn't run any commands to specify it. Well, when you clone a repository with git, this property is actually set for you automatically. ", "", - "During a clone, git creates a remote branch for every branch on the remote (aka branches like `o/master`). It then creates a local branch that tracks the currently active branch on the remote, which is `master` in most cases.", + "During a clone, git creates a remote branch for every branch on the remote (aka branches like `o/main`). It then creates a local branch that tracks the currently active branch on the remote, which is `main` in most cases.", "", "Once git clone is complete, you only have one local branch (so you aren't overwhelmed) but you can see all the different branches on the remote (if you happen to be very curious). It's the best of both worlds!", "", "This also explains why you may see the following command output when cloning:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -79,13 +79,13 @@ exports.level = { "markdowns": [ "### Can I specify this myself?", "", - "Yes you can! You can make any arbitrary branch track `o/master`, and if you do so, that branch will have the same implied push destination and merge target as `master`. This means you can run `git push` on a branch named `totallyNotMaster` and have your work pushed to the `master` branch on the remote!", + "Yes you can! You can make any arbitrary branch track `o/main`, and if you do so, that branch will have the same implied push destination and merge target as `main`. This means you can run `git push` on a branch named `totallyNotMaster` and have your work pushed to the `main` branch on the remote!", "", "There are two ways to set this property. The first is to checkout a new branch by using a remote branch as the specified ref. Running", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "Creates a new branch named `totallyNotMaster` and sets it to track `o/master`." + "Creates a new branch named `totallyNotMaster` and sets it to track `o/main`." ] } }, @@ -93,12 +93,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Enough talking, let's see a demonstration! We will checkout a new branch named `foo` and set it to track `master` on the remote." + "Enough talking, let's see a demonstration! We will checkout a new branch named `foo` and set it to track `main` on the remote." ], "afterMarkdowns": [ - "As you can see, we used the implied merge target of `o/master` to update the `foo` branch. Note how master doesn't get updated!!" + "As you can see, we used the implied merge target of `o/main` to update the `foo` branch. Note how main doesn't get updated!!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -109,9 +109,9 @@ exports.level = { "This also applies for git push." ], "afterMarkdowns": [ - "Boom. We pushed our work to the `master` on the remote even though our branch was named something totally different." + "Boom. We pushed our work to the `main` on the remote even though our branch was named something totally different." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -123,11 +123,11 @@ exports.level = { "", "Another way to set remote tracking on a branch is to simply use the `git branch -u` option. Running", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "will set the `foo` branch to track `o/master`. If `foo` is currently checked out you can even leave it off:", + "will set the `foo` branch to track `o/main`. If `foo` is currently checked out you can even leave it off:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -141,7 +141,7 @@ exports.level = { "afterMarkdowns": [ "Same as before, just a more explicit command. Sweet!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -149,7 +149,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok! For this level let's push work onto the `master` branch on remote while *not* checked out on `master` locally. I'll let you figure out the rest since this is the advanced course :P" + "Ok! For this level let's push work onto the `main` branch on remote while *not* checked out on `main` locally. I'll let you figure out the rest since this is the advanced course :P" ] } } @@ -163,10 +163,10 @@ exports.level = { "markdowns": [ "### Le suivi des branches distantes", "", - "Dans les dernières leçons, git savait que la branche `master` était reliée à `o/master`, et cela a pu vous paraître \"magique\". Il est certain que ces deux branches ont des noms similaires et il peut être logique de croire que la branche locale `master` est liée à la branche distante `master`, mais la relation n'est prouvée que dans deux scénarios :", + "Dans les dernières leçons, git savait que la branche `main` était reliée à `o/main`, et cela a pu vous paraître \"magique\". Il est certain que ces deux branches ont des noms similaires et il peut être logique de croire que la branche locale `main` est liée à la branche distante `main`, mais la relation n'est prouvée que dans deux scénarios :", "", - "* Pendant un pull, les commits sont téléchargés dans `o/master` et ensuite *fusionnés* (merge) dans la branche `master`. La cible impliquée dans cette fusion est déterminée par cette relation.", - "* Pendant un push, le travail de la branche `master` a été envoyé sur la branche distante `master` (qui est localement représentée par `o/master`). La *destination* du push est déterminée par la relation entre `master` and `o/master`.", + "* Pendant un pull, les commits sont téléchargés dans `o/main` et ensuite *fusionnés* (merge) dans la branche `main`. La cible impliquée dans cette fusion est déterminée par cette relation.", + "* Pendant un push, le travail de la branche `main` a été envoyé sur la branche distante `main` (qui est localement représentée par `o/main`). La *destination* du push est déterminée par la relation entre `main` and `o/main`.", "" ] } @@ -177,17 +177,17 @@ exports.level = { "markdowns": [ "## Remote tracking", "", - "Pour faire court, cette relation entre `master` et `o/master` est simplement portée par la propriété \"remote tracking\" (suivi distant) des branches. La branche `master` est configurée pour suivre `o/master` : cela signifie qu'il y a une cible de fusion et une destination d'envoi implicites pour la branche `master`.", + "Pour faire court, cette relation entre `main` et `o/main` est simplement portée par la propriété \"remote tracking\" (suivi distant) des branches. La branche `main` est configurée pour suivre `o/main` : cela signifie qu'il y a une cible de fusion et une destination d'envoi implicites pour la branche `main`.", "", - "Vous vous demandez peut-être comment cette propriété a été configurée pour la branche `master` alors que vous n'avez exécuté aucune commande pour le faire. Eh bien, quand vous clonez un dépôt avec git, cette propriété est configurée automatiquement. ", + "Vous vous demandez peut-être comment cette propriété a été configurée pour la branche `main` alors que vous n'avez exécuté aucune commande pour le faire. Eh bien, quand vous clonez un dépôt avec git, cette propriété est configurée automatiquement. ", "", - "Pendant le clonage, git crée une branche distante pour chaque branche du dépôt distant (c'est à dire des branches comme `o/master`). Il crée ensuite une branche locale qui suit la branche actuellement active sur le dépôt distant, qui se trouve être `master` dans la plupart des cas.", + "Pendant le clonage, git crée une branche distante pour chaque branche du dépôt distant (c'est à dire des branches comme `o/main`). Il crée ensuite une branche locale qui suit la branche actuellement active sur le dépôt distant, qui se trouve être `main` dans la plupart des cas.", "", "Une fois que git clone est terminé, vous avez seulement une branche locale (comme ça vous n'êtes pas submergé) mais vous pouvez voir toutes les branches distantes (si vous êtes très curieux). C'est le compromis idéal !", "", "Cela explique aussi pourquoi vous avez peut-être vu la sortie suivante pendant le clonage :", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -197,13 +197,13 @@ exports.level = { "markdowns": [ "### Puis-je configurer cette relation moi-même ?", "", - "Absolument ! Vous pouvez suivre `o/master` depuis n'importe quelle branche, et si vous le faîtes, cette branche va avoir la même destination de push et cible de merge que pour `master`. Cela signifie que vous pouvez exécuter `git push` sur une branche nommée `totallyNotMaster` mais envoyer tout de même votre travail sur la branche `master` du dépôt distant !", + "Absolument ! Vous pouvez suivre `o/main` depuis n'importe quelle branche, et si vous le faîtes, cette branche va avoir la même destination de push et cible de merge que pour `main`. Cela signifie que vous pouvez exécuter `git push` sur une branche nommée `totallyNotMaster` mais envoyer tout de même votre travail sur la branche `main` du dépôt distant !", "", "Il y a deux façons de configurer cette propriété. La première est de créer une nouvelle branche en la branchant immédiatement sur la branche distante, à l'aide de `git checkout -b` :", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "Cette commande crée une nouvelle branche nommée `totallyNotMaster` et la configure pour suivre `o/master`." + "Cette commande crée une nouvelle branche nommée `totallyNotMaster` et la configure pour suivre `o/main`." ] } }, @@ -211,12 +211,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Assez parlé, faisons une démonstration ! Nous allons nous placer sur une nouvelle branche nommée `foo` et la configurer pour suivre `master` du dépôt distant." + "Assez parlé, faisons une démonstration ! Nous allons nous placer sur une nouvelle branche nommée `foo` et la configurer pour suivre `main` du dépôt distant." ], "afterMarkdowns": [ - "Comme vous pouvez le voir, nous avons utilisé la cible de fusion déclarée pour `o/master` afin de mettre à jour la branche `foo`. Remarquez que la branche master n'a pas été mise à jour !!" + "Comme vous pouvez le voir, nous avons utilisé la cible de fusion déclarée pour `o/main` afin de mettre à jour la branche `foo`. Remarquez que la branche main n'a pas été mise à jour !!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -227,9 +227,9 @@ exports.level = { "Cela s'applique aussi pour git push :" ], "afterMarkdowns": [ - "Boum. Nous avons envoyé notre travail sur `master` vers le dépôt distant alors que notre branche avait un nom totalement différent." + "Boum. Nous avons envoyé notre travail sur `main` vers le dépôt distant alors que notre branche avait un nom totalement différent." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -241,11 +241,11 @@ exports.level = { "", "Une autre façon de configurer le suivi d'une branche est d'utiliser l'option `git branch -u`. La commande est alors :", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "Ce qui va configurer la branche `foo` (déjà existante) pour suivre `o/master`. Si `foo` est la branche courante, vous pouvez même ne pas la préciser :", + "Ce qui va configurer la branche `foo` (déjà existante) pour suivre `o/main`. Si `foo` est la branche courante, vous pouvez même ne pas la préciser :", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -259,7 +259,7 @@ exports.level = { "afterMarkdowns": [ "C'est la même chose, et c'est juste un peu plus explicite. Cool !" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -267,7 +267,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok ! Pour ce niveau, envoyons notre travail sur la branche distante `master` en ne se trouvant *pas* sur la branche `master` locale. Je vous laisse chercher comment faire, puisque c'est une leçon de niveau avancé :P" + "Ok ! Pour ce niveau, envoyons notre travail sur la branche distante `main` en ne se trouvant *pas* sur la branche `main` locale. Je vous laisse chercher comment faire, puisque c'est une leçon de niveau avancé :P" ] } } @@ -281,10 +281,10 @@ exports.level = { "markdowns": [ "### Ramas que trackean remotos", "", - "Una de las cosas que pueden haber parecido \"mágicas\" de las últimas lecciones es que git sabía que la rama `master` estaba relacionada con `o/master`. Obviamente, estas ramas tienen nombres parecidos, y podría parecer lógico conectar la rama `master` del remoto con la rama `master` local, pero esta conexión es bien evidente en dos escenarios:", + "Una de las cosas que pueden haber parecido \"mágicas\" de las últimas lecciones es que git sabía que la rama `main` estaba relacionada con `o/main`. Obviamente, estas ramas tienen nombres parecidos, y podría parecer lógico conectar la rama `main` del remoto con la rama `main` local, pero esta conexión es bien evidente en dos escenarios:", "", - "* Durante una operación de pull, los commits se descargan a `o/master` y después se *mergean* a la rama `master`. El objetivo implícito del merge se determina con esta conexión.", - "* Durante un push, el trabajo de la rama `master` se sube a la rama `master` del remoto (que estaba representada localmente por `o/master`). El *destino* del push se determina con esta conexión entre `master` y `o/master`.", + "* Durante una operación de pull, los commits se descargan a `o/main` y después se *mergean* a la rama `main`. El objetivo implícito del merge se determina con esta conexión.", + "* Durante un push, el trabajo de la rama `main` se sube a la rama `main` del remoto (que estaba representada localmente por `o/main`). El *destino* del push se determina con esta conexión entre `main` y `o/main`.", "" ] } @@ -295,19 +295,19 @@ exports.level = { "markdowns": [ "## Trackeando remotos", "", - "Haciéndola corta, esta conexión entre `master` y `o/master` se explica simplemente por la propiedad de \"trackear (seguir) remotos\" de las ramas. La rama `master` está configurada para trackear `o/master` -- osea, que hay un objetivo implícito para el merge y un destino implícito para de la rama `master`.", + "Haciéndola corta, esta conexión entre `main` y `o/main` se explica simplemente por la propiedad de \"trackear (seguir) remotos\" de las ramas. La rama `main` está configurada para trackear `o/main` -- osea, que hay un objetivo implícito para el merge y un destino implícito para de la rama `main`.", "", - "Podrías estar pensando cómo esa propiedad apareció en tu rama `master` si vos no corriste ningún comando para especificarlo. Bueno, cuando clonás un repositorio con git, esta propiedad se asigna por vos automáticamente.", + "Podrías estar pensando cómo esa propiedad apareció en tu rama `main` si vos no corriste ningún comando para especificarlo. Bueno, cuando clonás un repositorio con git, esta propiedad se asigna por vos automáticamente.", "", - "Durante un clone, git crea una rama remota por cada rama en el remoto (por ejemplo, ramas como `o/master`). Pero después crea una rama local que trackea la rama activa del remote, que suele ser `master`.", + "Durante un clone, git crea una rama remota por cada rama en el remoto (por ejemplo, ramas como `o/main`). Pero después crea una rama local que trackea la rama activa del remote, que suele ser `main`.", "", "Una vez completado el git clone, sólo tenés una única rama local (para que no te asustes) pero podés ver todas las ramas que del remoto (si fueras tan curioso). ¡Es lo mejor de ambos mundos!", "", "Esto también explica por qué podrías ver un mensaje como este durante la clonación:", "", - " local branch \"master\" set to track remote branch \"o/master\"", + " local branch \"main\" set to track remote branch \"o/main\"", "", - " rama local \"master\" establecida para trackear la rama remota \"o/master\"" + " rama local \"main\" establecida para trackear la rama remota \"o/main\"" ] } }, @@ -317,13 +317,13 @@ exports.level = { "markdowns": [ "### ¿Puedo especificarlo yo?", "", - "¡Claro que sí! Podés hacer que cualquier rama que quieras trackee `o/master`, y si lo hicieras, esa rama va a tener el mismo destino implícito de push y objetivo implícito de merge que `master`. Eso significa que podés correr `git push` en una rama llamada `absolutamenteNoEsMaster` y ¡que tu trabajo se pushee a la rama `master` del remoto!", + "¡Claro que sí! Podés hacer que cualquier rama que quieras trackee `o/main`, y si lo hicieras, esa rama va a tener el mismo destino implícito de push y objetivo implícito de merge que `main`. Eso significa que podés correr `git push` en una rama llamada `absolutamenteNoEsMaster` y ¡que tu trabajo se pushee a la rama `main` del remoto!", "", "Hay dos formas de establecer esta propiedad. La primera es checkoutear una nueva rama usando una rama remota como la referencia especificada. Ejecutar", "", - "`git checkout -b absolutamenteNoEsMaster o/master`", + "`git checkout -b absolutamenteNoEsMaster o/main`", "", - "Crea una nueva rama llamada `absolutamenteNoEsMaster` y la hace trackear a `o/master`." + "Crea una nueva rama llamada `absolutamenteNoEsMaster` y la hace trackear a `o/main`." ] } }, @@ -331,12 +331,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Suficiente charla, ¡veamos una demo! Vamos a checkoutear una nueva rama llamada `foo` y hacer que trackee a `master` en el remoto." + "Suficiente charla, ¡veamos una demo! Vamos a checkoutear una nueva rama llamada `foo` y hacer que trackee a `main` en el remoto." ], "afterMarkdowns": [ - "Como podés ver, usamos el objetivo implícito de merge `o/master` para actualizar la rama `foo`. ¡Notá cómo `master` no fue actualizada!" + "Como podés ver, usamos el objetivo implícito de merge `o/main` para actualizar la rama `foo`. ¡Notá cómo `main` no fue actualizada!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -347,9 +347,9 @@ exports.level = { "Lo mismo aplica para git push." ], "afterMarkdowns": [ - "Boom. Pusheamos nuestro trabajo a la rama `master` del remoto incluso cuando nuestra rama se llamaba totalmente distinto." + "Boom. Pusheamos nuestro trabajo a la rama `main` del remoto incluso cuando nuestra rama se llamaba totalmente distinto." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -361,11 +361,11 @@ exports.level = { "", "Otra forma de especificar la rama a trackear es usar la opción `git branch -u`. Ejecutando", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "establecemos que la rama `foo` trackee a `o/master`. Si encima estás parado en `foo`, incluso podés obviarlo:", + "establecemos que la rama `foo` trackee a `o/main`. Si encima estás parado en `foo`, incluso podés obviarlo:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -379,7 +379,7 @@ exports.level = { "afterMarkdowns": [ "Lo mismo que antes, sólo que con un comando bastante más explícito. ¡Una belleza!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -387,7 +387,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "¡Ok! Para este nivel, pusheá tu trabajo a la rama `master` del remoto *sin* estar parado sobre `master` localmente. Te dejo que te des cuenta del resto solo, que para algo este es el curso avanzado :P" + "¡Ok! Para este nivel, pusheá tu trabajo a la rama `main` del remoto *sin* estar parado sobre `main` localmente. Te dejo que te des cuenta del resto solo, que para algo este es el curso avanzado :P" ] } } @@ -401,10 +401,10 @@ exports.level = { "markdowns": [ "### Ramas que trackean remotos", "", - "Una de las cosas que te pueden haber parecido \"mágicas\" de las últimas lecciones es que git sabía que la rama `master` estaba relacionada con `o/master`. Obviamente, estas ramas tienen nombres parecidos, y podría parecer lógico conectar la rama `master` del remoto con la rama `master` local, pero esta conexión es bien evidente en dos escenarios:", + "Una de las cosas que te pueden haber parecido \"mágicas\" de las últimas lecciones es que git sabía que la rama `main` estaba relacionada con `o/main`. Obviamente, estas ramas tienen nombres parecidos, y podría parecer lógico conectar la rama `main` del remoto con la rama `main` local, pero esta conexión es bien evidente en dos escenarios:", "", - "* Durante una operación de pull, los commits se descargan a `o/master` y después se *mergean* a la rama `master`. El objetivo implícito del merge se determina con esta conexión.", - "* Durante un push, el trabajo de la rama `master` se sube a la rama `master` del remoto (que estaba representada localmente por `o/master`). El *destino* del push se determina con esta conexión entre `master` y `o/master`.", + "* Durante una operación de pull, los commits se descargan a `o/main` y después se *mergean* a la rama `main`. El objetivo implícito del merge se determina con esta conexión.", + "* Durante un push, el trabajo de la rama `main` se sube a la rama `main` del remoto (que estaba representada localmente por `o/main`). El *destino* del push se determina con esta conexión entre `main` y `o/main`.", "" ] } @@ -415,19 +415,19 @@ exports.level = { "markdowns": [ "## Trackeando remotos", "", - "Resumiendo, esta conexión entre `master` y `o/master` se explica simplemente por la propiedad de \"trackear (seguir) remotos\" de las ramas. La rama `master` está configurada para trackear `o/master` -- osea, que hay un objetivo implícito para el merge y un destino implícito para de la rama `master`.", + "Resumiendo, esta conexión entre `main` y `o/main` se explica simplemente por la propiedad de \"trackear (seguir) remotos\" de las ramas. La rama `main` está configurada para trackear `o/main` -- osea, que hay un objetivo implícito para el merge y un destino implícito para de la rama `main`.", "", - "Podrías estar pensando cómo esa propiedad apareció en tu rama `master` si no ejecutaste ningún comando para especificarlo. Bueno, cuando clonas un repositorio con git, esta propiedad es asignada por ti automáticamente.", + "Podrías estar pensando cómo esa propiedad apareció en tu rama `main` si no ejecutaste ningún comando para especificarlo. Bueno, cuando clonas un repositorio con git, esta propiedad es asignada por ti automáticamente.", "", - "Durante un clone, git crea una rama remota por cada rama en el remoto (por ejemplo, ramas como `o/master`). Pero después crea una rama local que trackea la rama activa del remote, que suele ser `master`.", + "Durante un clone, git crea una rama remota por cada rama en el remoto (por ejemplo, ramas como `o/main`). Pero después crea una rama local que trackea la rama activa del remote, que suele ser `main`.", "", "Una vez completado el git clone, sólo tienes una única rama local (para que no te asustes) pero puedes ver todas las ramas del remoto (si fueses curioso). ¡Es lo mejor de ambos mundos!", "", "Esto también explica por qué podrías ver un mensaje como este durante la clonación:", "", - " local branch \"master\" set to track remote branch \"o/master\"", + " local branch \"main\" set to track remote branch \"o/main\"", "", - " rama local \"master\" establecida para trackear la rama remota \"o/master\"" + " rama local \"main\" establecida para trackear la rama remota \"o/main\"" ] } }, @@ -437,13 +437,13 @@ exports.level = { "markdowns": [ "### ¿Puedo especificarlo yo?", "", - "¡Claro que sí! Puedes hacer que cualquier rama que quieras trackee `o/master`, y si lo hicieras, esa rama va a tener el mismo destino implícito de push y objetivo implícito de merge que `master`. Eso significa que puedes ejecutar `git push` en una rama llamada `absolutamenteNoEsMaster` y ¡que tu trabajo se pushee a la rama `master` del remoto!", + "¡Claro que sí! Puedes hacer que cualquier rama que quieras trackee `o/main`, y si lo hicieras, esa rama va a tener el mismo destino implícito de push y objetivo implícito de merge que `main`. Eso significa que puedes ejecutar `git push` en una rama llamada `absolutamenteNoEsMaster` y ¡que tu trabajo se pushee a la rama `main` del remoto!", "", "Hay dos formas de establecer esta propiedad. La primera es hacer checkout sobre una nueva rama usando una rama remota como la referencia especificada. Ejecutar", "", - "`git checkout -b absolutamenteNoEsMaster o/master`", + "`git checkout -b absolutamenteNoEsMaster o/main`", "", - "Crea una nueva rama llamada `absolutamenteNoEsMaster` y la hace trackear a `o/master`." + "Crea una nueva rama llamada `absolutamenteNoEsMaster` y la hace trackear a `o/main`." ] } }, @@ -451,12 +451,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Basta de charla, ¡veamos un ejemplo! Vamos a hacer checkout de una nueva rama llamada `foo` y hacer que trackee a `master` en el remoto." + "Basta de charla, ¡veamos un ejemplo! Vamos a hacer checkout de una nueva rama llamada `foo` y hacer que trackee a `main` en el remoto." ], "afterMarkdowns": [ - "Como puedes ver, usamos el objetivo implícito de merge `o/master` para actualizar la rama `foo`. ¡Observa cómo `master` no fue actualizada!" + "Como puedes ver, usamos el objetivo implícito de merge `o/main` para actualizar la rama `foo`. ¡Observa cómo `main` no fue actualizada!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -467,9 +467,9 @@ exports.level = { "Lo mismo aplica para git push." ], "afterMarkdowns": [ - "Zas. Hacemos push de nuestro trabajo a la rama `master` del remoto incluso cuando nuestra rama se llamaba totalmente distinto." + "Zas. Hacemos push de nuestro trabajo a la rama `main` del remoto incluso cuando nuestra rama se llamaba totalmente distinto." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -481,11 +481,11 @@ exports.level = { "", "Otra forma de especificar la rama a trackear es usar la opción `git branch -u`. Ejecutando", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "establecemos que la rama `foo` trackee a `o/master`. Si encima estás parado en `foo`, incluso puedes obviarlo:", + "establecemos que la rama `foo` trackee a `o/main`. Si encima estás parado en `foo`, incluso puedes obviarlo:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -499,7 +499,7 @@ exports.level = { "afterMarkdowns": [ "Lo mismo que antes, sólo que con un comando bastante más explícito. ¡Muy útil!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -507,7 +507,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "¡Perfecto! Para este nivel, haz push de tu trabajo a la rama `master` del remoto *sin* estar parado sobre `master` localmente. Te dejo que te des cuenta del resto solo, que para algo este es el curso avanzado :P" + "¡Perfecto! Para este nivel, haz push de tu trabajo a la rama `main` del remoto *sin* estar parado sobre `main` localmente. Te dejo que te des cuenta del resto solo, que para algo este es el curso avanzado :P" ] } } @@ -521,10 +521,10 @@ exports.level = { "markdowns": [ "### Seguindo ramos remotos", "", - "Uma coisa que pode ter parecido \"mágica\" nas lições passadas é que o Git sabia que o ramo `master` estava relacionado com o `o/master`. Certamente esses ramos possuem nomes similares, e tem todo sentido lógico conectar o ramo `master` do lado remoto com o ramo `master` local, mas essa conexão é demonstrada claramente em dois cenários:", + "Uma coisa que pode ter parecido \"mágica\" nas lições passadas é que o Git sabia que o ramo `main` estava relacionado com o `o/main`. Certamente esses ramos possuem nomes similares, e tem todo sentido lógico conectar o ramo `main` do lado remoto com o ramo `main` local, mas essa conexão é demonstrada claramente em dois cenários:", "", - "* Durante uma operação de pull, os commits são baixados em `o/master` e então são *mergidos* no ramo `master`. O alvo do merge é determinado a partir dessa conexão.", - "* Durante uma operação de push, o trabalho do ramo `master` local é enviado para o ramo `master` remoto (que é representado localmente por `o/master`). O *destino* do push é determinado da conexão entre `master` e `o/master`.", + "* Durante uma operação de pull, os commits são baixados em `o/main` e então são *mergidos* no ramo `main`. O alvo do merge é determinado a partir dessa conexão.", + "* Durante uma operação de push, o trabalho do ramo `main` local é enviado para o ramo `main` remoto (que é representado localmente por `o/main`). O *destino* do push é determinado da conexão entre `main` e `o/main`.", "" ] } @@ -535,17 +535,17 @@ exports.level = { "markdowns": [ "## Remote tracking", "", - "Resumindo a história, essa conexão entre `master` e `o/master` é explicada pela propriedade de \"remote tracking\" dos ramos. O ramo `master` é configurado para seguir o ramo `o/master` -- isso significa que existe um alvo implícito de merge e um destino implícito de push para o ramo `master`.", + "Resumindo a história, essa conexão entre `main` e `o/main` é explicada pela propriedade de \"remote tracking\" dos ramos. O ramo `main` é configurado para seguir o ramo `o/main` -- isso significa que existe um alvo implícito de merge e um destino implícito de push para o ramo `main`.", "", - "Você pode estar se perguntando como essa propriedade foi configurada no ramo `master` se você não executou nenhum comando ordenando que isso fosse feito. Bem, quando você clona um repositório com o Git, essa propriedade é configurada para você automaticamente. ", + "Você pode estar se perguntando como essa propriedade foi configurada no ramo `main` se você não executou nenhum comando ordenando que isso fosse feito. Bem, quando você clona um repositório com o Git, essa propriedade é configurada para você automaticamente. ", "", - "Durante a clonagem, o Git cria um ramo remoto para cada ramo que existe no repositório remoto (ou seja, ramos como o `o/master`). Ele cria então um ramo local que segue o ramo atualmente ativo no repositório remoto, que geralmente é o `master`.", + "Durante a clonagem, o Git cria um ramo remoto para cada ramo que existe no repositório remoto (ou seja, ramos como o `o/main`). Ele cria então um ramo local que segue o ramo atualmente ativo no repositório remoto, que geralmente é o `main`.", "", "Uma vez que a clonagem esteja completa, você terá apenas um único ramo local (para que você não seja sobrecarregado), mas você pode ver todos os ramos diferentes que existem no repositório remoto (caso você esteja curioso). É o melhor dos dois mundos!", "", "Isso também explica porque você vê a seguinte mensagem quando clona um repositório:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -555,13 +555,13 @@ exports.level = { "markdowns": [ "### Posso eu mesmo especificar isso?", "", - "Sim, você pode! Você pode fazer com que qualquer ramo arbitrário siga o `o/master`, e se você fizer isso, esse ramo terá o mesmo destino de push implícito que e o mesmo alvo de merge que o `master`. Isso significa que você pode executar `git push` em um ramo chamado `realmenteNaoSouOMaster` e ainda assim ter seu trabalho enviado ao ramo `master` do repositório remoto!", + "Sim, você pode! Você pode fazer com que qualquer ramo arbitrário siga o `o/main`, e se você fizer isso, esse ramo terá o mesmo destino de push implícito que e o mesmo alvo de merge que o `main`. Isso significa que você pode executar `git push` em um ramo chamado `realmenteNaoSouOMaster` e ainda assim ter seu trabalho enviado ao ramo `main` do repositório remoto!", "", "Há duas formas de configurar essa propriedade. A primeira consiste em fazer checkout de um novo ramo usando o ramo remoto como especificação de referência. Executar", "", - "`git checkout -b realmenteNaoSouOMaster o/master`", + "`git checkout -b realmenteNaoSouOMaster o/main`", "", - "Cria um novo ramo chamado `realmenteNaoSouOMaster` e o configura para seguir o `o/master`." + "Cria um novo ramo chamado `realmenteNaoSouOMaster` e o configura para seguir o `o/main`." ] } }, @@ -569,12 +569,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Já foi conversa o suficiente, vamos ver uma demonstração! Vamos fazer checkout de um novo ramo chamado `foo` e configurá-lo para seguir o `master` do repositório remoto." + "Já foi conversa o suficiente, vamos ver uma demonstração! Vamos fazer checkout de um novo ramo chamado `foo` e configurá-lo para seguir o `main` do repositório remoto." ], "afterMarkdowns": [ - "Como você pode ver, usamos o alvo implícito de merge do `o/master` para atualizar o ramo `foo`. Veja como o master local não sofreu atualização!!" + "Como você pode ver, usamos o alvo implícito de merge do `o/main` para atualizar o ramo `foo`. Veja como o main local não sofreu atualização!!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -585,9 +585,9 @@ exports.level = { "Isso também se aplica ao git push." ], "afterMarkdowns": [ - "Boom. Nós enviamos nosso trabalho para o ramo remoto `master` ainda que nosso ramo local tivesse um nome completamente diferente." + "Boom. Nós enviamos nosso trabalho para o ramo remoto `main` ainda que nosso ramo local tivesse um nome completamente diferente." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -599,11 +599,11 @@ exports.level = { "", "Outra maneira de configurar remote tracking em um ramo é utilizando `git branch -u`. Executando", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "configuraremos o ramo local `foo` para seguir o `o/master`. Se `foo` for o que estiver atualmente em checkout, você pode inclusive omiti-lo:", + "configuraremos o ramo local `foo` para seguir o `o/main`. Se `foo` for o que estiver atualmente em checkout, você pode inclusive omiti-lo:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -617,7 +617,7 @@ exports.level = { "afterMarkdowns": [ "O mesmo de antes, apenas um comando mais explícito. Doce!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -625,7 +625,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok! Para este nível, vamos fazer push no ramo remoto `master` *sem estar* em um checkout do `master` local. Vou deixar você descobrir o resto, já que isto é um curso avançado :P" + "Ok! Para este nível, vamos fazer push no ramo remoto `main` *sem estar* em um checkout do `main` local. Vou deixar você descobrir o resto, já que isto é um curso avançado :P" ] } } @@ -639,10 +639,10 @@ exports.level = { "markdowns": [ "### Ramas que trackean os remotos", "", - "Unha das cousas que poden semellar \"máxicas\" das últimas leccións é que git sabía que a rama `master` estaba relacionada co `o/master`. Obviamente, estas ramas teñen nomes semellantes, e podería semellar lóxico conectar a rama `master` do remoto ca rama `master` local, pero esta conexión é ben evidente nos dous escenarios:", + "Unha das cousas que poden semellar \"máxicas\" das últimas leccións é que git sabía que a rama `main` estaba relacionada co `o/main`. Obviamente, estas ramas teñen nomes semellantes, e podería semellar lóxico conectar a rama `main` do remoto ca rama `main` local, pero esta conexión é ben evidente nos dous escenarios:", "", - "* Durante unha operación de pull, os commits descarganse ó `o/master` e logo *mesturanse* á rama `master`. O obxectivo implícito do merge determinase con esta conexión.", - "* Durante un push, o traballo da rama `master` súbese á rama `master` do remoto (que estaba representada localmente por `o/master`). O *destino* do push determinouse con esta conexión entre `master` e `o/master`.", + "* Durante unha operación de pull, os commits descarganse ó `o/main` e logo *mesturanse* á rama `main`. O obxectivo implícito do merge determinase con esta conexión.", + "* Durante un push, o traballo da rama `main` súbese á rama `main` do remoto (que estaba representada localmente por `o/main`). O *destino* do push determinouse con esta conexión entre `main` e `o/main`.", "" ] } @@ -653,19 +653,19 @@ exports.level = { "markdowns": [ "## Trackeando remotos", "", - "Facéndoa curta, esta conexión entre `master` e `o/master` ensínase pola propiedade de \"trackear (seguir) remotos\" das ramas. A rama `master` está configurada para trackear `o/master` -- o que quere dicir, que hai un obxectivo implícito para o merge e un destino implícito para a rama `master`.", + "Facéndoa curta, esta conexión entre `main` e `o/main` ensínase pola propiedade de \"trackear (seguir) remotos\" das ramas. A rama `main` está configurada para trackear `o/main` -- o que quere dicir, que hai un obxectivo implícito para o merge e un destino implícito para a rama `main`.", "", - "Poderías estar pensando cómo esa propiedade apareceu na túa rama `master` se ti non executaches ningún comando para especificalo. Bueno, cando clonas un repositorio co git, esta propiedade asignase por ti automáticamente.", + "Poderías estar pensando cómo esa propiedade apareceu na túa rama `main` se ti non executaches ningún comando para especificalo. Bueno, cando clonas un repositorio co git, esta propiedade asignase por ti automáticamente.", "", - "Durante un clone, git crea unha rama remota por cada rama no remoto (por exemplo, ramas como `o/master`). Pero despois crea unha rama local que trakea a rama activa do remoto, que habitúa ser `master`.", + "Durante un clone, git crea unha rama remota por cada rama no remoto (por exemplo, ramas como `o/main`). Pero despois crea unha rama local que trakea a rama activa do remoto, que habitúa ser `main`.", "", "Una vez completado o git clone, só tés unha única rama local (para que non te asustes) pero podes ver todalas ramas que do remoto (se fora tan curioso). ¡É o mellor de ámbolos dous mundos!", "", "Esto tamén explica por qué poderías ver unha mensaxe como este durante a clonación:", "", - " local branch \"master\" set to track remote branch \"o/master\"", + " local branch \"main\" set to track remote branch \"o/main\"", "", - " rama local \"master\" establecida para trackear a rama remota \"o/master\"" + " rama local \"main\" establecida para trackear a rama remota \"o/main\"" ] } }, @@ -675,13 +675,13 @@ exports.level = { "markdowns": [ "### ¿Podo especificalo eu?", "", - "¡Claro que sí! Podes facer que calquera rama que quixeras seguir `o/master`, e se o fixeras, esa rama vai ter o mesmo destino implícito de push e obxectivo implícito de merge que `master`. Eso significa que podes executar `git push` nunha rama chamada `nonMaster` e ¡que o teu traballo se empurre á rama `master` do remoto!", + "¡Claro que sí! Podes facer que calquera rama que quixeras seguir `o/main`, e se o fixeras, esa rama vai ter o mesmo destino implícito de push e obxectivo implícito de merge que `main`. Eso significa que podes executar `git push` nunha rama chamada `nonMaster` e ¡que o teu traballo se empurre á rama `main` do remoto!", "", "Hai dúas formas de establecer esta propiedade. A primeira é facer checkout a unha nova rama empregando unha rama remota como a referencia especificada. Executar", "", - "`git checkout -b nonMaster o/master`", + "`git checkout -b nonMaster o/main`", "", - "Crea unha nova rama chamada `nonMaster` e persigue a `o/master`." + "Crea unha nova rama chamada `nonMaster` e persigue a `o/main`." ] } }, @@ -689,12 +689,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Suficiente charla, ¡vexamos unha demo! Imos facer checkout a unha nova rama chamada `foo` e facer que siga a `master` no remoto." + "Suficiente charla, ¡vexamos unha demo! Imos facer checkout a unha nova rama chamada `foo` e facer que siga a `main` no remoto." ], "afterMarkdowns": [ - "Como podes ver, empregamos o obxectivo implícito de merge `o/master` para actualizar a rama `foo`. ¡Nota como `master` non foi actualizada!" + "Como podes ver, empregamos o obxectivo implícito de merge `o/main` para actualizar a rama `foo`. ¡Nota como `main` non foi actualizada!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -705,9 +705,9 @@ exports.level = { "O mismo aplica para git push." ], "afterMarkdowns": [ - "Boom. Empurramos o noso traballo á rama `master` do remoto incluso cando a nosa rama se chamaba totalmete distinto." + "Boom. Empurramos o noso traballo á rama `main` do remoto incluso cando a nosa rama se chamaba totalmete distinto." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -719,11 +719,11 @@ exports.level = { "", "Outra forma de especificar a rama a seguir é usar a opción `git branch -u`. Executando", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", "establecemos que a rama `foo` segue a `o/mater`. Se por riba estás parado en `foo`, incluso podes obvialo:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -737,7 +737,7 @@ exports.level = { "afterMarkdowns": [ "O mesmo que antes, só que un comando bastante máis explícito. ¡Unha cousa preciosa!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -745,7 +745,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "¡Ok! Para este nivel, empurra o teu traballo á rama `master` do remoto *sen* estar parado sobre `master` localmente. Déixote que te decates do resto ti só, que para algo estás nun nivel avanzado :P" + "¡Ok! Para este nivel, empurra o teu traballo á rama `main` do remoto *sen* estar parado sobre `main` localmente. Déixote que te decates do resto ti só, que para algo estás nun nivel avanzado :P" ] } } @@ -759,10 +759,10 @@ exports.level = { "markdowns": [ "### remote tracking branch", "", - "在之前的課程中,有一件事情看起來很\"神奇\",那就是 git 知道 `master` branch 是對應到 `o/master` branch。當然這些 branch 有類似的名稱,所以可以大概猜到, local 的 `master` branch 可以對應到 remote 的 `master branch`,但是我們是在兩種情況下可以確定有這個對應關係:", + "在之前的課程中,有一件事情看起來很\"神奇\",那就是 git 知道 `main` branch 是對應到 `o/main` branch。當然這些 branch 有類似的名稱,所以可以大概猜到, local 的 `main` branch 可以對應到 remote 的 `main branch`,但是我們是在兩種情況下可以確定有這個對應關係:", "", - "* 在使用 `pull` 的時候,下載 commit 到 `o/master`,並且 `merge` 這些 commit 到 `master` branch,這就表示這個 merge 的目標是決定於這個對應關係。", - "* 在使用 `push` 的時候,在 `master` branch 上面的 commit 被 push 到 remote 上面的 `master` branch (它在 local 被表示成 `o/master`),這就表示 push 的目標是決定於 `master` 以及 `o/master` 之間的對應關係。", + "* 在使用 `pull` 的時候,下載 commit 到 `o/main`,並且 `merge` 這些 commit 到 `main` branch,這就表示這個 merge 的目標是決定於這個對應關係。", + "* 在使用 `push` 的時候,在 `main` branch 上面的 commit 被 push 到 remote 上面的 `main` branch (它在 local 被表示成 `o/main`),這就表示 push 的目標是決定於 `main` 以及 `o/main` 之間的對應關係。", "" ] } @@ -773,17 +773,17 @@ exports.level = { "markdowns": [ "## Remote tracking", "", - "長話短說,我們可以用 branch 上面的 \"remote tracking\" 特性來表示介於 `master` 以及 `o/master` 的對應關係,`master` branch 被設定用來追蹤(track) `o/master`,這就表示對於 `master` branch 來說的話,有一個 merge 的目標以及 push 的目標。", + "長話短說,我們可以用 branch 上面的 \"remote tracking\" 特性來表示介於 `main` 以及 `o/main` 的對應關係,`main` branch 被設定用來追蹤(track) `o/main`,這就表示對於 `main` branch 來說的話,有一個 merge 的目標以及 push 的目標。", "", - "你可能會覺得很奇怪,當你沒有下任何指令去設定的時候,關於 `master` branch 的對應關係是如何被設定的。喔!其實當你 clone 一個 repo 的時候,其實就已經自動幫你做設定了。 ", + "你可能會覺得很奇怪,當你沒有下任何指令去設定的時候,關於 `main` branch 的對應關係是如何被設定的。喔!其實當你 clone 一個 repo 的時候,其實就已經自動幫你做設定了。 ", "", - "在做 clone 的時候,git 會針對每一個在 remote 上面的 branch 建立一個 branch (例如 `o/master`),之後它會建立一個 local branch 來追蹤目前在 remote 上面的 active branch,在大部份的情況下,幾乎都是設定 `master` branch。", + "在做 clone 的時候,git 會針對每一個在 remote 上面的 branch 建立一個 branch (例如 `o/main`),之後它會建立一個 local branch 來追蹤目前在 remote 上面的 active branch,在大部份的情況下,幾乎都是設定 `main` branch。", "", "一旦 git 完成這個動作,你就只會有一個 local branch ,但是你可以看到所有在 remote 上面的不同的 branch,對於 local 和 remote 來說的話,這樣子是最好的!", "", "這也解釋了為什麼當你 clone 的時候可能會看到以下被輸出的指令:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -793,13 +793,13 @@ exports.level = { "markdowns": [ "### 我可以自己設定嗎?", "", - "是的你可以!你可以設定任何的 branch 來 track `o/master`, 假如你真的這麼做的話,那麼該 branch 的 push 及 merge 的目標就會跟 `master` 一樣。這就表示說你可以在 `totallyNotMaster` branch 上面執行 `git push`,並且 push 你的 commit 到 remote 的 `master` branch!", + "是的你可以!你可以設定任何的 branch 來 track `o/main`, 假如你真的這麼做的話,那麼該 branch 的 push 及 merge 的目標就會跟 `main` 一樣。這就表示說你可以在 `totallyNotMaster` branch 上面執行 `git push`,並且 push 你的 commit 到 remote 的 `main` branch!", "", "有兩個方式可以設定,第一個就是藉由參考一個 remote branch 來 checkout 一個新的 branch。執行", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "建立一個新的 `totallyNotMaster` branch 並且它會 track `o/master`。" + "建立一個新的 `totallyNotMaster` branch 並且它會 track `o/main`。" ] } }, @@ -807,12 +807,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "說的好多,我們現在來看一個例子!我們會 checkout 一個新的 `foo` branch,而且該 branch 會被用來 track remote 上的 `master` branch。" + "說的好多,我們現在來看一個例子!我們會 checkout 一個新的 `foo` branch,而且該 branch 會被用來 track remote 上的 `main` branch。" ], "afterMarkdowns": [ - "就像你看到的,當 `o/master` 更新的時候,`foo` branch 也跟著一起被更新,要注意 master 並沒有被更新!" + "就像你看到的,當 `o/main` 更新的時候,`foo` branch 也跟著一起被更新,要注意 main 並沒有被更新!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -823,9 +823,9 @@ exports.level = { "同樣適用於 `git push`" ], "afterMarkdowns": [ - "哇,即使我們的 branch 名稱完全一點關係都沒有,但我們還是 push 了 commit 到 remote 的 `master` branch 上面。" + "哇,即使我們的 branch 名稱完全一點關係都沒有,但我們還是 push 了 commit 到 remote 的 `main` branch 上面。" ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -837,11 +837,11 @@ exports.level = { "", "另外一個設定 remote tracking 的方法是使用 `git branch -u` 這一個指令,執行", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "你就會看到 `foo` branch 被設定成 track `o/master`,如果你現在已經 checkout 到 foo 這個 branch 上面了,你就可以省略掉它:", + "你就會看到 `foo` branch 被設定成 track `o/main`,如果你現在已經 checkout 到 foo 這個 branch 上面了,你就可以省略掉它:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -855,7 +855,7 @@ exports.level = { "afterMarkdowns": [ "跟之前一樣,就只是一個更加明確的指令,讚啦!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -863,7 +863,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "好!在這個關卡中,我們要 push 我們的 commit 到 remote 上面的 `master` branch,但是我們*不* checkout 到 local 的 `master` branch。因為這是一個進階的課程,所以我會讓你明白其它的東西。:P" + "好!在這個關卡中,我們要 push 我們的 commit 到 remote 上面的 `main` branch,但是我們*不* checkout 到 local 的 `main` branch。因為這是一個進階的課程,所以我會讓你明白其它的東西。:P" ] } } @@ -877,10 +877,10 @@ exports.level = { "markdowns": [ "### 远程跟踪分支", "", - "在前几节课程中有件事儿挺神奇的,Git 好像知道 `master` 与 `o/master` 是相关的。当然这些分支的名字是相似的,可能会让你觉得是依此将远程分支 master 和本地的 master 分支进行了关联。这种关联在以下两种情况下可以清楚地得到展示:", + "在前几节课程中有件事儿挺神奇的,Git 好像知道 `main` 与 `o/main` 是相关的。当然这些分支的名字是相似的,可能会让你觉得是依此将远程分支 main 和本地的 main 分支进行了关联。这种关联在以下两种情况下可以清楚地得到展示:", "", - "* pull 操作时, 提交记录会被先下载到 o/master 上,之后再合并到本地的 master 分支。隐含的合并目标由这个关联确定的。", - "* push 操作时, 我们把工作从 `master` 推到远程仓库中的 `master` 分支(同时会更新远程分支 `o/master`) 。这个推送的目的地也是由这种关联确定的!", + "* pull 操作时, 提交记录会被先下载到 o/main 上,之后再合并到本地的 main 分支。隐含的合并目标由这个关联确定的。", + "* push 操作时, 我们把工作从 `main` 推到远程仓库中的 `main` 分支(同时会更新远程分支 `o/main`) 。这个推送的目的地也是由这种关联确定的!", "" ] } @@ -891,17 +891,17 @@ exports.level = { "markdowns": [ "## 远程跟踪", "", - "直接了当地讲,`master` 和 `o/master` 的关联关系就是由分支的“remote tracking”属性决定的。`master` 被设定为跟踪 `o/master` —— 这意味着为 `master` 分支指定了推送的目的地以及拉取后合并的目标。", + "直接了当地讲,`main` 和 `o/main` 的关联关系就是由分支的“remote tracking”属性决定的。`main` 被设定为跟踪 `o/main` —— 这意味着为 `main` 分支指定了推送的目的地以及拉取后合并的目标。", "", - "你可能想知道 `master` 分支上这个属性是怎么被设定的,你并没有用任何命令指定过这个属性呀!好吧, 当你克隆仓库的时候, Git 就自动帮你把这个属性设置好了。", + "你可能想知道 `main` 分支上这个属性是怎么被设定的,你并没有用任何命令指定过这个属性呀!好吧, 当你克隆仓库的时候, Git 就自动帮你把这个属性设置好了。", "", - "当你克隆时, Git 会为远程仓库中的每个分支在本地仓库中创建一个远程分支(比如 `o/master`)。然后再创建一个跟踪远程仓库中活动分支的本地分支,默认情况下这个本地分支会被命名为 `master`。", + "当你克隆时, Git 会为远程仓库中的每个分支在本地仓库中创建一个远程分支(比如 `o/main`)。然后再创建一个跟踪远程仓库中活动分支的本地分支,默认情况下这个本地分支会被命名为 `main`。", "", "克隆完成后,你会得到一个本地分支(如果没有这个本地分支的话,你的目录就是“空白”的),但是可以查看远程仓库中所有的分支(如果你好奇心很强的话)。这样做对于本地仓库和远程仓库来说,都是最佳选择。", "", "这也解释了为什么会在克隆的时候会看到下面的输出:", "", - " local branch \"master\" set to track remote branch \"o/master\"", + " local branch \"main\" set to track remote branch \"o/main\"", "" ] } @@ -912,13 +912,13 @@ exports.level = { "markdowns": [ "### 我能自己指定这个属性吗?", "", - "当然可以啦!你可以让任意分支跟踪 `o/master`, 然后该分支会像 `master` 分支一样得到隐含的 push 目的地以及 merge 的目标。 这意味着你可以在分支 `totallyNotMaster` 上执行 `git push`,将工作推送到远程仓库的 `master` 分支上。", + "当然可以啦!你可以让任意分支跟踪 `o/main`, 然后该分支会像 `main` 分支一样得到隐含的 push 目的地以及 merge 的目标。 这意味着你可以在分支 `totallyNotMaster` 上执行 `git push`,将工作推送到远程仓库的 `main` 分支上。", "", "有两种方法设置这个属性,第一种就是通过远程分支检出一个新的分支,执行: ", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "就可以创建一个名为 `totallyNotMaster` 的分支,它跟踪远程分支 `o/master`。" + "就可以创建一个名为 `totallyNotMaster` 的分支,它跟踪远程分支 `o/main`。" ] } }, @@ -926,12 +926,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "闲话少说,咱们先看看演示!我们检出一个名叫 `foo` 的新分支,让其跟踪远程仓库中的 `master`" + "闲话少说,咱们先看看演示!我们检出一个名叫 `foo` 的新分支,让其跟踪远程仓库中的 `main`" ], "afterMarkdowns": [ - "正如你所看到的, 我们使用了隐含的目标 `o/master` 来更新 `foo` 分支。需要注意的是 master 并未被更新!" + "正如你所看到的, 我们使用了隐含的目标 `o/main` 来更新 `foo` 分支。需要注意的是 main 并未被更新!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -942,9 +942,9 @@ exports.level = { "git push 同样适用" ], "afterMarkdowns": [ - "我们将一个并不叫 `master` 的分支上的工作推送到了远程仓库中的 `master` 分支上" + "我们将一个并不叫 `main` 的分支上的工作推送到了远程仓库中的 `main` 分支上" ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -956,11 +956,11 @@ exports.level = { "", "另一种设置远程追踪分支的方法就是使用:`git branch -u` 命令,执行:", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "这样 `foo` 就会跟踪 `o/master` 了。如果当前就在 foo 分支上, 还可以省略 foo:", + "这样 `foo` 就会跟踪 `o/main` 了。如果当前就在 foo 分支上, 还可以省略 foo:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -974,7 +974,7 @@ exports.level = { "afterMarkdowns": [ "跟之前一样, 但这个命令更明确!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -982,7 +982,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "OK! 本节我们在**不**检出 `master` 分支的情况下将工作推送到的远程仓库中的 `master` 分支上。因为这是高级课程, 就不做过多的提示了! :P" + "OK! 本节我们在**不**检出 `main` 分支的情况下将工作推送到的远程仓库中的 `main` 分支上。因为这是高级课程, 就不做过多的提示了! :P" ] } } @@ -996,10 +996,10 @@ exports.level = { "markdowns": [ "### Remote Tracking Branches", "", - "In den letzten paar Leveln wirkte es womöglich etwas \"magisch\", dass Git automatisch wusste, dass der Branch `master` irgendwie mit `o/master` verwandt ist. Klar, sie haben ähnliche Namen und daher mag es logisch erscheinen sie in Verbindung zu bringen, aber offensichtlich wird es in zwei Szenarien:", + "In den letzten paar Leveln wirkte es womöglich etwas \"magisch\", dass Git automatisch wusste, dass der Branch `main` irgendwie mit `o/main` verwandt ist. Klar, sie haben ähnliche Namen und daher mag es logisch erscheinen sie in Verbindung zu bringen, aber offensichtlich wird es in zwei Szenarien:", "", - "* Beim `pull` werden Commits in `o/master` heruntergeladen und dann per *Merge* in den Branch `master` gebracht. Aus der Verbindung zwischen den beiden Branches leitet sich das Ziel des Merges ab.", - "* Beim `push` werden Commits vom `master` auf den `master` auf dem Remote Server geschoben (und die Änderung _danach_ in `o/master` abgebildet). Das *Ziel* des Push wird aus der Verbindung zwischen `master` und `o/master` abgeleitet.", + "* Beim `pull` werden Commits in `o/main` heruntergeladen und dann per *Merge* in den Branch `main` gebracht. Aus der Verbindung zwischen den beiden Branches leitet sich das Ziel des Merges ab.", + "* Beim `push` werden Commits vom `main` auf den `main` des Remote Servers geschoben (und die Änderung _danach_ im lokalen `o/main` Branch abgebildet). Das *Ziel* des Push wird aus der Verbindung zwischen `main` und `o/main` abgeleitet.", "" ] } @@ -1008,13 +1008,13 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Langer Rede kurzer Sinn, die Verbindung zwischen `master` und `o/master` ist einfach die Eigenschaft des \"Remote Tracking\" dieser Branches. `master` ist so eingestellt, dass er `o/master` trackt -- das heißt es gibt ein implizites Ziel für `pull` und `push` Operationen auf dem `master` Branch.", + "Langer Rede kurzer Sinn, die Verbindung zwischen `main` und `o/main` ist einfach die Eigenschaft des \"Remote Tracking\" von Branches. `main` ist so eingestellt, dass er `o/main` trackt -- das heißt es gibt ein implizites Ziel für `pull` und `push` Operationen auf dem `main` Branch.", "", - "Du fragst dich vielleicht wieso diese Eigenschaft auf dem `master` definiert ist, wenn du das doch gar nicht explizit gemacht hast. Naja, beim Clonen eines Repository macht Git das für den `master` automatisch.", + "Du fragst dich vielleicht wieso diese Eigenschaft auf dem `main` definiert ist, wenn du das doch gar nicht explizit gemacht hast. Naja, beim Clonen eines Repository macht Git das für den `main` automatisch.", "", - "Während des Clonens erstellt Git einen Remote Branch für jeden Branch, den es auf dem Remote Server findet (also Branches wie `o/master`); dann erstellt es für den Branch, auf den auf dem entfernten Server `HEAD` zeigt (meistens `master`) automatisch einen lokalen Branch und stellt ihn so ein, dass er sein Gegenstück auf dem Server trackt. Deswegen hast du beim clonen vielleicht schon mal dies gesehen:", + "Während des Clonens erstellt Git einen Remote Branch für jeden Branch, den es auf dem Remote Server findet (also Branches wie `o/main`); dann erstellt es für den Branch, auf den auf dem entfernten Server `HEAD` zeigt (meistens `main`) automatisch einen lokalen Branch und stellt ihn so ein, dass er sein Gegenstück auf dem Server trackt. Deswegen hast du beim clonen vielleicht schon mal dies gesehen:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -1024,13 +1024,13 @@ exports.level = { "markdowns": [ "### Kann ich das auch selbst machen?", "", - "Na klar! Du kannst jeden beliebigen Branch so einstellen, dass er `o/master` trackt, und wenn du das tust wird der Branch dieselben impliziten Zielangaben für `push` und `pull` haben wie `master`. Du kannst also `git push` auf dem Branch `absolut_nicht_master` ausführen und deine Commits auf `master` auf dem entfernten Server schieben lassen.", + "Na klar! Du kannst jeden beliebigen Branch so einstellen, dass er `o/main` trackt, und wenn du das tust wird der Branch dieselben impliziten Zielangaben für `push` und `pull` haben wie `main`. Du kannst also `git push` auf dem Branch `absolut_nicht_master` ausführen und deine Commits auf `main` des entfernten Servers schieben lassen.", "", "Es gibt zwei Möglichkeiten diese Eigenschaft zu definieren. Die erste ist, einen neuen lokalen Branch von einem Remote Branch auszuchecken. Wenn man", "", - " git checkout -b absolut_nicht_master o/master", + " git checkout -b absolut_nicht_master o/main", "", - "eingibt, wird ein neuer lokaler Branch namens `absolut_nicht_master` angelegt, der `o/master` trackt." + "eingibt, wird ein neuer lokaler Branch namens `absolut_nicht_master` angelegt, der `o/main` trackt." ] } }, @@ -1038,12 +1038,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Genug gequatscht, schauen wir uns eine Demonstration an! Wir checken einen neuen Branch `foo` aus, so dass er `master` auf dem Server trackt." + "Genug gequatscht, schauen wir uns eine Demonstration an! Wir checken einen neuen Branch `foo` aus, so dass er `main` auf dem Server trackt." ], "afterMarkdowns": [ - "Wie du siehst benutzen wir der implizite Ziel beim `pull` um `foo` zu aktualisieren. Beachte, dass `master` nicht aktualisiert wird." + "Wie du siehst, benutzen wir das implizite Ziel beim `pull` um `foo` zu aktualisieren. Beachte, dass `main` nicht aktualisiert wird." ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -1054,9 +1054,9 @@ exports.level = { "Das gilt auch für `git push`." ], "afterMarkdowns": [ - "Bämm. Wir haben unsere Commits auf den `master` auf dem Server geschoben, obwohl unser lokaler Branch völlig anders heißt." + "Bämm. Wir haben unsere Commits auf den `main` auf dem Server geschoben, obwohl unser lokaler Branch völlig anders heißt." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -1066,13 +1066,13 @@ exports.level = { "markdowns": [ "### Methode 2", "", - "Noch eine Möglichkeit um Remote Tracking auf einem Branch einzustellen, ist einfach `git branch -u` zu benutzen. Wenn man", + "Noch eine Möglichkeit um Remote Tracking auf einem Branch einzustellen, ist `git branch -u`. Wenn man", "", - " git branch -u o/master foo", + " git branch -u o/main foo", "", - "eingibt, wir damit der lokale Branch `foo` so eingestellt, dass er `o/master` trackt. Den Namen des lokalen Branch kannst du auch weglassen, falls du ihn eh aktuell ausgecheckt hast:", + "eingibt, wird damit der lokale Branch `foo` so eingestellt, dass er `o/main` trackt. Den Namen des lokalen Branch kannst du auch weglassen, falls du ihn eh aktuell ausgecheckt hast:", "", - " git branch -u o/master", + " git branch -u o/main", "" ] } @@ -1084,9 +1084,9 @@ exports.level = { "Schauen wir uns auch diese Methode noch an ..." ], "afterMarkdowns": [ - "Genau wie vorher, nur ein bisschen ausführlicherer Befehl. Schick!" + "Genau wie vorher, nur ist der Befehl ein bisschen eindeutiger. Schick!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -1094,7 +1094,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok. In diesem Level muss du Commits auf den `master` auf dem Server schieben, *ohne* den lokalen `master` ausgecheckt zu haben. Den Rest kannst du selbst herausfinden, schließlich ist das hier für Fortgeschrittene. :P" + "Ok. In diesem Level musst du Commits auf den `main` auf dem Server schieben, *ohne* den lokalen `main` ausgecheckt zu haben. Den Rest kannst du selbst herausfinden, schließlich ist das hier für Fortgeschrittene. :P" ] } } @@ -1108,10 +1108,10 @@ exports.level = { "markdowns": [ "### Удалённые-отслеживаемые ветки", "", - "Единственное, что могло бы показаться вам \"магией\" в нескольких предыдущих уроках - это то, как git знает, что ветка `master` соответствует `o/master`. Конечно, эти ветки имеют схожие имена и связь между локальной и удалённой ветками `master` выглядит вполне логично, однако, эта связь наглядно продемонстрирована в двух сценариях:", + "Единственное, что могло бы показаться вам \"магией\" в нескольких предыдущих уроках - это то, как git знает, что ветка `main` соответствует `o/main`. Конечно, эти ветки имеют схожие имена и связь между локальной и удалённой ветками `main` выглядит вполне логично, однако, эта связь наглядно продемонстрирована в двух сценариях:", "", - "* Во время операции pull коммиты скачиваются в ветку `o/master` и затем *соединяются* в ветку `master`. Подразумеваемая цель слияния определяется исходя из этой связи.", - "* Во время операции push наработки из ветки `master` закачиваются на удалённую ветку `master` (которая в локальном представлении выглядит как `o/master`). *Пункт назначения* операции push определяется исходя из связи между `master` и `o/master`.", + "* Во время операции pull коммиты скачиваются в ветку `o/main` и затем *соединяются* в ветку `main`. Подразумеваемая цель слияния определяется исходя из этой связи.", + "* Во время операции push наработки из ветки `main` закачиваются на удалённую ветку `main` (которая в локальном представлении выглядит как `o/main`). *Пункт назначения* операции push определяется исходя из связи между `main` и `o/main`.", "" ] } @@ -1122,19 +1122,19 @@ exports.level = { "markdowns": [ "## Удалённые-отслеживаемые ветки", "", - "Короче, связь между `master` и `o/master` объясняется не иначе как свойство \"удалённое отслеживание\" веток. Ветка `master` настроена так, чтобы следить за `o/master` -- это подразумевает наличие источника для merge и пункта назначения для push в контексте ветки `master`.", + "Короче, связь между `main` и `o/main` объясняется не иначе как свойство \"удалённое отслеживание\" веток. Ветка `main` настроена так, чтобы следить за `o/main` -- это подразумевает наличие источника для merge и пункта назначения для push в контексте ветки `main`.", "", - "Вы, должно быть, удивлены, как это отслеживание появилось на ветке `master`, если мы не запускали ни одной специфической команды. На самом деле, когда вы клонируете репозиторий, это слежение включается автоматически.", + "Вы, должно быть, удивлены, как это отслеживание появилось на ветке `main`, если мы не запускали ни одной специфической команды. На самом деле, когда вы клонируете репозиторий, это слежение включается автоматически.", "", - "В процессе клонирования git локально создаёт удалённые ветки для каждой ветки с удалённого репозитория (такие как `o/master`). Затем он - git - создаёт локальные ветки, которые отслеживают текущую, активную ветку на удалённом репозитории. В большинстве случаев - это `master`.", + "В процессе клонирования git локально создаёт удалённые ветки для каждой ветки с удалённого репозитория (такие как `o/main`). Затем он - git - создаёт локальные ветки, которые отслеживают текущую, активную ветку на удалённом репозитории. В большинстве случаев - это `main`.", "", "К тому моменту как `git clone` завершит своё выполнение, у вас будет лишь одна локальная ветка (так что вы ещё не сильно перегружены), но, если вам будет интересно, вы сможете увидеть все удалённые ветки (при желании).", "", "Именно это объясняет, почему сразу после клонирования вы видите в консоли надпись:", "", - " local branch \"master\" set to track remote branch \"o/master\"", + " local branch \"main\" set to track remote branch \"o/main\"", "", - " (локальная ветка \"master\" теперь следит за удалённой веткой \"o/master\") " + " (локальная ветка \"main\" теперь следит за удалённой веткой \"o/main\") " ] } }, @@ -1144,13 +1144,13 @@ exports.level = { "markdowns": [ "### А могу ли я сделать это самостоятельно?", "", - "Само собой! Вы можете сказать любой из веток, чтобы она отслеживала `o/master`, и если вы так сделаете, эта ветка будет иметь такой же пункт назначения для push и merge как и локальная ветка `master`. Это значит, что вы можете выполнить `git push`, находясь на ветке `totallyNotMaster`, и все ваши наработки с ветки `totallyNotMaster` будут закачены на ветку `master` удалённого репозитория!", + "Само собой! Вы можете сказать любой из веток, чтобы она отслеживала `o/main`, и если вы так сделаете, эта ветка будет иметь такой же пункт назначения для push и merge как и локальная ветка `main`. Это значит, что вы можете выполнить `git push`, находясь на ветке `totallyNotMaster`, и все ваши наработки с ветки `totallyNotMaster` будут закачены на ветку `main` удалённого репозитория!", "", "Есть два способа сделать это. Первый - это выполнить checkout для новой ветки, указав удалённую ветку в качестве ссылки. Для этого необходимо выполнить команду", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - ", которая создаст новую ветку с именем `totallyNotMaster` и укажет ей следить за `o/master`." + ", которая создаст новую ветку с именем `totallyNotMaster` и укажет ей следить за `o/main`." ] } }, @@ -1158,12 +1158,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Хватит болтовни, давайте взглянем на демонстрацию! Мы выполним checkout для новой ветки `foo` и укажем ей, чтобы она отслеживала `master` с удалённого репозитория." + "Хватит болтовни, давайте взглянем на демонстрацию! Мы выполним checkout для новой ветки `foo` и укажем ей, чтобы она отслеживала `main` с удалённого репозитория." ], "afterMarkdowns": [ - "Как вы увидели, мы использовали `o/master`, чтобы обновить ветку `foo`. Обратите внимание, как обновился `master`!!" + "Как вы увидели, мы использовали `o/main`, чтобы обновить ветку `foo`. Обратите внимание, как обновился `main`!!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -1174,9 +1174,9 @@ exports.level = { "Это работает также и для git push." ], "afterMarkdowns": [ - "Оп! Мы закачали наши наработки на ветку `master` нашего удалённого репозитория. При том, что наша локальная ветка называется абсолютно по-другому." + "Оп! Мы закачали наши наработки на ветку `main` нашего удалённого репозитория. При том, что наша локальная ветка называется абсолютно по-другому." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -1188,11 +1188,11 @@ exports.level = { "", "Другой способ указать ветке отслеживать удалённую ветку — это просто использовать команду `git branch -u`. Выполнив команду", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "вы укажете ветке `foo` следить за `o/master`. А если вы ещё при этом находитесь на ветке `foo`, то её можно не указывать:", + "вы укажете ветке `foo` следить за `o/main`. А если вы ещё при этом находитесь на ветке `foo`, то её можно не указывать:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -1206,7 +1206,7 @@ exports.level = { "afterMarkdowns": [ "Словом, всё как и раньше, просто отдельная, специальная команда. Здорово!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -1214,7 +1214,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Отлично! Для выполнения этого уровня давайте выполним push наших наработок в ветку `master` на удалённом репозитории, при этом *не* скачивая и не создавая ветку `master` локально. Я объясню вам оставшееся чуть позже, т.к. это продвинутый курс :P" + "Отлично! Для выполнения этого уровня давайте выполним push наших наработок в ветку `main` на удалённом репозитории, при этом *не* скачивая и не создавая ветку `main` локально. Я объясню вам оставшееся чуть позже, т.к. это продвинутый курс :P" ] } } @@ -1228,10 +1228,10 @@ exports.level = { "markdowns": [ "### リモートトラッキングブランチ", "", - "もしかしたら直近の幾つかの章で、あることが「魔法」に見えたかもしれません。それは、gitが`master`ブランチは`o/master`に関連していることを知っていたということです。確かにこれらのブランチは似た名前を持っていて、それは、リモートの`master`ブランチとローカルの`master`ブランチを繋ぐ論理的な意味を成すかもしれません。しかし、リモートトラッキングの関係が、次のような2つの手順を明確にしています:", + "もしかしたら直近の幾つかの章で、あることが「魔法」に見えたかもしれません。それは、gitが`main`ブランチは`o/main`に関連していることを知っていたということです。確かにこれらのブランチは似た名前を持っていて、それは、リモートの`main`ブランチとローカルの`main`ブランチを繋ぐ論理的な意味を成すかもしれません。しかし、リモートトラッキングの関係が、次のような2つの手順を明確にしています:", "", - "* プルの実行時は、コミットを`o/master`上にダウンロードし、`master`ブランチにそれを*マージ*します。マージの暗黙のターゲットは、リモートトラッキングの関係によって決められます。", - "* プッシュの実行時は、`master`ブランチの作業はリモートの`master`ブランチ(ローカルでは`o/master`によって表現されています)にプッシュされます。プッシュ動作の決定は、`master`と`o/master`のリモートトラッキングな関係から決定されます。", + "* プルの実行時は、コミットを`o/main`上にダウンロードし、`main`ブランチにそれを*マージ*します。マージの暗黙のターゲットは、リモートトラッキングの関係によって決められます。", + "* プッシュの実行時は、`main`ブランチの作業はリモートの`main`ブランチ(ローカルでは`o/main`によって表現されています)にプッシュされます。プッシュ動作の決定は、`main`と`o/main`のリモートトラッキングな関係から決定されます。", "" ] } @@ -1242,17 +1242,17 @@ exports.level = { "markdowns": [ "## リモートトラッキング", "", - "かいつまんでは、`master`と`o/master`の関係は、単にそれぞれのブランチの\"remote traking\"というプロパティによって説召されます。`master`ブランチには`o/master`を追跡しているというように設定されているのです。これは、`master`ブランチのための暗黙のプッシュ先と暗黙の取り込み先が存在することを意味します。", + "かいつまんでは、`main`と`o/main`の関係は、単にそれぞれのブランチの\"remote traking\"というプロパティによって説召されます。`main`ブランチには`o/main`を追跡しているというように設定されているのです。これは、`main`ブランチのための暗黙のプッシュ先と暗黙の取り込み先が存在することを意味します。", "", - "あなたは特に何も指定せずにコマンドを走らせていたのに、`master`ブランチにこのプロパティが設定されていたことに疑問を持つかもしれません。そう、gitによってリポジトリを複製した時、gitは実はこのプロパティを自動的に設定してくれるのです。", + "あなたは特に何も指定せずにコマンドを走らせていたのに、`main`ブランチにこのプロパティが設定されていたことに疑問を持つかもしれません。そう、gitによってリポジトリを複製した時、gitは実はこのプロパティを自動的に設定してくれるのです。", "", - "クローンしている間、gitはリモートブランチをリモートのブランチ全てに対して作ります(例えば、`o/master`のような感じです)。その後、現在アクティブなブランチを追跡するローカルブランチを作成します。多くの場合それは`master`ブランチになります。", + "クローンしている間、gitはリモートブランチをリモートのブランチ全てに対して作ります(例えば、`o/main`のような感じです)。その後、現在アクティブなブランチを追跡するローカルブランチを作成します。多くの場合それは`main`ブランチになります。", "", "gitのクローンが完了した時、あなたの手にはたった一つだけローカルブランチがあります(なので、閉口しないでも大丈夫です)。しかし、あなたは全てのリモートのブランチ同士の違いを見ることができるのです(もし、あなたがそれについて非常に好奇心旺盛であるときはいつでもね!)。これは、両方の世界にとってベストです!", "", "これはクローン中に次のようなコマンド出力が表示されることも説明します:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -1262,13 +1262,13 @@ exports.level = { "markdowns": [ "### 私は自分でトラッキングを設定できますか?", "", - "はい、できます!あなたは、全てのブランチについて`o/master`との追跡を設定でき、もしそうした時は、同じ暗黙のプッシュ先と取り込み先を`master`として設定します。これは、例えば`tottallyNotMaster`という名前のブランチで`git push`を走らせ、作業をリモートの`master`ブランチにプッシュするといったことができるということを意味しています!", + "はい、できます!あなたは、全てのブランチについて`o/main`との追跡を設定でき、もしそうした時は、同じ暗黙のプッシュ先と取り込み先を`main`として設定します。これは、例えば`tottallyNotMaster`という名前のブランチで`git push`を走らせ、作業をリモートの`main`ブランチにプッシュするといったことができるということを意味しています!", "", "このプロパティを設定するには2つの方法があります。一つ目は、リモートブランチのリファレンスを使用して新しいブランチをチェックアウトするというものです。例えば次のコマンドを走らせてます", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "これは`totallyNotMaster`という名前のブランチを新しく作り、`o/master`への追跡プロパティを設定します。" + "これは`totallyNotMaster`という名前のブランチを新しく作り、`o/main`への追跡プロパティを設定します。" ] } }, @@ -1276,12 +1276,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "説明は十分でしょう、デモを見ていきましょう!`foo`という名前の新しいブランチをチェックアウトし、リモートの`master`への追跡プロパティを設定してみます。" + "説明は十分でしょう、デモを見ていきましょう!`foo`という名前の新しいブランチをチェックアウトし、リモートの`main`への追跡プロパティを設定してみます。" ], "afterMarkdowns": [ - "私たちは暗黙の取り込み先である`o/master`を使って、`foo`ブランチを更新します。`master`は更新されないことに注意してください!!" + "私たちは暗黙の取り込み先である`o/main`を使って、`foo`ブランチを更新します。`main`は更新されないことに注意してください!!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -1292,9 +1292,9 @@ exports.level = { "これは`git push`にも適用されます" ], "afterMarkdowns": [ - "わーお。全く違う名前がつけられているブランチですが、リモートの`master`に私たちの作業をプッシュできました。" + "わーお。全く違う名前がつけられているブランチですが、リモートの`main`に私たちの作業をプッシュできました。" ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -1306,11 +1306,11 @@ exports.level = { "", "ブランチのリモートトラッキングを設定するもう一つの方法は、単に`git branch -u`オプションを使うというものです。例えば以下のようにです", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "これは、`foo`ブランチを`o/master`を追跡するように設定します。もし、`foo`が現在チェックアウトしているブランチだった場合、以下のように省略することができます:", + "これは、`foo`ブランチを`o/main`を追跡するように設定します。もし、`foo`が現在チェックアウトしているブランチだった場合、以下のように省略することができます:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -1324,7 +1324,7 @@ exports.level = { "afterMarkdowns": [ "前回と一緒で、より明示的なコマンドですね。とてもいい感じです!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -1332,7 +1332,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "OK!このレベルでは、ローカルで`master`にチェックアウトしていない状態で、リモートの`master`ブランチに作業をプッシュしてみましょう。これは高度な課題ですから、理解するのに少し時間をおく必要があると言っておきます:P" + "OK!このレベルでは、ローカルで`main`にチェックアウトしていない状態で、リモートの`main`ブランチに作業をプッシュしてみましょう。これは高度な課題ですから、理解するのに少し時間をおく必要があると言っておきます:P" ] } } @@ -1346,10 +1346,10 @@ exports.level = { "markdowns": [ "### 원격-추적 브랜치", "", - "지난 몇개의 레슨에서 \"마법\"처럼 보일 수 있는게 하나 있었는데, git이 `master`브랜치가 `o/master`와 연관 되어있는걸 안다는 것입니다. 물론 이 두 브랜치가 이름이 비슷하기 때문에 로컬 `master`브랜치가 원격의 `master`브랜치와 연결 되어있다고 하자면 어찌 논리적으로 말이 되긴 합니다만..., 이 연결은 두가지 시나리오를 통해 뚜렷하게 확인이 됩니다:", + "지난 몇개의 레슨에서 \"마법\"처럼 보일 수 있는게 하나 있었는데, git이 `main`브랜치가 `o/main`와 연관 되어있는걸 안다는 것입니다. 물론 이 두 브랜치가 이름이 비슷하기 때문에 로컬 `main`브랜치가 원격의 `main`브랜치와 연결 되어있다고 하자면 어찌 논리적으로 말이 되긴 합니다만..., 이 연결은 두가지 시나리오를 통해 뚜렷하게 확인이 됩니다:", "", - "* pull 작업을 하는 도중, 커밋들은 `o/master`에 내려받아 지고 그다음 `master` 브랜치로 *merge*됩니다. merge에서 내재된 타겟은 이 연결에서 결정합니다.", - "* push 작업을 하는 도중, `master` 브랜치의 작업은 원격의 `master`브랜치(로컬에서 `o/master`로 표현되는)로 push 됩니다. push의 *목적지*는 master와 `o/master`의 연결에서 결정됩니다.", + "* pull 작업을 하는 도중, 커밋들은 `o/main`에 내려받아 지고 그다음 `main` 브랜치로 *merge*됩니다. merge에서 내재된 타겟은 이 연결에서 결정합니다.", + "* push 작업을 하는 도중, `main` 브랜치의 작업은 원격의 `main`브랜치(로컬에서 `o/main`로 표현되는)로 push 됩니다. push의 *목적지*는 master와 `o/main`의 연결에서 결정됩니다.", "" ] } @@ -1360,17 +1360,17 @@ exports.level = { "markdowns": [ "## 원격 추적", "", - "간단히 말해서, 이 `master`와 `o/master`사이의 연결은 브랜치의 \"원격 추적\" 속성을 통해 간단하게 설명됩니다. `master`브랜치는 `o/master`브랜치를 추적하도록 설정되어 있습니다 -- 이것은 `master`가 merge와 push할 내재된 목적지가 생겼다는 뜻 입니다.", + "간단히 말해서, 이 `main`와 `o/main`사이의 연결은 브랜치의 \"원격 추적\" 속성을 통해 간단하게 설명됩니다. `main`브랜치는 `o/main`브랜치를 추적하도록 설정되어 있습니다 -- 이것은 `main`가 merge와 push할 내재된 목적지가 생겼다는 뜻 입니다.", "", - "여러분은 어떻게 이 속성을 지정해주는 그 어떤 명령어 없이 `master` 브랜치에 설정되있는지 궁금할것 입니다. 사실, 여러분이 git으로 저장소를 clone할때 이 속성이 여러분을 위해 자동으로 설정 됩니다.", + "여러분은 어떻게 이 속성을 지정해주는 그 어떤 명령어 없이 `main` 브랜치에 설정되있는지 궁금할것 입니다. 사실, 여러분이 git으로 저장소를 clone할때 이 속성이 여러분을 위해 자동으로 설정 됩니다.", "", - "clone을 진행하면서 git은 원격 저장소에있는 모든 브랜치에 대해 로컬에 원격 브랜치를 생성합니다(`o/master`같은것들 말이죠). 그 후 원격 저장소에서 현재 active한 브랜치를 추적하는 로컬 브랜치를 생성합니다, 대부분의 경우 `master`가 됩니다.", + "clone을 진행하면서 git은 원격 저장소에있는 모든 브랜치에 대해 로컬에 원격 브랜치를 생성합니다(`o/main`같은것들 말이죠). 그 후 원격 저장소에서 현재 active한 브랜치를 추적하는 로컬 브랜치를 생성합니다, 대부분의 경우 `main`가 됩니다.", "", "git clone이 완료되면, 여러분은 오로지 하나의 로컬 브랜치를 가지게 됩니다(부담스럽지 않도록) 물론 원격 저장소에있는 여러 다른 브랜치도 여전히 확인할 수 있습니다(호기심이 많으시다면). 로컬, 원격 저장소 양쪽에 최적화 되있는거죠!", "", "여러분이 clone을 할 때 아래의 명령어를 볼 수도 있는 이유입니다:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -1380,13 +1380,13 @@ exports.level = { "markdowns": [ "### 내 스스로 지정할수도 있나요?", "", - "당연하죠! 여러분은 아무 임의의 브랜치를 `o/master`를 추적하게 만들 수 있습니다. 이렇게 하면 이 브랜치 또한 내재된 push,merge 목적지를 `master`로 할 것입니다. 여러분은 이제 `totallyNotMaster`라는 브랜치에서 `git push`를 수행해서 원격 저장소의 브랜치 `master`로 작업을 push할 수 있습니다!", + "당연하죠! 여러분은 아무 임의의 브랜치를 `o/main`를 추적하게 만들 수 있습니다. 이렇게 하면 이 브랜치 또한 내재된 push,merge 목적지를 `main`로 할 것입니다. 여러분은 이제 `totallyNotMaster`라는 브랜치에서 `git push`를 수행해서 원격 저장소의 브랜치 `main`로 작업을 push할 수 있습니다!", "", "이 속성을 설정하는데에는 두가지 방법이 있습니다. 첫 번째는 지정한 원격 브랜치를 참조해서 새로운 브랜치를 생성하여 checkout 하는 방법 입니다. 다음을 실행하면", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "`totallyNotMaster`라는 이름의 새 브랜치를 생성하고 `o/master`를 추적하게 설정합니다." + "`totallyNotMaster`라는 이름의 새 브랜치를 생성하고 `o/main`를 추적하게 설정합니다." ] } }, @@ -1394,12 +1394,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "설명은 충분히 한듯 합니다. 직접 확인해 봅시다! `foo`라는 이름의 새 브랜치를 checkout하고 이것을 원격 저장소의 `master`를 추적하도록 설정하겠습니다." + "설명은 충분히 한듯 합니다. 직접 확인해 봅시다! `foo`라는 이름의 새 브랜치를 checkout하고 이것을 원격 저장소의 `main`를 추적하도록 설정하겠습니다." ], "afterMarkdowns": [ - "보이듯이, 우리는 `o/master`를 `foo` 브랜치를 갱신하기 위한 내재된 merge 타겟으로 사용하고 있습니다. master가 갱신되지 않는다는것을 눈치챘죠?" + "보이듯이, 우리는 `o/main`를 `foo` 브랜치를 갱신하기 위한 내재된 merge 타겟으로 사용하고 있습니다. main이 갱신되지 않는다는것을 눈치챘죠?" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -1410,9 +1410,9 @@ exports.level = { "git push에도 적용이 됩니다" ], "afterMarkdowns": [ - "Boom. 브랜치의 이름을 전혀 다른것으로 지었는데도 불구하고 우리 작업이 `master`로 push 되었습니다." + "Boom. 브랜치의 이름을 전혀 다른것으로 지었는데도 불구하고 우리 작업이 `main`로 push 되었습니다." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -1424,11 +1424,11 @@ exports.level = { "", "브랜치에 원격 추적 설정을 하는 또 다른 방법으로는 간단하게 `git branch -u` 옵션을 사용하는 방법이 있습니다. 다음을 실행하면", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "가 `foo` 브랜치가 `o/master`를 추적하도록 설정합니다. 만약 `foo`가 현재 작업하고 있는 브랜치라면 생략해도 됩니다:", + "가 `foo` 브랜치가 `o/main`를 추적하도록 설정합니다. 만약 `foo`가 현재 작업하고 있는 브랜치라면 생략해도 됩니다:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -1442,7 +1442,7 @@ exports.level = { "afterMarkdowns": [ "이전과 같습니다, 좀 더 분명하게 알 수 있느 명령어죠. 좋아요!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -1450,7 +1450,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - " 이번 레벨에서는 로컬의 `master`브랜치가 아닌 다른 브랜치에서 작업을 원격 저장소의 `master`브랜치로 push하세요. 고급 과정이니 더 길게 설명하지는 않을게요 :p" + " 이번 레벨에서는 로컬의 `main`브랜치가 아닌 다른 브랜치에서 작업을 원격 저장소의 `main`브랜치로 push하세요. 고급 과정이니 더 길게 설명하지는 않을게요 :p" ] } } @@ -1464,10 +1464,10 @@ exports.level = { "markdowns": [ "### Гілки віддаленого стеження", "", - "Одна з речей в попередніх уроках, яка могла виглядати, наче \"магія\" -- це те, що гіт якось знає, що локальна гілка `master` відповідає віддаленій `o/master`. Звичайно, ці гілки мають схожі назви, і виглядає логічним співставити віддалену гілку `master` з локальною `master`, однак цей зв'язок найкраще видно в двох випадках:", + "Одна з речей в попередніх уроках, яка могла виглядати, наче \"магія\" -- це те, що гіт якось знає, що локальна гілка `main` відповідає віддаленій `o/main`. Звичайно, ці гілки мають схожі назви, і виглядає логічним співставити віддалену гілку `main` з локальною `main`, однак цей зв'язок найкраще видно в двох випадках:", "", - "* Під час операції `pull`, коміти попадають в `o/master`, а вже потім *мерджаться* в локальний `master`. Гілка в яку відбудеться мердж якраз і визначається цим зв'язком.", - "* Під час операції `push`, коміти з гілки `master` переносяться у віддалений `master` (який локально представлений як `o/master`). *Гілка-призначення* для `push` визначена зв'язком між `master` і `o/master`.", + "* Під час операції `pull`, коміти попадають в `o/main`, а вже потім *мерджаться* в локальний `main`. Гілка в яку відбудеться мердж якраз і визначається цим зв'язком.", + "* Під час операції `push`, коміти з гілки `main` переносяться у віддалений `main` (який локально представлений як `o/main`). *Гілка-призначення* для `push` визначена зв'язком між `main` і `o/main`.", "" ] } @@ -1478,17 +1478,17 @@ exports.level = { "markdowns": [ "## Гілки віддаленого стеження", "", - "В двох словах, цей зв'язок між `master` та `o/master` і є тим \"віддаленим стеженням\", визначеним для гілки. Гілка `master` налаштована стежити за `o/master` -- це визначає неявну ціль для мерджу і неявне призначення під час операції `push` для гілки `master`.", + "В двох словах, цей зв'язок між `main` та `o/main` і є тим \"віддаленим стеженням\", визначеним для гілки. Гілка `main` налаштована стежити за `o/main` -- це визначає неявну ціль для мерджу і неявне призначення під час операції `push` для гілки `main`.", "", "Ви можете подумати, а як же такий зв'язок було встановлено, якщо я не виконував жодної команди? Ну, коли гіт клонує репозиторій, він встановлює цей зв'язок автоматично.", "", - "Під час клонування гіт створює гілки для стеження за кожною гілкою віддаленого репозиторію (напр. `o/master`). Потім він створює локальну гілку, що пов'язана і стежить за активною гілкою у віддаленому репозиторії, яка в більшості випадків називається `master`.", + "Під час клонування гіт створює гілки для стеження за кожною гілкою віддаленого репозиторію (напр. `o/main`). Потім він створює локальну гілку, що пов'язана і стежить за активною гілкою у віддаленому репозиторії, яка в більшості випадків називається `main`.", "", "Після закінчення клонування у вас буде лише одна локальна гілка (щоб не перевантажувати) але ви можете переглянути всі віддалені гілки (якщо буде цікаво). Такий собі розумний компроміс!", "", "Це пояснює чому ви бачите наступне повідомлення під час клонування:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -1498,13 +1498,13 @@ exports.level = { "markdowns": [ "### А можу я сам вибирати?", "", - "Так, можеш! Ти можеш вибрати довільну гілку, яка слідкуватиме за `o/master`, і тоді для цієї гілки `push` та `merge` автоматично працюватимуть з `master`. Це означає, що виконання `git push` в гілці з назвою `totallyNotMaster` (зовсім не master) може зберегти локальні коміти у віддалену гілку `master`!", + "Так, можеш! Ти можеш вибрати довільну гілку, яка слідкуватиме за `o/main`, і тоді для цієї гілки `push` та `merge` автоматично працюватимуть з `main`. Це означає, що виконання `git push` в гілці з назвою `totallyNotMaster` (зовсім не main) може зберегти локальні коміти у віддалену гілку `main`!", "", "Є два шляхи встановити такий зв'язок. Перший - створити нову гілку з явним вказанням зв'язку (за ким слідкувати). Виконання", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "створить гілку `totallyNotMaster`, яка слідкує за `o/master`." + "створить гілку `totallyNotMaster`, яка слідкує за `o/main`." ] } }, @@ -1512,12 +1512,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Досить розмов, подивімось в дії! Створімо нову гілку `foo` і змусьмо її слідкувати за віддаленою гілкою `master`." + "Досить розмов, подивімось в дії! Створімо нову гілку `foo` і змусьмо її слідкувати за віддаленою гілкою `main`." ], "afterMarkdowns": [ - "Як видно з результату, при оновленні `foo` було використано автоматичний зв'язок з `o/master` під час операції `merge`. Зверніть увагу, `master` не було оновлено!" + "Як видно з результату, при оновленні `foo` було використано автоматичний зв'язок з `o/main` під час операції `merge`. Зверніть увагу, `main` не було оновлено!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -1528,9 +1528,9 @@ exports.level = { "Це також справджується і для git push." ], "afterMarkdowns": [ - "Ка-бум!. Ми запушили наші зміни у віддалений `master`, незважаючи на те, що локальна гілка називалась зовсім по-іншому." + "Ка-бум!. Ми запушили наші зміни у віддалений `main`, незважаючи на те, що локальна гілка називалась зовсім по-іншому." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -1542,11 +1542,11 @@ exports.level = { "", "Інший спосіб вказати за якою віддаленою гілкою слідкувати -- просто використовувати опцію `git branch -u`. Виконання", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "заставить гілку `foo` слідкувати за `o/master`. Якщо `foo` є поточною гілкою, її можна навіть не вказувати:", + "заставить гілку `foo` слідкувати за `o/main`. Якщо `foo` є поточною гілкою, її можна навіть не вказувати:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -1560,7 +1560,7 @@ exports.level = { "afterMarkdowns": [ "Як і перший спосіб, але своя окрема команда." ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -1568,7 +1568,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Гаразд! На цьому рівні збережімо свою роботу у віддалену гілку `master` *без* переходу на локальну `master`. Про решту здогадайся сам, раз ти вже дойшов до цього рівня :P" + "Гаразд! На цьому рівні збережімо свою роботу у віддалену гілку `main` *без* переходу на локальну `main`. Про решту здогадайся сам, раз ти вже дойшов до цього рівня :P" ] } } @@ -1582,10 +1582,10 @@ exports.level = { "markdowns": [ "### Theo dõi nhánh từ xa", "", - "Trong những bài học vừa qua có một điểu có vẻ như là \"ma thuật\" đó là git lại biết được nhánh `master` có liên kết đến nhánh `o/master`. Đúng là chúng có tên tương tự và nhánh `master` ở kho chứa từ xa có kết nối đến nhánh `master` ở kho chứa địa phương có vẻ như là hợp lý, nhưng kết nối này được thể hiện rõ ràng trong 2 trường hợp:", + "Trong những bài học vừa qua có một điểu có vẻ như là \"ma thuật\" đó là git lại biết được nhánh `main` có liên kết đến nhánh `o/main`. Đúng là chúng có tên tương tự và nhánh `main` ở kho chứa từ xa có kết nối đến nhánh `main` ở kho chứa địa phương có vẻ như là hợp lý, nhưng kết nối này được thể hiện rõ ràng trong 2 trường hợp:", "", - "* Trong quá trình thực hiện thao tác kéo, các commit được tải xuống nhánh `o/master` và sau đó *hợp nhất* vào nhánh `master`. Mục tiêu hợp nhất dược ngầm định bởi kết nối này.", - "* Trong quá trình thực hiện thao tác đẩy, thảnh quả trên nhánh `master` được đẩy lên nhánh `master` từ xa (sau dó được biểu thị bằng nhánh `o/master` ở kho chứa địa phương). *Đích đến* của lệnh đẩy được xác định bằng kết nối giữa nhánh `master` và nhánh `o/master`.", + "* Trong quá trình thực hiện thao tác kéo, các commit được tải xuống nhánh `o/main` và sau đó *hợp nhất* vào nhánh `main`. Mục tiêu hợp nhất dược ngầm định bởi kết nối này.", + "* Trong quá trình thực hiện thao tác đẩy, thảnh quả trên nhánh `main` được đẩy lên nhánh `main` từ xa (sau dó được biểu thị bằng nhánh `o/main` ở kho chứa địa phương). *Đích đến* của lệnh đẩy được xác định bằng kết nối giữa nhánh `main` và nhánh `o/main`.", "" ] } @@ -1596,17 +1596,17 @@ exports.level = { "markdowns": [ "## Theo dõi từ xa", "", - "Nói tóm lại, kết nối giữa nhánh `master` và nhánh `o/master` đơn giản được giải thích bằng thuộc tính \"theo dõi từ xa\" (\"remote tracking\") của các nhánh. Nhánh `master` được thiết lập để theo dõi nhánh `o/master` -- Điều này có nghĩa là nhánh `master` được chỉ định đích của lệnh đẩy và mục tiêu hợp nhất sau khi kéo.", + "Nói tóm lại, kết nối giữa nhánh `main` và nhánh `o/main` đơn giản được giải thích bằng thuộc tính \"theo dõi từ xa\" (\"remote tracking\") của các nhánh. Nhánh `main` được thiết lập để theo dõi nhánh `o/main` -- Điều này có nghĩa là nhánh `main` được chỉ định đích của lệnh đẩy và mục tiêu hợp nhất sau khi kéo.", "", - "Có thể bạn sẽ thắc mắc rằng tại sao thuộc tính này được thiết lập lên nhánh `master` trong khi bạn chẳng hề chạy một câu lệnh nào chỉ định điều này. Chà, khi bạn dùng git để nhân bản kho chứa, thì thuộc tính này đã được tự động thiết lập cho bạn rồi. ", + "Có thể bạn sẽ thắc mắc rằng tại sao thuộc tính này được thiết lập lên nhánh `main` trong khi bạn chẳng hề chạy một câu lệnh nào chỉ định điều này. Chà, khi bạn dùng git để nhân bản kho chứa, thì thuộc tính này đã được tự động thiết lập cho bạn rồi. ", "", - "Trong quá trình thực hiện nhân bản, git tạo ra nhánh từ xa trên kho chứa địa phương cho tất cả các nhánh trên kho chứa từ xa (các nhánh như `o/master`). Sau đó nó sẽ tạo một nhánh địa phương theo dõi nhánh hoạt dộng hiện tại của kho chứa từ xa, đa phần các trường hợp là nhánh `master`.", + "Trong quá trình thực hiện nhân bản, git tạo ra nhánh từ xa trên kho chứa địa phương cho tất cả các nhánh trên kho chứa từ xa (các nhánh như `o/main`). Sau đó nó sẽ tạo một nhánh địa phương theo dõi nhánh hoạt dộng hiện tại của kho chứa từ xa, đa phần các trường hợp là nhánh `main`.", "", "Một khi quá trình nhân bản hoàn thành, bạn sẽ chỉ có một nhánh địa phương (để bạn không thấy quá tải) nhưng bạn có thể thấy tất cả các nhánh trên kho chứa từ xa (phòng trường hợp bạn thấy tò mò). Đây là phương án tối ưu!", "", "Điều này giải thích việc sau khi nhân bản bạn có thể thấy dòng lệnh sau xuất hiện:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -1616,13 +1616,13 @@ exports.level = { "markdowns": [ "### Tôi có thể tự chỉ định chứ?", "", - "Tất nhiên là được chứ! Bạn có thế khiến bất kỳ nhánh nào theo dõi nhánh `o/master`, và nếu bạn làm vậy, nhánh đó sẽ được được chỉ định đích của lệnh đẩy và mục tiêu hợp nhất giống như nhánh `master`. Điều này có nghĩa là bạn có thể chạy lệnh `git push` trên nhánh có tên là `totallyNotMaster` và thành quả của bạn sẽ được đẩy lên nhánh `master` ở kho chứa từ xa!", + "Tất nhiên là được chứ! Bạn có thế khiến bất kỳ nhánh nào theo dõi nhánh `o/main`, và nếu bạn làm vậy, nhánh đó sẽ được được chỉ định đích của lệnh đẩy và mục tiêu hợp nhất giống như nhánh `main`. Điều này có nghĩa là bạn có thể chạy lệnh `git push` trên nhánh có tên là `totallyNotMaster` và thành quả của bạn sẽ được đẩy lên nhánh `main` ở kho chứa từ xa!", "", "Có 2 cách để thiết lập thuộc tính này. Cách đầu tiên là chuyển sang một nhánh mới từ một nhánh từ xa bằng cách thực hiện", "", - "`git checkout -b totallyNotMaster o/master`", + "`git checkout -b totallyNotMaster o/main`", "", - "Tạo ra một nhánh mới `totallyNotMaster` và thiết lập cho nó theo dõi nhánh `o/master`." + "Tạo ra một nhánh mới `totallyNotMaster` và thiết lập cho nó theo dõi nhánh `o/main`." ] } }, @@ -1630,12 +1630,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Nói vậy là đủ rồi, hãy xem thử một mô tả nào! Ta sẽ chuyển sang một nhánh tên là `foo` và thiết lập cho nó theo dõi nhánh `master` trên kho chứa từ xa." + "Nói vậy là đủ rồi, hãy xem thử một mô tả nào! Ta sẽ chuyển sang một nhánh tên là `foo` và thiết lập cho nó theo dõi nhánh `main` trên kho chứa từ xa." ], "afterMarkdowns": [ - "Như bạn đã thấy, chúng tôi đã sử dụng mục tiêu ngầm `o / master` để cập nhật nhánh` foo. Để ý rằng nhánh `master` không được cập nhật!!" + "Như bạn đã thấy, chúng tôi đã sử dụng mục tiêu ngầm `o / main` để cập nhật nhánh` foo. Để ý rằng nhánh `main` không được cập nhật!!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -1646,9 +1646,9 @@ exports.level = { "Điểu này cũng được áp dụng cho lệnh git push." ], "afterMarkdowns": [ - "Bùùm. Ta đã đẩy thành quả lên nhánh `master` ở kho chứa tù xa mặc dù nhánh của ta có tên hoàn toàn khác biệt" + "Bùùm. Ta đã đẩy thành quả lên nhánh `main` ở kho chứa tù xa mặc dù nhánh của ta có tên hoàn toàn khác biệt" ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -1660,11 +1660,11 @@ exports.level = { "", "Cách khác để thiết lập theo dõi trên một nhánh đó là đơn giản sử dụng lệnh `git branch -u`. Thực hiện", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "sẽ thiết lập nhánh `foo` theo dõi nhánh `o/master`. Nếu nhánh `foo` đang được `HEAD` trỏ tới bạn có thể bỏ tham số này:", + "sẽ thiết lập nhánh `foo` theo dõi nhánh `o/main`. Nếu nhánh `foo` đang được `HEAD` trỏ tới bạn có thể bỏ tham số này:", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -1678,7 +1678,7 @@ exports.level = { "afterMarkdowns": [ "Y hệt như trước, nhưng lệnh này biểu hiện rõ ràng hơn. Tuyệt!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -1686,7 +1686,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Được rồi! Ở cấp độ này hãy để thành quả lên nhánh `master` trên kho lưu trữ từ xa mà không chuyển sang nhánh `master` tại kho địa phương. Hãy tự tìm ra cách nhé, giờ là khóa học nâng cao rồi :P" + "Được rồi! Ở cấp độ này hãy để thành quả lên nhánh `main` trên kho lưu trữ từ xa mà không chuyển sang nhánh `main` tại kho địa phương. Hãy tự tìm ra cách nhé, giờ là khóa học nâng cao rồi :P" ] } } @@ -1700,10 +1700,10 @@ exports.level = { "markdowns": [ "### Sledenje oddaljenih branchev", "", - "Stvar, ki se je morda zdela \"čarobna\" v zadnjih lekcijah je, da je git vedel, da je `master` branch povezan z `o/master`. Seveda imata brancha podobno ime in morda deluje logično, da se poveže `master` branch na oddaljenem repotu z lokalnim `master` branchem, toda ta povezava je jasno predstavljena v dveh scenarijih:", + "Stvar, ki se je morda zdela \"čarobna\" v zadnjih lekcijah je, da je git vedel, da je `main` branch povezan z `o/main`. Seveda imata brancha podobno ime in morda deluje logično, da se poveže `main` branch na oddaljenem repotu z lokalnim `main` branchem, toda ta povezava je jasno predstavljena v dveh scenarijih:", "", - "* Med pull operacijo so commiti preneseni na `o/master` in nato *zmergani* v `master` branch. Implicirana tarča merga je določena iz te povezave.", - "* Med push operacijo je delo iz `master` brancha naloženo na oddaljen `master` branch (ki je bil prej predstavljen kot `o/master` lokalno). *Destinacija* pusha je določena iz povezave med `master` in `o/master`.", + "* Med pull operacijo so commiti preneseni na `o/main` in nato *zmergani* v `main` branch. Implicirana tarča merga je določena iz te povezave.", + "* Med push operacijo je delo iz `main` brancha naloženo na oddaljen `main` branch (ki je bil prej predstavljen kot `o/main` lokalno). *Destinacija* pusha je določena iz povezave med `main` in `o/main`.", "" ] } @@ -1714,17 +1714,17 @@ exports.level = { "markdowns": [ "## Sledenje oddaljenega repota", "", - "Če povzamem, ta povezava med `master` in `o/master` je preprosto razložena z lastnostnjo \"oddaljenega sledenja\" branchev. `master` branch je nastavljen, da sledi `o/master` -- to pomeni, da obstaja impliciran cilj merga in impliciran cilj pusha za `master` branch.", + "Če povzamem, ta povezava med `main` in `o/main` je preprosto razložena z lastnostnjo \"oddaljenega sledenja\" branchev. `main` branch je nastavljen, da sledi `o/main` -- to pomeni, da obstaja impliciran cilj merga in impliciran cilj pusha za `main` branch.", "", - "Morda se sprašuješ, kako se je nastavila ta lastnost na `master` branchu, čeprav nisi izvedel nobenega ukaza za to. No, ko kloniraš repo z gitom, je ta lastnost v bistvu nastavljena zate avtomatično. ", + "Morda se sprašuješ, kako se je nastavila ta lastnost na `main` branchu, čeprav nisi izvedel nobenega ukaza za to. No, ko kloniraš repo z gitom, je ta lastnost v bistvu nastavljena zate avtomatično. ", "", - "Med kloniranjem git ustvari oddaljen branch za vsak branch na oddaljenem repotu (branchi kot `o/master`). Nato ustvari lokalen branch, ki sledi trenutno aktivnemu branchu na oddaljenem repotu, ki je v večini primerov `master`.", + "Med kloniranjem git ustvari oddaljen branch za vsak branch na oddaljenem repotu (branchi kot `o/main`). Nato ustvari lokalen branch, ki sledi trenutno aktivnemu branchu na oddaljenem repotu, ki je v večini primerov `main`.", "", "Ko git clone zaključi, imaš samo en lokalen branch (da nisi zasipan), ampak lahko vidiš vse različne branche na oddaljenem repotu (če si zelo radoveden). Najboljše iz obeh svetov!", "", "To tudi razloži, zakaj lahko vidiš sledeč izpis ukaza med kloniranjem:", "", - " local branch \"master\" set to track remote branch \"o/master\"" + " local branch \"main\" set to track remote branch \"o/main\"" ] } }, @@ -1734,13 +1734,13 @@ exports.level = { "markdowns": [ "### Ali ga lahko določim sam?", "", - "Seveda se da! Narediš lahko, da bilokateri branch sledi `o/master`. V tem primeru bo imel ta branch enak impliciran cilj za push in merge kot `master`. To pomeni, da lahko poženeš `git push` na branchu poimenovanem `splohNiMaster` in pushas svoje delo na `master` branch na oddaljenem repotu!", + "Seveda se da! Narediš lahko, da bilokateri branch sledi `o/main`. V tem primeru bo imel ta branch enak impliciran cilj za push in merge kot `main`. To pomeni, da lahko poženeš `git push` na branchu poimenovanem `splohNiMaster` in pushas svoje delo na `main` branch na oddaljenem repotu!", "", "Obstajata dva načina, da nastaviš to lastnost. Prvi je, da checkoutaš nov branch z uporabo oddaljenega brancha kot določeno referenca. Izvedba", "", - "`git checkout -b splohNiMaster o/master`", + "`git checkout -b splohNiMaster o/main`", "", - "Ustvari nov branch imenovan `splohNiMaster` in nastavi, da sledi `o/master`." + "Ustvari nov branch imenovan `splohNiMaster` in nastavi, da sledi `o/main`." ] } }, @@ -1748,12 +1748,12 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Dovolj besedičenja, poglejmo primer! Checkoutali bomo nov branch poimenovan `foo` in ga nastavili, da sledi `master` na oddaljenem repotu." + "Dovolj besedičenja, poglejmo primer! Checkoutali bomo nov branch poimenovan `foo` in ga nastavili, da sledi `main` na oddaljenem repotu." ], "afterMarkdowns": [ - "Kot lahko vidiš, smo uporabili impliciran cilj mergea `o/master`, da posodobi `foo` branch. Opazi, kako se master ne posodobi!!" + "Kot lahko vidiš, smo uporabili impliciran cilj mergea `o/main`, da posodobi `foo` branch. Opazi, kako se main ne posodobi!!" ], - "command": "git checkout -b foo o/master; git pull", + "command": "git checkout -b foo o/main; git pull", "beforeCommand": "git clone; git fakeTeamwork" } }, @@ -1764,9 +1764,9 @@ exports.level = { "To velja tudi za git push." ], "afterMarkdowns": [ - "Boom. Naše delo smo naložili na `master` na oddaljenem repotu, čeprav je ime našega brancha nekaj povsem drugega." + "Boom. Naše delo smo naložili na `main` na oddaljenem repotu, čeprav je ime našega brancha nekaj povsem drugega." ], - "command": "git checkout -b foo o/master; git commit; git push", + "command": "git checkout -b foo o/main; git commit; git push", "beforeCommand": "git clone" } }, @@ -1778,11 +1778,11 @@ exports.level = { "", "Še en način, da se nastavi oddaljeno sledenje na branchu, je, da se uporabi `git branch -u` opcija. Izvedba", "", - "`git branch -u o/master foo`", + "`git branch -u o/main foo`", "", - "bo nastavila `foo` branch, da sledi `o/master`. Če je `foo` trenutno checkoutan, ga lahko celo izpustiš", + "bo nastavila `foo` branch, da sledi `o/main`. Če je `foo` trenutno checkoutan, ga lahko celo izpustiš", "", - "`git branch -u o/master`", + "`git branch -u o/main`", "" ] } @@ -1796,7 +1796,7 @@ exports.level = { "afterMarkdowns": [ "Enako kot prej, le bolj natančno. Lepa!" ], - "command": "git branch -u o/master foo; git commit; git push", + "command": "git branch -u o/main foo; git commit; git push", "beforeCommand": "git clone; git checkout -b foo" } }, @@ -1804,7 +1804,7 @@ exports.level = { "type": "ModalAlert", "options": { "markdowns": [ - "Ok! Za to stopnjo pushajmo delo na `master` branch na oddaljenem repotu, medtem ko lokalno *nismo* na `masterju`. Ostalo prepustim tebi, ker je to vseeno napredna stopnja :P" + "Ok! Za to stopnjo pushajmo delo na `main` branch na oddaljenem repotu, medtem ko lokalno *nismo* na `masterju`. Ostalo prepustim tebi, ker je to vseeno napredna stopnja :P" ] } } diff --git a/src/style/main.css b/src/style/main.css index a4018d7d..07a23cd2 100644 --- a/src/style/main.css +++ b/src/style/main.css @@ -10,7 +10,7 @@ body { } html, body { - font-family: Monaco, Courier, monospace; + font-family: Menlo, Monaco, Consolas, 'Droid Sans Mono', monospace; color: #eee; } @@ -553,7 +553,7 @@ p.commandLine span.prompt { #commandLineBar p.command { margin: 0; - margin-left: 12px; + margin-left: 20px; } #commandLineBar #commandTextField { @@ -685,11 +685,12 @@ div.helperBar.show { -o-transform: translate3d(0,0,0); -ms-transform: translate3d(0,0,0); transform: translate3d(0,0,0); - height: 85px; + min-height: 85px; } div.helperBar.show.BaseHelperBar { height: auto; + min-height: auto; } #commandLineBar, diff --git a/src/template.index.html b/src/template.index.html index 8b3af18a..8ab4e552 100644 --- a/src/template.index.html +++ b/src/template.index.html @@ -444,14 +444,16 @@
- - - Fork me on GitHub - + + + +