diff --git a/levels/bisect/bisect b/levels/bisect/bisect index cf7bf6a..de22f90 100644 --- a/levels/bisect/bisect +++ b/levels/bisect/bisect @@ -1,43 +1,43 @@ -title = Yellow brick road -cards = checkout commit-auto reset-hard bisect-start bisect-good bisect-bad +t�tulo = Camino de ladrillos amarillos +tarjetas = pago confirmar-restablecimiento autom�tico-duro bisect-start bisect-bueno bisect-malo -[description] +[descripci�n] -(Please zoom out a bit using your mouse wheel! :D) +(�Aleje un poco el zoom con la rueda del mouse! :D) -Oh no! You have lost your key at some point during the day! +�Oh, no! �Has perdido tu llave en alg�n momento del d�a! -Sure, you could look at every single commit in an attempt to find it - but there's a better way: your time machine has a built-in way to find the point in time where things went wrong quickly! +Claro, puedes mirar cada confirmaci�n en un intento de encontrarla, pero hay una manera mejor: �tu m�quina del tiempo tiene una forma incorporada de encontrar el momento en el que las cosas salieron mal r�pidamente! -First, play the "bisect start" card. Then, go to a commit where you don't have the key, and play the "bisect bad" card. Likewise, go to a commit early on where you have the key *in your pocket*, and play the "bisect good" card. +Primero, juega la carta de "inicio en bisecci�n". Luego, vaya a una confirmaci�n donde no tenga la clave y juegue la carta "bisecta mala". Del mismo modo, vaya a un compromiso desde el principio donde tenga la llave *en su bolsillo* y juegue la carta "bisecta bien". -After you've found the last good commit, reset the main branch to it. What happened to the key after you lost it? +Una vez que haya encontrado la �ltima confirmaci�n buena, restablezca la rama principal. �Qu� pas� con la llave despu�s de que la perdiste? -[setup] +[configuraci�n] -echo "You still have your key." > you +echo "A�n tienes tu llave". > tu -for i in {1..30}; do - if test $i -eq 12; then - echo "Your pocket is empty." > you - echo "Is on the ground." > key +para i en {1..30}; hacer + si prueba $i -eq 12; entonces + echo "Tu bolsillo est� vac�o." > tu + echo "Est� en el suelo". > clave fi - if test $i -eq 13; then - echo "Is holding a key in its beak." > bird - rm key + si prueba $i -eq 13; entonces + echo "Tiene una llave en el pico." > p�jaro + llave rm fi - if test $i -eq 14; then - rm bird + si prueba $i -eq 14; entonces + p�jaro rm fi - git add . + git agregar. git commit --allow-empty -m "$i" -done +hecho -[win] +[ganar] -# Find the last good commit -test "$(git log --pretty=%s main | head -1)" -eq 11 +# Encuentra el �ltimo compromiso bueno +prueba "$(git log --pretty=%s main | head -1)" -eq 11 -[congrats] +[felicitaciones] -Well done! :) The only problem is that you now have to walk all the way back home, again... +�Bien hecho! :) El �nico problema es que ahora tienes que caminar todo el camino de regreso a casa, otra vez... \ No newline at end of file diff --git a/levels/bisect/sequence b/levels/bisect/sequence index e8018fe..bb71387 100644 --- a/levels/bisect/sequence +++ b/levels/bisect/sequence @@ -1 +1 @@ -bisect +bisecar \ No newline at end of file diff --git a/levels/branches/branch-create b/levels/branches/branch-create index 110d929..fee3360 100644 --- a/levels/branches/branch-create +++ b/levels/branches/branch-create @@ -1,44 +1,44 @@ -title = Creating branches -cards = checkout commit-auto branch branch-delete reset-hard +t�tulo = Creando ramas +tarjetas = pago confirmar-auto rama-eliminar rama restablecer-hard -[description] +[descripci�n] -You were invited to two parties! At one of them, your favorite band is playing - and the other one is your best friend's birthday party. Where should you go? No worries - as a time travel agent in training, you can go to both parties! +�Te invitaron a dos fiestas! En uno de ellos toca tu grupo favorito y en el otro es la fiesta de cumplea�os de tu mejor amigo. �A d�nde deber�as ir? No te preocupes: como agente de viajes en el tiempo en formaci�n, �puedes ir a ambas partes! -To make it easier to tell which timeline is which, you can create time portals! (We call these "branches".) +Para que sea m�s f�cil saber qu� l�nea de tiempo es cu�l, �puedes crear portales de tiempo! (A estas las llamamos "ramas".) [cli] -Branches also make it really easy to travel between different places using the command line! As soon as you have a branch called "birthday", you can type `git checkout birthday` to travel to it! +�Las sucursales tambi�n hacen que sea muy f�cil viajar entre diferentes lugares usando la l�nea de comando! �Tan pronto como tengas una rama llamada "cumplea�os", puedes escribir `git checkout cumplea�os` para viajar hasta ella! -[setup] +[configuraci�n] -echo "You wrap the birthday present, and grab your concert ticket." > you -git add . -git commit -m "Evening preparations" -echo "You go to the birthday party!" >> you -git add . -git commit -m "Go to the birthday" +echo "Envuelves el regalo de cumplea�os y tomas tu entrada para el concierto". > tu +git agregar. +git commit -m "Preparativos de la tarde" +echo "�Vas a la fiesta de cumplea�os!" >> tu +git agregar. +git commit -m "Ir al cumplea�os" -git checkout HEAD~1 -echo "You go to the concert!" > you -git add . -git commit -m "Go to the concert" +git pago CABEZA~1 +echo "�Vas al concierto!" > tu +git agregar. +git commit -m "Ir al concierto" -git checkout HEAD~1 +git pago CABEZA~1 -git branch -D main +rama git -D principal -[win] +[ganar] -# Create a branch called 'birthday' that points to the birthday timeline. -git show birthday | grep 'to the birthday' +# Crea una rama llamada 'cumplea�os' que apunta a la l�nea de tiempo del cumplea�os. +git mostrar cumplea�os | grep 'al cumplea�os' -# Create a branch called 'concert' that points to the concert timeline. -git show concert | grep 'to the concert' +# Crea una rama llamada 'concierto' que apunte a la l�nea de tiempo del concierto. +concierto de espect�culo de git | grep 'al concierto' -[congrats] +[felicitaciones] -Now you can travel between those branches easily (using `git checkout`) - try it! +Ahora puedes viajar entre esas sucursales f�cilmente (usando `git checkout`). �Pru�balo! -Your friend is happy that you made it to the birthday party and you also got your concert ticket signed. Yay! +Tu amigo est� feliz de que hayas podido asistir a la fiesta de cumplea�os y de que tambi�n hayas firmado tu entrada para el concierto. �Hurra! \ No newline at end of file diff --git a/levels/branches/branch-remove b/levels/branches/branch-remove index 3b576e0..a65dd0c 100644 --- a/levels/branches/branch-remove +++ b/levels/branches/branch-remove @@ -1,47 +1,47 @@ -title = Deleting branches -cards = checkout commit-auto reset-hard branch-delete +t�tulo = Eliminando ramas +tarjetas = pago confirmar-restablecimiento autom�tico-eliminaci�n completa de rama -[description] +[descripci�n] -Life is full of dangers, right? Even when walking to school, it seems like there's a lot of risks! +La vida est� llena de peligros, �verdad? �Incluso cuando caminas hacia la escuela, parece que hay muchos riesgos! -This Monday is especially bad. You made it to school, but there's some timelines you definitely don't want to keep around. +Este lunes es especialmente malo. Llegaste a la escuela, pero hay algunas l�neas de tiempo que definitivamente no quieres mantener. -[setup] +[configuraci�n] -echo You leave your house and start walking to school. > you -git add . -git commit -m "Good morning!" +echo Sales de tu casa y empiezas a caminar hacia la escuela. > tu +git agregar. +git commit -m "�Buenos d�as!" -echo You walk on the right side of the street. >> you -git commit -am "Right side" +echo Caminas por el lado derecho de la calle. >> tu +git commit -am "Lado derecho" -echo You jump over an manhole in the walkway, and arrive at school on time. >> you -git commit -am "Jump" +echo Saltas sobre una alcantarilla en la pasarela y llegas a la escuela a tiempo. >> tu +git commit -am "Saltar" -git checkout HEAD^ -b friend -echo Suddenly, you fall down, splash into stinking water, and are eaten by an alligator. >> you -git commit -am "A new friend" +git checkout HEAD^ -b amigo +echo De repente, te caes, te sumerges en agua apestosa y eres devorado por un caim�n. >> tu +git commit -am "Un nuevo amigo" -git checkout HEAD~2 -b music -echo You walk on the left side of the street. >> you -git commit -am "Left side" +git checkout HEAD~2 -b m�sica +echo Caminas por el lado izquierdo de la calle. >> tu +git commit -am "Lado izquierdo" -echo Because you\'re kind of late, you start running. Someone throws a piano out of their windows, and it smashes you. >> you -git commit -am "Sounds nice" +echo Como llegas un poco tarde, empiezas a correr. Alguien arroja un piano por la ventana y te destroza. >> tu +git commit -am "Suena bien" -git checkout HEAD^ -b ice-cream -echo You\'re not in a hurry, and walk slowly. You even get some ice cream on your way. You arrive at school too late, your teacher is angry, and you are expelled. >> you +git checkout HEAD^ -b helado +echo No tienes prisa y camina despacio. Incluso conseguir�s un helado en el camino. Llegas demasiado tarde a la escuela, tu profesor se enoja y te expulsan. >> tu git commit -am "Yum" -git branch -M main leap -git checkout leap^^ +rama git -M salto principal +salto de pago de git ^^ -[win] +[ganar] -# Find the bad branches and delete them. Keep only the best one. +# Encuentra las ramas defectuosas y elim�nalas. Qu�date s�lo con el mejor. test "$(git show-ref --heads | cut -f2 -d' ')" = "$(echo refs/heads/leap)" -[congrats] +[felicitaciones] -On second thought, maybe you even prefer the ice cream timeline to the main one? :) +Pens�ndolo bien, �tal vez incluso prefieras la l�nea de tiempo del helado a la principal? :) \ No newline at end of file diff --git a/levels/branches/checkout-commit b/levels/branches/checkout-commit index 87061d8..d9bdeda 100644 --- a/levels/branches/checkout-commit +++ b/levels/branches/checkout-commit @@ -1,43 +1,43 @@ -title = Moving through time -cards = checkout commit-auto +t�tulo = Movi�ndose a trav�s del tiempo +tarjetas = pago confirmar-auto -[description] +[descripci�n] -The yellow boxes are frozen points in time, we call them "commits"! You can travel between them using the "checkout" card! (Try it!) +Los cuadros amarillos son puntos congelados en el tiempo, �los llamamos "compromisos"! �Puedes viajar entre ellos usando la tarjeta "checkout"! (�Intentalo!) -Can you find out what happened here? Then, while on the last commit, edit the files to fix the problem, and make a new commit! +�Puedes descubrir qu� pas� aqu�? Luego, durante la �ltima confirmaci�n, edite los archivos para solucionar el problema y realice una nueva confirmaci�n. [cli] -To checkout a specific commit, type `git checkout`, then a space, and then right click on the commit you want! +Para verificar una confirmaci�n espec�fica, escriba `git checkout`, luego un espacio y luego haga clic derecho en la confirmaci�n que desee. -This will insert the commit's unique identifier! +�Esto insertar� el identificador �nico de la confirmaci�n! -[setup] +[configuraci�n] -echo "This piggy bank belongs to the big sister. -It contains 10 coins." > piggy_bank -git add . -git commit -m "The beginning" +echo "Esta alcanc�a pertenece a la hermana mayor. +Contiene 10 monedas." > alcanc�a +git agregar. +git commit -m "El comienzo" -echo "A young girl with brown, curly hair." > little_sister -git add . -git commit -m "Little sister comes in" +echo "Una joven de cabello casta�o y rizado". > hermanita_peque�a +git agregar. +git commit -m "Entra la hermana peque�a" -echo "Has 10 coins." >> little_sister -echo "This piggy bank belongs to the big sister. -It is empty." > piggy_bank -git add . -git commit -m "Little sister does something" +echo "Tiene 10 monedas." >> hermanita_peque�a +echo "Esta alcanc�a pertenece a la hermana mayor. +Est� vac�o." > alcanc�a +git agregar. +git commit -m "La hermana peque�a hace algo" -git checkout HEAD^^ -git branch -df main +git checkout CABEZA^^ +rama git -df principal -[win] +[ganar] -# Restore sisterly peace. -{ git show HEAD:piggy_bank | grep "10 coins"; } && { git show HEAD:little_sister | grep -v "10 coins"; } && { git rev-parse HEAD^^^; } +# Restaurar la paz fraternal. +{ git show HEAD:piggy_bank | grep "10 monedas"; } && { git show HEAD:hermana_peque�a | grep -v "10 monedas"; } && { git rev-parse HEAD^^^; } -[congrats] +[felicitaciones] -Wonderful! Now that you're getting familiar with the time machine, let's look at some more complicated situations... +�Maravilloso! Ahora que te est�s familiarizando con la m�quina del tiempo, veamos algunas situaciones m�s complicadas... \ No newline at end of file diff --git a/levels/branches/fork b/levels/branches/fork index a58dcf5..bde4b25 100644 --- a/levels/branches/fork +++ b/levels/branches/fork @@ -1,65 +1,65 @@ -title = Make parallel commits -cards = checkout commit-auto +title = Realizar confirmaciones paralelas +tarjetas = pago confirmar-auto -[description] +[descripci�n] -Did you know that creating parallel timelines is perfectly legal and safe? It's true! +�Sab�as que crear l�neas de tiempo paralelas es perfectamente legal y seguro? �Es cierto! -Can you find out when things went wrong in this zoo? Then, go back to the last good commit and create a parallel universe where everyone is happy! +�Puedes descubrir cu�ndo salieron mal las cosas en este zool�gico? Luego, regresa al �ltimo compromiso bueno y crea un universo paralelo donde todos sean felices. [cli] -The blue animal represents a concept known as the "HEAD pointer" in Git: It shows you which commit is the current one. +El animal azul representa un concepto conocido como "puntero HEAD" en Git: muestra cu�l confirmaci�n es la actual. -Here's a cool trick to go to the previous commit: +Aqu� hay un truco genial para ir a la confirmaci�n anterior: - git checkout HEAD^ + git checkout CABEZA^ -You can also go back two commits by typing, for example: +Tambi�n puedes retroceder dos confirmaciones escribiendo, por ejemplo: - git checkout HEAD~2 + git pago CABEZA~2 -[setup] +[configuraci�n] -mkdir cage -echo "Looks very hungry." > cage/lion +jaula mkdir +echo "Parece tener mucha hambre." > jaula/le�n -echo "A small child. -It really loves cats!" > child -git add . -git commit -m "The beginning" +echo "Un ni�o peque�o. +�Le encantan los gatos!" > ni�o +git agregar. +git commit -m "El comienzo" -echo "It's holding a lollipop." >> child -git commit -am "The child buys something" +echo "Est� sosteniendo una paleta". >> ni�o +git commit -am "El ni�o compra algo" -mv child cage -git add . -git commit -m "The child climbs somewhere" +jaula infantil mv +git agregar. +git commit -m "El ni�o sube a alguna parte" -git rm cage/child -echo "Looks happy. :)" > cage/lion -git add . -git commit -m "Oh no" +git rm jaula/ni�o +echo "Parece feliz. :)" > jaula/le�n +git agregar. +git commit -m "Oh, no" -echo "It's sleeping." > cage/lion -git add . -git commit -m "Nap time!" +echo "Est� durmiendo". > jaula/le�n +git agregar. +git commit -m "�Hora de la siesta!" -git checkout --detach -git branch -d main +git checkout --separar +git rama -d principal -[win] +[ganar] -# Make sure that the child is happy. -git ls-tree --name-only -r HEAD | grep child +# Aseg�rese de que el ni�o est� feliz. +git ls-tree --name-only -r HEAD | ni�o grep -# Make sure that the lion gets something to eat. -git show HEAD:cage/lion | grep -v "very hungry" +# Aseg�rate de que el le�n tenga algo de comer. +git show HEAD:jaula/le�n | grep -v "mucha hambre" -[congrats] +[felicitaciones] -Whew, good job! This seems like a *much* better outcome. +�Buen trabajo! Esto parece un resultado *mucho* mejor. -Feel free to add more parallel timelines, or make them longer. +Si�ntase libre de agregar m�s l�neas de tiempo paralelas o hacerlas m�s largas. -If you're ready, our next mission is already waiting... +Si est�s listo, nuestra pr�xima misi�n ya te est� esperando... \ No newline at end of file diff --git a/levels/branches/grow b/levels/branches/grow index 77fe360..df6a44a 100644 --- a/levels/branches/grow +++ b/levels/branches/grow @@ -1,49 +1,49 @@ -title = Branches grow with you! -cards = checkout commit-auto branch branch-delete reset-hard +title = �Las ramas crecen contigo! +tarjetas = pago confirmar-auto rama-eliminar rama restablecer-hard -[description] +[descripci�n] -Note that there are two options to "travel to the end of a timeline": +Tenga en cuenta que hay dos opciones para "viajar hasta el final de una l�nea de tiempo": -First, you can directly travel to the commit, like we've done it before. +Primero, puede viajar directamente al compromiso, como lo hemos hecho antes. -And second, you can travel to the branch label. In this case, when you make a new commit, the branch will grow with you, and still point at the end of the timeline! +Y en segundo lugar, puedes viajar hasta la etiqueta de la sucursal. En este caso, cuando hagas una nueva confirmaci�n, la rama crecer� contigo y seguir� apuntando al final de la l�nea de tiempo. [cli] -To travel to a branch, type `git checkout name_of_the_branch`. +Para viajar a una sucursal, escriba `git checkout nombre_de_la_sucursal`. -And to travel to the last commit, type `git checkout --detach name_of_the_branch`. +Y para viajar a la �ltima confirmaci�n, escriba `git checkout --detach name_of_the_branch`. -[setup] +[configuraci�n] -echo "You wrap the birthday present, and grab your concert ticket." > you -git add . -git commit -m "Evening preparations" -echo "You go to the birthday party!" >> you -git add . -git commit -m "Go to the birthday" -git branch birthday +echo "Envuelves el regalo de cumplea�os y tomas tu entrada para el concierto". > tu +git agregar. +git commit -m "Preparativos de la tarde" +echo "�Vas a la fiesta de cumplea�os!" >> tu +git agregar. +git commit -m "Ir al cumplea�os" +cumplea�os de la rama git -git checkout HEAD~1 -echo "You go to the concert!" > you -git add . -git commit -m "Go to the concert" -git branch concert +git pago CABEZA~1 +echo "�Vas al concierto!" > tu +git agregar. +git commit -m "Ir al concierto" +concierto de la rama git -git checkout HEAD~1 +git pago CABEZA~1 -git branch -D main +rama git -D principal -[win] +[ganar] -# Travel directly to the last yellow commit of the birthday timeline, make a change to 'you', and make a commit -for commit in $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d' '); do - if test $(git rev-parse $commit^) = $(git rev-parse birthday); then - return 0 +# Viaja directamente al �ltimo compromiso amarillo de la l�nea de tiempo del cumplea�os, haz un cambio a "t�" y realiza un compromiso +para confirmar en $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d''); hacer + si prueba $(git rev-parse $commit^) = $(git rev-parse cumplea�os); entonces + regresar 0 fi -done -return 1 +hecho +regresar 1 -# Travel to the blue 'concert' branch, make a change to 'you', and a commit. -git show concert^ | grep "Go to the concert" +# Viaja a la rama azul 'concierto', haz un cambio en 't�' y confirma. +concierto de espect�culo de git ^ | grep "Ir al concierto" \ No newline at end of file diff --git a/levels/branches/reorder b/levels/branches/reorder index 1c36c08..6db2d6e 100644 --- a/levels/branches/reorder +++ b/levels/branches/reorder @@ -1,89 +1,89 @@ -title = Moving branches around -cards = checkout commit-auto merge reset-hard +title = Moviendo ramas alrededor +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -One of your colleagues messed up here, and put the branches in the wrong timelines! +�Uno de tus colegas se equivoc� aqu� y coloc� las ramas en los plazos equivocados! -You could delete and re-create these branches - but you can also directly move them to different commits, by using +Puede eliminar y volver a crear estas ramas, pero tambi�n puede moverlas directamente a diferentes confirmaciones mediante el uso - git checkout + git pago -on the branch names, and then using +en los nombres de las ramas, y luego usando - git reset --hard + reinicio de git --duro -on the commit where you want the branch to be. +en el compromiso donde desea que est� la rama. -The donut branch is in the right place, but the timeline is still incomplete - make you actually *eat* the donut in that branch! +La rama de donas est� en el lugar correcto, pero la l�nea de tiempo a�n est� incompleta. �Haz que *te comas* la dona en esa rama! -[setup] +[configuraci�n] -echo "You do not have a baguette. +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you +No tienes donut." > tu -git add . -git commit -m "The Beginning" +git agregar. +git commit -m "El comienzo" -git checkout -b coffee -echo "You have a baguette. +git pago -b caf� +echo "Tienes una baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You buy a baguette" +No tienes donut." > tu +git agregar. +git commit -m "Compras una baguette" -echo "You ate a baguette. +echo "Te comiste una baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You eat the baguette" +No tienes donut." > tu +git agregar. +git commit -m "Te comes la baguette" -git checkout -b baguette main -echo "You do not have a baguette. +git checkout -b baguette principal +echo "No tienes baguette. -You have coffee. +Tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You buy some coffee" +No tienes donut." > tu +git agregar. +git commit -m "Compras un poco de caf�" -echo "You do not have a baguette. +echo "No tienes baguette. -You drank coffee. +Bebiste caf�. -You do not have a donut." > you -git add . -git commit -m "You drink the coffee" +No tienes donut." > tu +git agregar. +git commit -m "T� bebes el caf�" -git checkout -b donut main -echo "You do not have a baguette. +git checkout -b donut principal +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You have a donut." > you -git add . -git commit -m "You buy a donut" +Tienes un donut." > t� +git agregar. +git commit -m "Compras una dona" -git checkout --detach main +git checkout --separar principal -[win] +[ganar] -# Did you eat a baguette on the baguette branch? -git show baguette:you | grep "You ate.*baguette" +# �Te comiste una baguette en la rama de baguette? +git show baguette:t� | grep "Comiste.*baguette" -# Did you drink a coffee on the coffee branch? -git show coffee:you | grep "You drank.*coffee" +# �Tomaste un caf� en la rama del caf�? +git show caf�:t� | grep "Bebiste.*caf�" -# Did you eat a donut on the donut branch? -git show donut:you | grep "You ate.*donut" +# �Te comiste una rosquilla en la rama de rosquilla? +git show donut:t� | grep "Comiste.*dona" -[actions] +[comportamiento] -test "$(git rev-parse HEAD^)" = "$(git rev-parse donut)" && hint "Remember to checkout the blue branch tag when you want it to grow with the timeline." +test "$(git rev-parse HEAD^)" = "$(git rev-parse donut)" && sugerencia "Recuerda revisar la etiqueta de rama azul cuando quieras que crezca con la l�nea de tiempo". \ No newline at end of file diff --git a/levels/branches/sequence b/levels/branches/sequence index 2619ea0..737bf14 100644 --- a/levels/branches/sequence +++ b/levels/branches/sequence @@ -1,6 +1,6 @@ -checkout-commit -fork -branch-create -grow -branch-remove -reorder +compromiso de pago +tenedor +crear rama +crecer +eliminar rama +reordenar \ No newline at end of file diff --git a/levels/changing-the-past/rebase b/levels/changing-the-past/rebase index 6ed89a8..5b2c284 100644 --- a/levels/changing-the-past/rebase +++ b/levels/changing-the-past/rebase @@ -1,86 +1,86 @@ -title = Rebasing -cards = checkout commit-auto reset-hard rebase +t�tulo = Rebase +tarjetas = pago compromiso-restablecimiento autom�tico-rebase completa -[description] +[descripci�n] -Okay - turns out that saving time in the morning by utilizing parallel universes is against the regulations of the International Time Travel Association. You'll have to do your tasks in sequence after all. +Bien, resulta que ahorrar tiempo por la ma�ana utilizando universos paralelos va en contra de las regulaciones de la Asociaci�n Internacional de Viajes en el Tiempo. Despu�s de todo, tendr�s que hacer tus tareas en secuencia. -See the "rebase" card? When you drag it to a commit, it will copy the events in your current timeline after the specified one! This way, make a clean, linear timeline where you visit all three shops. +�Ves la tarjeta de "rebase"? Cuando lo arrastras a una confirmaci�n, copiar� los eventos en tu l�nea de tiempo actual despu�s del especificado. De esta manera, cree una l�nea de tiempo limpia y lineal en la que visite las tres tiendas. -Again, we want to make that our base reality - the "main" branch should point to that timeline! +Nuevamente, queremos que esa sea nuestra realidad b�sica: �la rama "principal" debe apuntar a esa l�nea de tiempo! -[setup] +[configuraci�n] -echo "You do not have a baguette. +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you +No tienes donut." > tu -git add . -git commit -m "The Beginning" +git agregar. +git commit -m "El comienzo" -git checkout -b baguette main -echo "You have a baguette. +git checkout -b baguette principal +echo "Tienes una baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You buy a baguette" +No tienes donut." > tu +git agregar. +git commit -m "Compras una baguette" -echo "You ate a baguette. +echo "Te comiste una baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You eat the baguette" +No tienes donut." > tu +git agregar. +git commit -m "Te comes la baguette" -git checkout -b coffee main -echo "You do not have a baguette. +git checkout -b caf� principal +echo "No tienes baguette. -You have coffee. +Tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You buy some coffee" +No tienes donut." > tu +git agregar. +git commit -m "Compras un poco de caf�" -echo "You do not have a baguette. +echo "No tienes baguette. -You drank coffee. +Bebiste caf�. -You do not have a donut." > you -git add . -git commit -m "You drink the coffee" +No tienes donut." > tu +git agregar. +git commit -m "T� bebes el caf�" -git checkout -b donut main -echo "You do not have a baguette. +git checkout -b donut principal +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You have a donut." > you -git add . -git commit -m "You buy a donut" +Tienes un donut." > t� +git agregar. +git commit -m "Compras una dona" -echo "You do not have a baguette. +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You ate a donut." > you -git add . -git commit -m "You eat the donut" +Te comiste un donut." > t� +git agregar. +git commit -m "Te comes el donut" -git checkout --detach main +git checkout --separar principal -[win] +[ganar] -# Order all tree branches into one and move the main branch ref -{ git show main:you | grep "You ate.*baguette"; } && { git show main:you | grep "You drank.*coffee"; } && { git show main:you | grep "You ate.*donut"; } && { test "$(git log main --oneline | wc -l)" -eq 7; } +# Ordena todas las ramas de los �rboles en una y mueve la rama principal ref. +{ git show principal:t� | grep "Comiste.*baguette"; } && { git show main:t� | grep "Bebiste.*caf�"; } && { git show main:t� | grep "Comiste.*dona"; } && { prueba "$(git log main --oneline | wc -l)" -eq 7; } -[congrats] +[felicitaciones] -Notice how the other timelines and commits are still there - if anything goes wrong, you can also travel back to them. +Observe c�mo las otras l�neas de tiempo y confirmaciones todav�a est�n all�; si algo sale mal, tambi�n puede regresar a ellas. -It's really hard to actually *destroy* stuff with your time machine. +Es realmente dif�cil *destruir* cosas con tu m�quina del tiempo. \ No newline at end of file diff --git a/levels/changing-the-past/reorder b/levels/changing-the-past/reorder index 04f66cb..1a6f05f 100644 --- a/levels/changing-the-past/reorder +++ b/levels/changing-the-past/reorder @@ -1,78 +1,78 @@ -title = Reordering events -cards = checkout commit-auto reset-hard rebase-interactive cherry-pick +t�tulo = Reordenar eventos +tarjetas = pago compromiso-restablecimiento autom�tico-rebase duro-selecci�n interactiva -[description] +[descripci�n] -Oops, looks like there's something messed up here. Can you put the events back into their correct order? +Ups, parece que hay algo mal aqu�. �Puedes volver a poner los eventos en el orden correcto? -There are two ways to do this: You can drag the "interactive rebase" card to the commit before the one you want to change, then reorder the lines in the file that opens, and save it. +Hay dos formas de hacer esto: puede arrastrar la tarjeta "rebase interactiva" a la confirmaci�n antes de la que desea cambiar, luego reordenar las l�neas en el archivo que se abre y guardarlo. -Or you can reset the main tag to the very first commit, and then cherry-pick single commits in the order you want. You have cards for both approaches! +O puede restablecer la etiqueta principal a la primera confirmaci�n y luego seleccionar confirmaciones individuales en el orden que desee. �Tienes cartas para ambos enfoques! -[setup] +[configuraci�n] -echo "You just woke up. +echo "Acabas de despertar. -You are NOT wearing underwear. +NO est�s usando ropa interior. -You are NOT wearing pants. +NO llevas pantalones. -You are NOT wearing a shirt. +NO llevas camisa. -You are NOT wearing shoes." > you -git add . +NO est�s usando zapatos." > t� +git agregar. -git commit -m "The Beginning" +git commit -m "El comienzo" -echo "You just woke up. +echo "Acabas de despertar. -You are NOT wearing underwear. +NO est�s usando ropa interior. -You are NOT wearing pants. +NO llevas pantalones. -You are NOT wearing a shirt. +NO llevas camisa. -You are wearing shoes." > you -git commit -am "Put on shoes" +Est�s usando zapatos." > t� +git commit -am "Ponte los zapatos" -echo "You just woke up. +echo "Acabas de despertar. -You are NOT wearing underwear. +NO est�s usando ropa interior. -You are wearing pants. +Est�s usando pantalones. -You are NOT wearing a shirt. +NO llevas camisa. -You are wearing shoes." > you -git commit -am "Put on pants" +Est�s usando zapatos." > t� +git commit -am "Ponte los pantalones" -echo "You just woke up. +echo "Acabas de despertar. -You are wearing underwear. +Est�s usando ropa interior. -You are wearing pants. +Est�s usando pantalones. -You are NOT wearing a shirt. +NO llevas camisa. -You are wearing shoes." > you -git commit -am "Put on underwear" +Est�s usando zapatos." > t� +git commit -am "Ponte ropa interior" -echo "You just woke up. +echo "Acabas de despertar. -You are wearing underwear. +Est�s usando ropa interior. -You are wearing pants. +Est�s usando pantalones. -You are wearing a shirt. +Est�s usando una camisa. -You are wearing shoes." > you -git commit -am "Put on shirt" +Est�s usando zapatos." > t� +git commit -am "Ponte la camisa" -[win] +[ganar] -# Reorder the commits to dress yourself in the correct way -{ git log main --oneline | perl -0777 -ne'exit(1) if not /shoes[\s\S]*pants[\s\S]*underwear/'; } && { test "$(git log main --oneline | wc -l)" -eq 5; } +# Reordena los commits para vestirte de la forma correcta +{ git log principal --oneline | perl -0777 -ne'exit(1) si no /zapatos[\s\S]*pantalones[\s\S]*ropa interior/'; } && { prueba "$(git log main --oneline | wc -l)" -eq 5; } -[congrats] +[felicitaciones] -Feel free to reset the level and try the other strategy! Which one do you like better? +�Si�ntete libre de restablecer el nivel y probar la otra estrategia! �Cu�l te gusta m�s? \ No newline at end of file diff --git a/levels/changing-the-past/sequence b/levels/changing-the-past/sequence index 43c5d08..f3f9870 100644 --- a/levels/changing-the-past/sequence +++ b/levels/changing-the-past/sequence @@ -1,2 +1,2 @@ rebase -reorder +reorder \ No newline at end of file diff --git a/levels/files/files-add b/levels/files/files-add index 0676df6..de55494 100644 --- a/levels/files/files-add +++ b/levels/files/files-add @@ -1,32 +1,32 @@ -title = Interior design -cards = file-new file-delete +t�tulo = Dise�o de interiores +tarjetas = archivo-nuevo archivo-eliminar -[description] +[descripci�n] -Now that your room looks tidy, you can start to unpack your stuff. You brought two new pieces of furniture with you and with a bright smile, -you see that their colors match the color of your bed! +Ahora que tu habitaci�n luce ordenada, puedes comenzar a desempacar tus cosas. Trajiste dos muebles nuevos y con una sonrisa brillante, +�Ya ves que sus colores combinan con el color de tu cama! -Build up your two pieces of furniture by playing the touch card. -Then name your furniture - you can choose whatever you like. +Construye tus dos muebles jugando la carta t�ctil. +Luego, ponle un nombre a tus muebles; puedes elegir el que quieras. -Make sure the colors match! You can find the bed's color in its description. -Don't forget to add a color and description to your new furnitures, too! +�Aseg�rate de que los colores combinen! Puedes encontrar el color de la cama en su descripci�n. +�No olvides agregar tambi�n un color y una descripci�n a tus nuevos muebles! -[setup] +[configuraci�n] -echo A yellow cozy bed. > bed +echo Una acogedora cama amarilla. > cama -[win] +[ganar] -# Add two more pieces of furniture -NUM_FILES="$(ls | wc -l)" -test "$NUM_FILES" -ge 3 +# Agrega dos muebles m�s +NUM_FILES="$(ls | ba�o -l)" +prueba "$NUM_FILES" -ge 3 -# Make sure the colors match your bed's color. -NUM_FILES="$(ls | wc -l)" -YELLOW_FILES="$(grep -li yellow * | wc -l)" -test "$NUM_FILES" -ge 2 && test "$YELLOW_FILES" = "$NUM_FILES" +# Aseg�rese de que los colores coincidan con el color de su cama. +NUM_FILES="$(ls | ba�o -l)" +YELLOW_FILES="$(grep -li amarillo * | wc -l)" +prueba "$NUM_FILES" -ge 2 && prueba "$YELLOW_FILES" = "$NUM_FILES" -[congrats] +[felicitaciones] -Don't you immediately feel more at home? +�No te sientes inmediatamente m�s como en casa? \ No newline at end of file diff --git a/levels/files/files-delete b/levels/files/files-delete index 7bf33be..3d43be7 100644 --- a/levels/files/files-delete +++ b/levels/files/files-delete @@ -1,36 +1,36 @@ -title = Unexpected Roommates -cards = file-delete +t�tulo = Compa�eros de cuarto inesperados +tarjetas = eliminar archivo -[description] +[descripci�n] -The first day at Time Travel School comes to an end and you receive the key to your room. -Full of excitement you open the door just to find... spider webs! Spider webs everywhere! +El primer d�a en Time Travel School llega a su fin y recibes la llave de tu habitaci�n. +Lleno de emoci�n abres la puerta s�lo para encontrar... �telas de ara�a! �Telaras de ara�a por todas partes! -Remove all the spider webs you can find with the remove card! +�Elimina todas las telara�as que puedas encontrar con la tarjeta de eliminaci�n! [cli] -On the command line, you can easily delete all files ending in -web using this command: +En la l�nea de comando, puedes eliminar f�cilmente todos los archivos que terminan en -web usando este comando: - rm *web + habitaci�n *web -[setup] +[configuraci�n] -echo A tiny spider web is next to your window. > tiny_web -echo A big spider web sticks above your bed. > big_web -echo A cozy bed. > bed -echo An extra thick spider web is right beside your door. > thick_web +echo Una peque�a telara�a est� al lado de tu ventana. > peque�a_web +echo Una gran telara�a cuelga encima de tu cama. > gran_web +eco Una cama acogedora. > cama +echo Una telara�a extra gruesa est� justo al lado de tu puerta. > red_gruesa -[win] +[ganar] -# Remove all spider webs. -! ls | grep thick_web && +# Retire todas las telas de ara�a. +! ls | grep web_gruesa && ! ls | grep big_web && ! ls | grep tiny_web -# But make sure you keep your bed! -ls | grep bed +# �Pero aseg�rate de quedarte en tu cama! +ls | cama grep -[congrats] +[felicitaciones] -Your room looks now very tidy and cozy! Time to unpack your stuff! +�Tu habitaci�n ahora se ve muy ordenada y acogedora! �Es hora de desempacar tus cosas! \ No newline at end of file diff --git a/levels/files/sequence b/levels/files/sequence index cb24408..228aef3 100644 --- a/levels/files/sequence +++ b/levels/files/sequence @@ -1,3 +1,2 @@ -files-delete -files-add - +eliminar archivos +agregar archivos \ No newline at end of file diff --git a/levels/index/add b/levels/index/add index b68f357..07616bc 100644 --- a/levels/index/add +++ b/levels/index/add @@ -1,38 +1,38 @@ -title = Updating files in the index -cards = add commit checkout +title = Actualizando archivos en el �ndice +tarjetas = agregar confirmaci�n de pago -[description] +[descripci�n] -So you start working, and make changes to your files! Git lets you choose which of these changes you want to put in the next commit. This is like updating the index version of that file to the new version. +�As� que comienza a trabajar y realiza cambios en tus archivos! Git te permite elegir cu�l de estos cambios deseas realizar en la siguiente confirmaci�n. Esto es como actualizar la versi�n de �ndice de ese archivo a la nueva versi�n. -This allows you to have smaller commits, that describe better what you changed! +�Esto le permite tener confirmaciones m�s peque�as que describen mejor lo que cambi�! -The command for this is the same - `git add`! +El comando para esto es el mismo: �`git add`! -[setup] +[configuraci�n] -echo a > a -echo b > b -echo c > c -git add . -git commit -m "Initial commit" +eco a > a +eco b > b +eco c > c +git agregar. +git commit -m "Compromiso inicial" -[win] +[ganar] -# Make changes to all files! -test "$(cat a)" != "a" && -test "$(cat b)" != "b" && -test "$(cat c)" != "c" +# �Haz cambios en todos los archivos! +prueba "$(cat a)" != "a" && +prueba "$(cat b)" != "b" && +prueba "$(cat c)" != "c" -# Add only the changes of a and c, and make a commit! Finally, make a commit which captures the changes in b! +# �Agregue solo los cambios de a y c, y haga una confirmaci�n! Finalmente, haga una confirmaci�n que capture los cambios en b! -test "$(git show main:a)" != "a" && -test "$(git show main:b)" != "b" && -test "$(git show main:c)" != "c" && -test "$(git show main^:a)" != "a" && -test "$(git show main^:b)" == "b" && -test "$(git show main^:c)" != "c" +prueba "$(git show main:a)" != "a" && +prueba "$(git show main:b)" != "b" && +prueba "$(git show main:c)" != "c" && +prueba "$(git show main^:a)" != "a" && +prueba "$(git show main^:b)" == "b" && +prueba "$(git show main^:c)" != "c" -[congrats] +[felicitaciones] -Well done! Try travelling between the commits using `git checkout`, so you can look at their contents again! +�Bien hecho! Intente viajar entre las confirmaciones usando `git checkout`, �para que pueda ver su contenido nuevamente! \ No newline at end of file diff --git a/levels/index/change b/levels/index/change index f1e377d..4d35dfe 100644 --- a/levels/index/change +++ b/levels/index/change @@ -1,31 +1,31 @@ -title = Update files in the index -cards = add commit +title = Actualizar archivos en el �ndice +tarjetas = agregar compromiso -[description] +[descripci�n] -When we change files, the index won't change on its own. We have to use `git add` to update the index to the changed version of the file. +Cuando cambiamos archivos, el �ndice no cambiar� por s� solo. Tenemos que usar `git add` para actualizar el �ndice a la versi�n modificada del archivo. -Let's try that! +�Intentemos eso! -The icons in the file browser show you when the actual file (white) and the version in the index (blue) are different, and when they are the same! +Los �conos en el explorador de archivos le muestran cu�ndo el archivo real (blanco) y la versi�n en el �ndice (azul) son diferentes y cu�ndo son iguales. -[win] +[ganar] -Good! The index is sometimes also called the "staging area" - it contains exactly what ends up in the next commit when you use `git commit`! +�Bien! El �ndice a veces tambi�n se denomina "�rea de preparaci�n": �contiene exactamente lo que termina en la siguiente confirmaci�n cuando usas `git commit`! -[setup] +[configuraci�n] -echo "The candle is burning with a blue flame." > candle -git add . -git commit -m "The beginning" +echo "La vela arde con una llama azul". > vela +git agregar. +git commit -m "El comienzo" -[win] +[ganar] -# Make a change to the candle. -test "$(git diff --name-only)" = "candle" || file -f .git/candle-changed && touch .git/candle-changed +# Haz un cambio en la vela. +prueba "$(git diff --name-only)" = "vela" || archivo -f .git/vela-cambiada && toque .git/vela-cambiada -# Add the candle. -test "$(git diff --cached --name-only)" = "candle" || file -f .git/candle-added && touch .git/candle-added +# Agrega la vela. +prueba "$(git diff --cached --name-only)" = "vela" || archivo -f .git/vela-a�adida && toque .git/vela-a�adida -# Make a commit. -test "$(git diff --name-only HEAD HEAD^)" = "candle" +# Haz un compromiso. +prueba "$(git diff --name-only HEAD HEAD^)" = "vela" \ No newline at end of file diff --git a/levels/index/checkout b/levels/index/checkout index 3c01b09..74ceff9 100644 --- a/levels/index/checkout +++ b/levels/index/checkout @@ -1,25 +1,25 @@ -title = Checking out files from the index -cards = add reset-file checkout-file commit +title = Extraer archivos del �ndice +tarjetas = agregar confirmaci�n de archivo de reinicio de archivo de pago -[description] +[descripci�n] -So you've made changes to your files, but you decide that you don't want to keep them! You can use `git checkout` for that! +�Has realizado cambios en tus archivos, pero decides que no quieres conservarlos! �Puedes usar `git checkout` para eso! -What happens if you have already update the index, like in file c? You have to reset the index first! +�Qu� sucede si ya actualiz� el �ndice, como en el archivo c? �Primero tienes que restablecer el �ndice! -[setup] +[configuraci�n] -echo a > a -echo b > b -echo c > c -git add . -git commit -m "Initial commit" -echo x > a -echo x > b -echo x > c -git add c +eco a > a +eco b > b +eco c > c +git agregar. +git commit -m "Compromiso inicial" +eco x > a +eco x > b +eco x > c +git agregar c -[win] +[ganar] -# Remove all changes in your local files! -test "$(git diff --name-only | wc -l)" -eq 0 +# �Elimina todos los cambios en tus archivos locales! +prueba "$(git diff --name-only | wc -l)" -eq 0 \ No newline at end of file diff --git a/levels/index/compare b/levels/index/compare index 97fa6c7..6e42e55 100644 --- a/levels/index/compare +++ b/levels/index/compare @@ -1,51 +1,51 @@ -title = Step by step -cards = checkout commit-auto +t�tulo = Paso a paso +tarjetas = pago confirmar-auto -[description] +[descripci�n] -Welcome to today's lesson! We're going to learn how to make commits with more precision! +�Bienvenidos a la lecci�n de hoy! �Aprenderemos a realizar confirmaciones con m�s precisi�n! -Have a look at these two timelines. They have exactly the same outcome. But one of them makes it much easier to figure out what happened. +Eche un vistazo a estas dos l�neas de tiempo. Tienen exactamente el mismo resultado. Pero uno de ellos hace que sea mucho m�s f�cil descubrir qu� pas�. -[win] +[ganar] -# Right! Having each change in its own commit makes it easier to understand what's going on! Let's learn how to do that! -git branch --show-current | grep step-by-step +# �Bien! �Tener cada cambio en su propio compromiso hace que sea m�s f�cil entender lo que est� pasando! �Aprendamos c�mo hacer eso! +rama git --show-current | grep paso a paso -[setup] +[configuraci�n] -echo "A small, but heavy glass ball." > ball -echo "A thin book, that's standing upright." > book -echo "A candle, burning with a blue flame." > candle -echo "A smoke detector. It's absolutely silent." > smoke_detector +echo "Una bola de cristal peque�a pero pesada". > pelota +echo "Un libro delgado, que est� de pie". > libro +echo "Una vela ardiendo con una llama azul". > vela +echo "Un detector de humo. Es absolutamente silencioso." > detector_de_humo -git add . -git commit -m "The beginning" +git agregar. +git commit -m "El comienzo" -git branch -M all-at-once +rama git -M todo a la vez -echo "The ball is now touching the book." > ball -echo "The book has fallen over." > book -echo "The candle has been blown out." > candle +echo "La pelota ahora toca el libro". > pelota +echo "El libro se ha ca�do." > libro +echo "La vela se ha apagado". > vela -git commit -am "The end" +git commit -am "El fin" -git checkout HEAD^ +git checkout CABEZA^ -git checkout -b step-by-step +git checkout -b paso a paso -echo "The ball is now touching the book." > ball -git commit -am "The ball rolls towards the book" +echo "La pelota ahora toca el libro". > pelota +git commit -am "La pelota rueda hacia el libro" -echo "The book has fallen over." > book -git commit -am "The book falls over" +echo "El libro se ha ca�do." > libro +git commit -am "El libro se cae" -echo "The candle has been blown out." > candle -git commit -am "The book blows out the candle" +echo "La vela se ha apagado". > vela +git commit -am "El libro apaga la vela" -git checkout HEAD~3 +git pago CABEZA ~ 3 -[win] +[ganar] -# Pick the timeline that's clearer, and make the alarm go off! -git show step-by-step:smoke_detector | tail -n 1 | grep -v "absolutely silent" +# �Elija la l�nea de tiempo que sea m�s clara y haga sonar la alarma! +git muestra paso a paso: detector_de_humo | cola -n 1 | grep -v "absolutamente silencioso" \ No newline at end of file diff --git a/levels/index/new b/levels/index/new index 4df3930..2b06ffa 100644 --- a/levels/index/new +++ b/levels/index/new @@ -1,28 +1,28 @@ -title = Add new files to the index -cards = add commit +title = Agregar nuevos archivos al �ndice +tarjetas = agregar compromiso -[description] +[descripci�n] -So far, when we made a commit, we've always recorded the current status of all objects, right? +Hasta ahora, cuando hicimos una confirmaci�n, siempre registramos el estado actual de todos los objetos, �verdad? -But Git allows you to pick which changes you want to put in a commit! +�Pero Git te permite elegir qu� cambios deseas realizar en una confirmaci�n! -To learn how that works, we need to learn about the "index"! In the index, we can prepare what will be in the next commit. In this game, the index is represented by a blue aura around icons in the file browser! +Para saber c�mo funciona, �necesitamos aprender sobre el "�ndice"! En el �ndice, podemos preparar lo que habr� en la pr�xima confirmaci�n. �En este juego, el �ndice est� representado por un aura azul alrededor de los �conos en el explorador de archivos! -Initially, the index is empty. To make a commit that contains a new file, we need to add it! +Inicialmente, el �ndice est� vac�o. Para realizar una confirmaci�n que contenga un archivo nuevo, �debemos agregarlo! [cli] -You can use tab completion in the terminal! Start typing a filename, then press the tab key to complete its name. This will often save you some time! +�Puedes usar la funci�n de completar tabulaciones en la terminal! Comience a escribir un nombre de archivo, luego presione la tecla tab para completar su nombre. �Esto a menudo le ahorrar� algo de tiempo! -[setup] +[configuraci�n] -echo "The candle is burning with a blue flame." > candle +echo "La vela arde con una llama azul". > vela -[win] +[ganar] -# Add the candle. -test "$(git diff --cached --name-only)" = "candle" || file -f .git/candle-added && touch .git/candle-added +# Agrega la vela. +prueba "$(git diff --cached --name-only)" = "vela" || archivo -f .git/vela-a�adida && toque .git/vela-a�adida -# Make a commit. -test "$(git ls-tree --name-only HEAD)" = "candle" +# Haz un compromiso. +prueba "$(git ls-tree --name-only HEAD)" = "vela" \ No newline at end of file diff --git a/levels/index/reset b/levels/index/reset index 5e21973..a460034 100644 --- a/levels/index/reset +++ b/levels/index/reset @@ -1,37 +1,37 @@ -title = Resetting files in the index -cards = add reset-file commit +title = Restablecer archivos en el �ndice +tarjetas = agregar confirmaci�n de reinicio de archivo -[description] +[descripci�n] -See the dark shadow behind the icons? That's the version of the file in the last commit! +�Ves la sombra oscura detr�s de los �conos? �Esa es la versi�n del archivo en la �ltima confirmaci�n! -For example, these candles have been blown out, and that change has been added. +Por ejemplo, estas velas se han apagado y se ha a�adido ese cambio. -But you decide that this was a mistake! You only want to blow out the red candle in the next commit! +�Pero decides que esto fue un error! �Solo quieres apagar la vela roja en el pr�ximo compromiso! -If you already have updated the index to a changed file, but want to reset it, you can use `git reset`! +Si ya actualiz� el �ndice a un archivo modificado, pero desea restablecerlo, puede usar `git reset`. -[setup] +[configuraci�n] -echo "It's burning!" > red_candle -echo "It's burning!" > green_candle -echo "It's burning!" > blue_candle -git add . -git commit -m "The beginning" +echo "�Est� ardiendo!" > vela_roja +echo "�Est� ardiendo!" > vela_verde +echo "�Est� ardiendo!" > vela_azul +git agregar. +git commit -m "El comienzo" -echo "It's been blown out." > red_candle -echo "It's been blown out." > green_candle -echo "It's been blown out." > blue_candle -git add . +echo "Se ha apagado". > vela_roja +echo "Se ha apagado". > vela_verde +echo "Se ha apagado". > vela_azul +git agregar. -[win] +[ganar] -# Reset the changes in the green and blue candles! -git show :green_candle | grep burning && -git show :blue_candle | grep burning && -git show :red_candle | grep -v burning +# �Restablece los cambios en las velas verdes y azules! +espect�culo de git: green_candle | grep quemando && +espect�culo de git: blue_candle | grep quemando && +espect�culo de git: red_candle | grep -v quemando -# And make a commit! -git show main:green_candle | grep burning && -git show main:blue_candle | grep burning && -git show main:red_candle | grep -v burning +# �Y haz un compromiso! +git show principal:green_candle | grep quemando && +git show principal:blue_candle | grep quemando && +git show principal:red_candle | grep -v quemando \ No newline at end of file diff --git a/levels/index/rm b/levels/index/rm index 637fd22..ceaba3f 100644 --- a/levels/index/rm +++ b/levels/index/rm @@ -1,24 +1,24 @@ -title = Delete a file in the next commit -cards = add reset-file checkout-file rm file-delete commit +title = Eliminar un archivo en la pr�xima confirmaci�n +cards = agregar restablecer-archivo-archivo-de-compra-rm archivo-eliminar confirmaci�n -[description] +[descripci�n] -If you want to remove a file in the next commit, you can use `git rm`! This will both delete the file locally, and in the index. +Si desea eliminar un archivo en la pr�xima confirmaci�n, �puede usar `git rm`! Esto eliminar� el archivo localmente y en el �ndice. -If a file is modified, you'll need to reset these changes first/reset the files. +Si se modifica un archivo, primero deber� restablecer estos cambios/restablecer los archivos. -[setup] +[configuraci�n] -echo a > a -echo x > b -echo x > c -git add . -git commit -m "Initial commit" -echo x > a -echo b > b -git add b +eco a > a +eco x > b +eco x > c +git agregar. +git commit -m "Compromiso inicial" +eco x > a +eco b > b +git agregar b -[win] +[ganar] -# Make a commit where all files are deleted ¯\_(^_^)_/¯ -test "$(git ls-tree main | wc -l)" -eq 0 +# Realizar una confirmaci�n donde se eliminan todos los archivos ¯\_(^_^)_/¯ +prueba "$(git ls-tree main | wc -l)" -eq 0 \ No newline at end of file diff --git a/levels/index/sequence b/levels/index/sequence index 42f7f48..7a0f983 100644 --- a/levels/index/sequence +++ b/levels/index/sequence @@ -1,5 +1,5 @@ -compare -new -change -reset -steps +comparar +nuevo +cambiar +reiniciar +pasos \ No newline at end of file diff --git a/levels/index/steps b/levels/index/steps index 36e7500..c2db595 100644 --- a/levels/index/steps +++ b/levels/index/steps @@ -1,53 +1,53 @@ -title = Adding changes step by step -cards = add reset-file commit +title = Agregar cambios paso a paso +tarjetas = agregar confirmaci�n de reinicio de archivo -[description] +[descripci�n] -The index is really useful, because it allows us to be precise about which changes we want to include in each commit! +�El �ndice es realmente �til porque nos permite ser precisos sobre qu� cambios queremos incluir en cada confirmaci�n! -[setup] +[configuraci�n] -echo "A hammer, balancing on its handle." > hammer -echo "A bottle, containing a clear liquid." > bottle -echo "A white sugar cube." > sugar_cube +echo "Un martillo, balance�ndose sobre su mango". > martillo +echo "Una botella que contiene un l�quido transparente". > botella +echo "Un terr�n de az�car blanco". > cubo_de_az�car -git add . -git commit -m "The beginning" +git agregar. +git commit -m "El comienzo" -[win] +[ganar] -# Make changes to all three objects, to form a logical sequence of events! -test "$(git diff --name-only | wc -l)" -eq 3 || file -f .git/candle-changed && touch .git/candle-changed +# �Realice cambios en los tres objetos para formar una secuencia l�gica de eventos! +prueba "$(git diff --name-only | wc -l)" -eq 3 || archivo -f .git/vela-cambiada && toque .git/vela-cambiada -# Only add one of these changes! -test "$(git diff --cached --name-only | wc -l)" -eq 1 || file -f .git/candle-added && touch .git/candle-added +# �Agregue solo uno de estos cambios! +prueba "$(git diff --cached --name-only | wc -l)" -eq 1 || archivo -f .git/vela-a�adida && toque .git/vela-a�adida -# And make a commit. -COUNT=0 -for commit in $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d' '); do - if test "$(git diff --name-only $commit $commit^ | wc -l)" -eq 1; then - COUNT=$((COUNT+1)) +# Y haz un compromiso. +CONTAR=0 +para confirmar en $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d''); hacer + si prueba "$(git diff --name-only $commit $commit^ | wc -l)" -eq 1; entonces + CONTAR=$((CONTAR+1)) fi -done +hecho -test "$COUNT" -ge 1 +prueba "$COUNT" -ge 1 -# Make a second commit that only records a single change. -COUNT=0 -for commit in $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d' '); do - if test "$(git diff --name-only $commit $commit^ | wc -l)" -eq 1; then - COUNT=$((COUNT+1)) +# Realizar una segunda confirmaci�n que solo registre un �nico cambio. +CONTAR=0 +para confirmar en $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d''); hacer + si prueba "$(git diff --name-only $commit $commit^ | wc -l)" -eq 1; entonces + CONTAR=$((CONTAR+1)) fi -done +hecho -test "$COUNT" -ge 2 +prueba "$COUNT" -ge 2 -# And a third one. -COUNT=0 -for commit in $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d' '); do - if test "$(git diff --name-only $commit $commit^ | wc -l)" -eq 1; then - COUNT=$((COUNT+1)) +# Y un tercero. +CONTAR=0 +para confirmar en $(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep 'commit$' | cut -f1 -d''); hacer + si prueba "$(git diff --name-only $commit $commit^ | wc -l)" -eq 1; entonces + CONTAR=$((CONTAR+1)) fi -done +hecho -test "$COUNT" -ge 3 +prueba "$COUNT" -ge 3 \ No newline at end of file diff --git a/levels/intro/cli b/levels/intro/cli index 1ee655b..0bc0696 100644 --- a/levels/intro/cli +++ b/levels/intro/cli @@ -1,27 +1,27 @@ -title = The command line -cards = +t�tulo = La l�nea de comando +tarjetas = -[description] +[descripci�n] -These playing cards are designed to be easy to use and to remember! We'd suggest sticking to them if you don't have a lot of experience with Git! +�Estos naipes est�n dise�ados para ser f�ciles de usar y recordar! �Te sugerimos que los sigas si no tienes mucha experiencia con Git! [cli] -But there's another way to interact with Git: +Pero hay otra forma de interactuar con Git: -Try typing `git init` into the black terminal below, and pressing the enter key! +Intente escribir `git init` en la terminal negra a continuaci�n y presione la tecla Intro. -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -[win] +[ganar] -# Initialize the time machine! -test -d .git +# �Inicializa la m�quina del tiempo! +prueba -d .git -[congrats] +[felicitaciones] -Cool! Instead of using the playing cards, you can also do everything via the command line! +�Fresco! �En lugar de usar las cartas, tambi�n puedes hacer todo a trav�s de la l�nea de comando! -The command line is pretty powerful! Often, you can use it to solve tasks faster compared to using a graphical interface. +�La l�nea de comando es bastante poderosa! A menudo, puedes usarlo para resolver tareas m�s r�pido en comparaci�n con el uso de una interfaz gr�fica. \ No newline at end of file diff --git a/levels/intro/commit b/levels/intro/commit index 333ea6e..479a218 100644 --- a/levels/intro/commit +++ b/levels/intro/commit @@ -1,33 +1,33 @@ -title = Your first commit -cards = commit-auto +t�tulo = Tu primer compromiso +tarjetas = compromiso-autom�tico -[description] +[descripci�n] -You can use your time machine to make snapshots of objects around you! Here, let's practice this! +�Puedes usar tu m�quina del tiempo para tomar instant�neas de los objetos que te rodean! �Aqu�, practiquemos esto! -(Your teacher pours some water into a glass.) +(Tu maestra vierte un poco de agua en un vaso). [cli] -Again, instead of using the card, you can also type the commands which are printed on it into the black terminal below! +Nuevamente, en lugar de usar la tarjeta, �tambi�n puedes escribir los comandos que est�n impresos en ella en la terminal negra a continuaci�n! -This is totally optional! But this will be a super useful skill in the real world - and it will give you a sparkling golden badge! :) +�Esto es totalmente opcional! Pero esta ser� una habilidad s�per �til en el mundo real, �y te dar� una brillante insignia dorada! :) -[setup] +[configuraci�n] -echo "The glass is full of water." > glass +echo "El vaso est� lleno de agua". > vidrio -[win] +[ganar] -# Make a snapshot of the glass (a "commit") -git rev-parse HEAD +# Hacer una instant�nea del vaso (un "compromiso") +git rev-parse CABEZA -# Change the contents of the glass! -! test "$(cat glass)" = "The glass is full of water." +# �Cambia el contenido del vaso! +! test "$(cat glass)" = "El vaso est� lleno de agua." -# And make a second commit! -git rev-parse HEAD^ && ! test "$(git show main:glass)" = "The glass is full of water." +# �Y haz un segundo compromiso! +git rev-parse CABEZA^ &&! test "$(git show main:glass)" = "El vaso est� lleno de agua". -[congrats] +[felicitaciones] -Nice! You can try making some additional commits. When you feel comfortable, click on "Next Level". +�Lindo! Puedes intentar realizar algunas confirmaciones adicionales. Cuando te sientas c�modo, haz clic en "Siguiente nivel". \ No newline at end of file diff --git a/levels/intro/copies b/levels/intro/copies index ef05d24..5aff80d 100644 --- a/levels/intro/copies +++ b/levels/intro/copies @@ -1,42 +1,42 @@ -title = Making backups -cards = +t�tulo = Hacer copias de seguridad +tarjetas = -[description] +[descripci�n] -This time, you're making a lot of backup copies - you can look at them by clicking on them! +Esta vez, est�s haciendo muchas copias de seguridad; �puedes verlas haciendo clic en ellas! -[congrats] +[felicitaciones] -Okay, this kind of works. +Bien, este tipo de trabajos. -But you're a bit worried that you'll end up with hundreds of copies of this form, and it will be hard to keep track of all of them. +Pero le preocupa un poco terminar con cientos de copias de este formulario y ser� dif�cil realizar un seguimiento de todas ellas. -And especially when working with other people, sending copies back and forth doesn't seem ideal. +Y especialmente cuando se trabaja con otras personas, enviar copias de un lado a otro no parece lo ideal. -You can't wait to try these time machines! +�No puedes esperar a probar estas m�quinas del tiempo! -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -echo "~ Why I want to learn Git ~ +echo "~ Por qu� quiero aprender Git ~ -(I still need to write this.)" >> form.txt +(A�n necesito escribir esto.)" >> form.txt -echo "~ Why I want to learn Git ~ +echo "~ Por qu� quiero aprender Git ~ -- So that I can undo mistakes" >> form2.txt +- Para poder deshacer errores" >> form2.txt -echo "~ Why I want to learn Git ~ +echo "~ Por qu� quiero aprender Git ~ -- So that I can undo mistakes -- To track my projects over time" >> form2_final.txt +- Para poder deshacer errores +- Para realizar un seguimiento de mis proyectos a lo largo del tiempo" >> form2_final.txt cp form2_final.txt form2_really_final.txt -[win] +[ganar] -# Add another line to form2_really_final.txt! -test "$(cat form2_really_final.txt | wc -l )" -ge 5 +# �Agrega otra l�nea a form2_really_final.txt! +prueba "$(cat form2_really_final.txt | wc -l )" -ge 5 \ No newline at end of file diff --git a/levels/intro/init b/levels/intro/init index ea0426e..054aaee 100644 --- a/levels/intro/init +++ b/levels/intro/init @@ -1,23 +1,23 @@ -title = Enter the time machine -cards = init +title = Entra en la m�quina del tiempo +tarjetas = inicio -[description] +[descripci�n] -You've been accepted to time travel school! Yay! It's your first day! Your teacher explains: +�Has sido aceptado en la escuela de viajes en el tiempo! �Hurra! �Es tu primer d�a! Tu profesor explica: -"To do anything with a time machine, you first need to initialize it!" +"�Para hacer cualquier cosa con una m�quina del tiempo, primero debes inicializarla!" -Drag that blue card up to play it! +�Arrastra esa carta azul hacia arriba para jugarla! -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -[win] +[ganar] -# Initialize the time machine! -test -d .git +# �Inicializa la m�quina del tiempo! +prueba -d .git -[congrats] +[felicitaciones] -Nice! See that little owl squirrel that appeared? It will be your companion, and always show you where you are in time! +�Lindo! �Ves esa peque�a ardilla b�ho que apareci�? �Ser� tu compa�ero y siempre te mostrar� d�nde est�s en el tiempo! \ No newline at end of file diff --git a/levels/intro/remote b/levels/intro/remote index c19b49a..0e72740 100644 --- a/levels/intro/remote +++ b/levels/intro/remote @@ -1,52 +1,52 @@ -title = Working together -cards = pull commit-auto push +t�tulo = Trabajando juntos +tarjetas = tirar compromiso-empuje autom�tico -[description] +[descripci�n] -Let's add your name to our list of students! +�Agreguemos su nombre a nuestra lista de estudiantes! -I already have a second commit of it in my time machine - let's work together! +Ya tengo una segunda confirmaci�n en mi m�quina del tiempo: �trabajemos juntos! [cli] -To go back to old commands, you can press arrow up and down. That way, you don't have to type in long commands twice. +Para volver a los comandos antiguos, puede presionar las flechas hacia arriba y hacia abajo. De esa manera, no tendr�s que escribir comandos largos dos veces. -[congrats] +[felicitaciones] -Welcome to time travel school! :) I'll see you for your first class tomorrow! +�Bienvenidos a la escuela de viajes en el tiempo! :) �Te ver� ma�ana en tu primera clase! -[setup] +[configuraci�n] -echo "~ List of current students ~" > students -git add . -git commit -m "Initial version" -git push -u teacher main +echo "~ Lista de estudiantes actuales ~" > estudiantes +git agregar. +git commit -m "Versi�n inicial" +git push -u profesor principal git update-ref -d refs/remotes/teacher/main -[setup teacher] +[profesor de configuraci�n] -git reset --hard main +git reset --hard principal -echo " -- Sam -- Alex" >> students +eco " +-sam +- Alex" >> estudiantes -git add . -git commit -m "Added two students" +git agregar. +git commit -m "Se agregaron dos estudiantes" -[win] +[ganar] -# Get the second commit from your teacher using `git pull`. -test "$(git log --oneline teacher/main | wc -l)" -ge 2 +# Obt�n el segundo compromiso de tu maestro usando `git pull`. +prueba "$(git log --oneline teacher/main | wc -l)" -ge 2 -# Add your name to the list of students -test "$(cat students |wc -l)" -ge 5 +# Agrega tu nombre a la lista de estudiantes. +prueba "$(estudiantes de gato |wc -l)" -ge 5 -# Commit your result. -test "$(git show main:students |wc -l)" -ge 5 +# Confirma tu resultado. +prueba "$(git show main:estudiantes |wc -l)" -ge 5 -[win teacher] +[ganar maestro] -# And use `git push` to send it to your teacher! -test "$(git show main:students |wc -l)" -ge 5 +# �Y usa `git push` para envi�rselo a tu profesor! +prueba "$(git show main:estudiantes |wc -l)" -ge 5 \ No newline at end of file diff --git a/levels/intro/risky b/levels/intro/risky index a5e7239..50f6044 100644 --- a/levels/intro/risky +++ b/levels/intro/risky @@ -1,42 +1,42 @@ -title = Living dangerously -cards = +t�tulo = Vivir peligrosamente +tarjetas = -[description] +[descripci�n] -So you have decided to apply for time travel school, to learn how to use this time machine called "Git"! +�As� que has decidido postularte a la escuela de viajes en el tiempo para aprender a usar esta m�quina del tiempo llamada "Git"! -How exciting! +�Que interesante! -You're almost done with the paperwork! You just need to fill in one more reason why you want to learn Git. +�Ya casi has terminado con el papeleo! S�lo necesitas completar una raz�n m�s por la que quieres aprender Git. -[congrats] +[felicitaciones] -Suddenly, your cat jumps on the table, snatches away the form, and runs away! Oh no. All your hard work, gone! +De repente, tu gato salta sobre la mesa, le arrebata el formulario y sale corriendo. Oh, no. �Todo tu arduo trabajo, desaparecido! -You clearly need a better solution. +Claramente necesita una mejor soluci�n. -(Click "Next Level" as soon as you're ready!) +(�Haga clic en "Siguiente nivel" tan pronto como est� listo!) -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -echo "~ Why I want to learn Git ~ +echo "~ Por qu� quiero aprender Git ~ -- So that I can undo mistakes -- To track my projects over time" >> form.txt +- Para poder deshacer errores +- Para realizar un seguimiento de mis proyectos a lo largo del tiempo" >> form.txt -[actions] +[comportamiento] -test "$(cat form.txt | wc -l )" -ge 5 && echo "(Has been stolen by your cat.) +test "$(cat form.txt | wc -l )" -ge 5 && echo "(Ha sido robado por tu gato). -" > form.txt +" > formulario.txt -[win] +[ganar] -# Add another line to form.txt! -test "$(cat form.txt | wc -l )" -ge 5 +# �Agrega otra l�nea al formulario.txt! +prueba "$(cat form.txt | wc -l )" -ge 5 \ No newline at end of file diff --git a/levels/intro/sequence b/levels/intro/sequence index aa225df..7ae2236 100644 --- a/levels/intro/sequence +++ b/levels/intro/sequence @@ -1,6 +1,6 @@ -risky -copies -init +arriesgado +copias +en eso cli -commit -remote +comprometerse +remoto \ No newline at end of file diff --git a/levels/intro/who-are-you b/levels/intro/who-are-you index 9fb907a..867d414 100644 --- a/levels/intro/who-are-you +++ b/levels/intro/who-are-you @@ -1,38 +1,38 @@ -title = Welcome to time travel school! -cards = config-name commit-auto checkout +title = �Bienvenido a la escuela de viajes en el tiempo! +tarjetas = nombre de configuraci�n confirmaci�n-pago autom�tico -[description] +[descripci�n] -You're still pretty confused by everything that's going on. The next day, you decide to enroll in time travel school! +Todav�a est�s bastante confundido por todo lo que est� pasando. �Al d�a siguiente, decides inscribirte en la escuela de viajes en el tiempo! -Your time travel teacher welcomes you: "Hello there! Wanna tell us your name?" +Tu profesor de viajes en el tiempo te da la bienvenida: "�Hola! �Quieres decirnos tu nombre?" -[setup] +[configuraci�n] -git config --global user.name "You" +git config --global usuario.nombre "T�" -echo "~ Why do you want to learn how to use time machines? ~ +echo "~ �Por qu� quieres aprender a usar m�quinas del tiempo? ~ -[ ] To make sure that my cat doesn't eat my homework. -[ ] So I don't have to keep copies of all my essays. -[ ] To collaborate with other time travel students. -[ ] Other, please specify:" > form +[ ] Para asegurarme de que mi gato no se coma mi tarea. +[] As� que no tengo que guardar copias de todos mis ensayos. +[] Colaborar con otros estudiantes de viajes en el tiempo. +[ ] Otro, por favor especifique:" > formulario -[actions] +[comportamiento] -test "$(git config user.name)" != "You" && cat form | grep -v Signature && echo " -Signature: $(git config user.name)" >> form +prueba "$(git config user.name)" != "T�" && forma de gato | grep -v Firma && eco " +Firma: $(git config user.name)" >> formulario -[win] +[ganar] -# Introduce yourself. -test "$(git config user.name)" != "You" +# Presentarte. +prueba "$(git config user.name)" != "T�" -# Fill out the enrollment form, and commit it! -git show main:form | grep '\[[xX]\]' +# �Rellene el formulario de inscripci�n y conf�elo! +git show principal:formulario | grep '\[[xX]\]' -[congrats] +[felicitaciones] -"We're so glad to have you! +"�Estamos muy contentos de tenerte! -Git can help you fix problems in the past! It allows you to collaborate with other students of time travel! It's really powerful, and it's really popular! I'll see you for your first lesson tomorrow!" +�Git puede ayudarte a solucionar problemas del pasado! �Te permite colaborar con otros estudiantes de viajes en el tiempo! �Es realmente poderoso y muy popular! �Te ver� ma�ana en tu primera lecci�n!" \ No newline at end of file diff --git a/levels/low-level/basics b/levels/low-level/basics index 55374b5..f4d0cd4 100644 --- a/levels/low-level/basics +++ b/levels/low-level/basics @@ -1,26 +1,26 @@ -[description] +[descripci�n] -For this prototype, we assume you have some experience with the command line. Here are some commands that will be useful: +Para este prototipo, asumimos que tienes algo de experiencia con la l�nea de comando. Aqu� hay algunos comandos que ser�n �tiles: -- ls -- echo content > file -- cat file -- mkdir dir +- es +- contenido de eco> archivo +- archivo de gato +- directorio mkdir -Find the riddle in your current directory and put the answer into the file "answer"! +�Encuentra el acertijo en tu directorio actual y coloca la respuesta en el archivo "respuesta"! -[congrats] +[felicitaciones] -Omnomnom! +�Om nom nom! -For technical reasons, you can't use `cd` in this prototype yet. But there won't be a lot of interaction with the file system anyways. :) +Por razones t�cnicas, todav�a no puedes usar `cd` en este prototipo. Pero de todos modos no habr� mucha interacci�n con el sistema de archivos. :) -[setup] +[configuraci�n] -mkdir riddle -echo "ppl p" > riddle/consonants -echo "ae ie" > riddle/vowels +acertijo mkdir +echo "ppl p" > acertijo/consonantes +echo "ae ie" > acertijo/vocales -[win] +[ganar] -cat answer | grep -i "apple \\?pie" +respuesta del gato | grep -i "manzana \\?tarta" \ No newline at end of file diff --git a/levels/low-level/blob-create b/levels/low-level/blob-create index 86f6254..dff3257 100644 --- a/levels/low-level/blob-create +++ b/levels/low-level/blob-create @@ -1,38 +1,38 @@ -[description] +[descripci�n] -At its core, Git is very simple. It stores "objects", which are basically files identified by an "identifier" (short: ID). +En esencia, Git es muy simple. Almacena "objetos", que son b�sicamente archivos identificados por un "identificador" (abreviado: ID). -There are four types of objects: blobs, trees, commits, and tags. The simplest type is a "blob", which is just a piece of text. +Hay cuatro tipos de objetos: blobs, �rboles, confirmaciones y etiquetas. El tipo m�s simple es un "blob", que es simplemente un fragmento de texto. -Let's create some blobs! To do that, create a file with the desired content, and then use +�Creemos algunas manchas! Para hacer eso, cree un archivo con el contenido deseado y luego use - git hash-object -w <file> + git hash-object -w <archivo> -The flag -w means "write", and tells Git to actually write the new blob to the disk. +La bandera -w significa "escribir" y le dice a Git que realmente escriba el nuevo blob en el disco. -Create three new blobs! +�Crea tres nuevos blobs! -[congrats] +[felicitaciones] -Tip: You can also use a command like this to create a blob in a single line: +Consejo: Tambi�n puedes usar un comando como este para crear un blob en una sola l�nea: - echo "awesome content" | git hash-object -w --stdin + echo "contenido incre�ble" | git hash-objeto -w --stdin -Did you already notice that you can drag and drop all objects? :) +�Ya notaste que puedes arrastrar y soltar todos los objetos? :) -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] -echo "Hi" > file1 -echo "Ho" > file2 -echo "Hu" > file3 -git hash-object -w file1 -git hash-object -w file2 -git hash-object -w file3 +eco "Hola" > archivo1 +eco "Ho" > archivo2 +eco "Hu" > archivo3 +git hash-objeto -w archivo1 +git hash-objeto -w archivo2 +git hash-objeto -w archivo3 -[win] +[ganar] -BLOB_COUNT=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep blob | wc -l) +BLOB_COUNT=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | grep blob | wc -l) -test "$BLOB_COUNT" -gt 2 +prueba "$BLOB_COUNT" -gt 2 \ No newline at end of file diff --git a/levels/low-level/blob-remove b/levels/low-level/blob-remove index bbc1b30..3b011fb 100644 --- a/levels/low-level/blob-remove +++ b/levels/low-level/blob-remove @@ -1,27 +1,27 @@ -[description] +[descripci�n] -There's a simple command to remove all objects that are not referenced by anything: +Hay un comando simple para eliminar todos los objetos a los que nada hace referencia: - git prune + git podar -Remove all blobs in this repository. +Elimine todos los blobs de este repositorio. -[congrats] +[felicitaciones] -Generally, `git prune` will be useful if you want to clean up some objects you made. +Generalmente, `git prune` ser� �til si desea limpiar algunos objetos que cre�. -Alternatively, you can also click the "Reload" button to restart a level. +Alternativamente, tambi�n puedes hacer clic en el bot�n "Recargar" para reiniciar un nivel. -[setup] +[configuraci�n] -echo "My master password is a1b2c3d4e5" | git hash-object -w --stdin -echo "This blob really should not exist" | git hash-object -w --stdin -echo "This is a virus" | git hash-object -w --stdin +echo "Mi contrase�a maestra es a1b2c3d4e5" | git hash-objeto -w --stdin +echo "Esta mancha realmente no deber�a existir" | git hash-objeto -w --stdin +echo "Esto es un virus" | git hash-objeto -w --stdin -[setup goal] +[objetivo de configuraci�n] -[win] +[ganar] -OBJECT_COUNT=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | wc -l) +OBJECT_COUNT=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | wc -l) -test "$OBJECT_COUNT" -eq 0 +prueba "$OBJECT_COUNT" -eq 0 \ No newline at end of file diff --git a/levels/low-level/commit-create b/levels/low-level/commit-create index 79a8e52..e224ed2 100644 --- a/levels/low-level/commit-create +++ b/levels/low-level/commit-create @@ -1,37 +1,37 @@ -[description] +[descripci�n] -So a tree describes a directory structure at a specific point in time. +Entonces, un �rbol describe una estructura de directorios en un momento espec�fico. -It would be nice if we could remember when that state existed, and who authored it, right? +Ser�a bueno si pudi�ramos recordar cu�ndo existi� ese estado y qui�n fue su autor, �verdad? -Enter: commits. They are objects that point to a tree and contain some additional metadata. You can create a commit using +Ingrese: confirma. Son objetos que apuntan a un �rbol y contienen algunos metadatos adicionales. Puedes crear una confirmaci�n usando - git commit-tree <tree> -m "Description of your commit" + git commit-tree <�rbol> -m "Descripci�n de tu compromiso" -Make a commit from the tree in this repository! +�Haz un compromiso desde el �rbol de este repositorio! -[setup] +[configuraci�n] -touch empty_file -git add . -git write-tree +toque archivo_vac�o +git agregar. +�rbol de escritura de git -rm empty_file -git update-index --remove empty_file +rm archivo_vac�o +git update-index --eliminar archivo_vac�o -[setup goal] +[objetivo de configuraci�n] -touch empty_file -git add . -git write-tree +toque archivo_vac�o +git agregar. +�rbol de escritura de git -rm empty_file -git update-index --remove empty_file +rm archivo_vac�o +git update-index --eliminar archivo_vac�o -git commit-tree 3185 -m 'Clever commit message' +git commit-tree 3185 -m 'Mensaje de confirmaci�n inteligente' -[win] +[ganar] -COMMIT_COUNT=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep commit | wc -l) +COMMIT_COUNT=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | grep commit | wc -l) -test "$COMMIT_COUNT" -gt 0 +prueba "$COMMIT_COUNT" -gt 0 \ No newline at end of file diff --git a/levels/low-level/commit-parents b/levels/low-level/commit-parents index a2efb11..43d2971 100644 --- a/levels/low-level/commit-parents +++ b/levels/low-level/commit-parents @@ -1,31 +1,31 @@ -[description] +[descripci�n] -When using the commit-tree command, you can optionally specify a parent: +Al utilizar el comando commit-tree, opcionalmente puedes especificar un padre: - git commit-tree <tree> -m "Description" -p <parent commit> + git commit-tree <�rbol> -m "Descripci�n" -p <compromiso principal> -Make a string of three commits! +�Haz una serie de tres confirmaciones! -Hint: You'll need a tree object. What could be the easiest way to obtain one? +Sugerencia: necesitar�s un objeto de �rbol. �Cu�l podr�a ser la forma m�s sencilla de obtener uno? -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] -git write-tree -FIRST_COMMIT=$(git commit-tree 4b82 -m 'First commit :O') -SECOND_COMMIT=$(git commit-tree 4b82 -p $FIRST_COMMIT -m 'Second commit :D') -THIRD_COMMIT=$(git commit-tree 4b82 -p $SECOND_COMMIT -m 'Third commit \o/') +�rbol de escritura de git +FIRST_COMMIT=$(git commit-tree 4b82 -m 'Primera confirmaci�n:O') +SECOND_COMMIT=$(git commit-tree 4b82 -p $FIRST_COMMIT -m 'Segundo compromiso :D') +THIRD_COMMIT=$(git commit-tree 4b82 -p $SECOND_COMMIT -m 'Tercer compromiso \o/') -[win] +[ganar] -COMMITS=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep commit | cut -f1 -d" ") +COMMITS=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | grep commit | cut -f1 -d" ") -for COMMIT in $COMMITS; do - echo a commit named $COMMIT - if [ $(git rev-list $COMMIT | wc -l) -ge 3 ]; then - return 0 +para COMMITIR en $COMMITS; hacer + hacer eco de una confirmaci�n llamada $COMMIT + if [ $(git rev-list $COMMIT | wc -l) -ge 3 ]; entonces + regresar 0 fi -done +hecho -return 1 +regresar 1 \ No newline at end of file diff --git a/levels/low-level/commit-rhombus b/levels/low-level/commit-rhombus index e320ca0..055b0d4 100644 --- a/levels/low-level/commit-rhombus +++ b/levels/low-level/commit-rhombus @@ -1,30 +1,30 @@ -[description] +[descripci�n] -A commit can have multiple parents! You can specify the -p option multiple times, like this: +�Un compromiso puede tener varios padres! Puede especificar la opci�n -p varias veces, as�: - git commit-tree <tree> -m "Description" -p <parent1> -p <parent2> + git commit-tree <�rbol> -m "Descripci�n" -p <padre1> -p <padre2> -Build a rhombus shape from commits, where two commits point to the same parent, and then a fourth commit points to both of them. +Construya una forma de rombo a partir de confirmaciones, donde dos confirmaciones apunten al mismo padre y luego una cuarta confirmaci�n apunte a ambas. -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] -TREE=$(git write-tree) -SOUTH=$(git commit-tree $TREE -m "South") -EAST=$(git commit-tree $TREE -m "East" -p $SOUTH) -WEST=$(git commit-tree $TREE -m "West" -p $SOUTH) -NORTH=$(git commit-tree $TREE -m "Nort" -p $EAST -p $WEST) +�RBOL=$(git escribir-�rbol) +SUR=$(git commit-tree $TREE -m "Sur") +ESTE=$(git commit-tree $�RBOL -m "Este" -p $SUR) +OESTE=$(git commit-tree $�RBOL -m "Oeste" -p $SUR) +NORTE=$(git commit-tree $�RBOL -m "Norte" -p $ESTE -p $OESTE) -[win] +[ganar] -COMMITS=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep commit | cut -f1 -d" ") +COMMITS=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | grep commit | cut -f1 -d" ") -for COMMIT in $COMMITS; do - # My first parent's parents has to be the same as my second parent's parent. - if [ "$(git rev-parse --verify -q $COMMIT^1^)" = "$(git rev-parse --verify -q $COMMIT^2^)" ]; then - return 0 +para COMMITIR en $COMMITS; hacer + # Los padres de mi primer padre tienen que ser los mismos que los de mi segundo padre. + if [ "$(git rev-parse --verify -q $COMMIT^1^)" = "$(git rev-parse --verify -q $COMMIT^2^)" ]; entonces + regresar 0 fi -done +hecho -return 1 +regresar 1 \ No newline at end of file diff --git a/levels/low-level/index-add b/levels/low-level/index-add index 633245c..b9591c3 100644 --- a/levels/low-level/index-add +++ b/levels/low-level/index-add @@ -1,37 +1,37 @@ -[description] +[descripci�n] -Blobs usually represent the content of a file. But on their own, they don't have any metadata, not even a name! +Los blobs suelen representar el contenido de un archivo. Pero por s� solos no tienen metadatos, �ni siquiera un nombre! -Git has a very powerful concept to store metadata related to blobs: the index! It's a list that relates blobs to filenames and access permissions. +Git tiene un concepto muy poderoso para almacenar metadatos relacionados con blobs: �el �ndice! Es una lista que relaciona los blobs con los nombres de archivos y los permisos de acceso. -The most convenient option to add an entry to the index is via an existing file: +La opci�n m�s conveniente para agregar una entrada al �ndice es a trav�s de un archivo existente: - echo "my content" > file - git update-index --add file + echo "mi contenido" > archivo + git update-index --agregar archivo -Add three entries to the index! For a bonus challenge: can you add a file that is inside of a directory, like "directory/file"? +�Agregue tres entradas al �ndice! Para un desaf�o adicional: �puedes agregar un archivo que est� dentro de un directorio, como "directorio/archivo"? -[congrats] +[felicitaciones] -There's another way to add an entry to the index directly: +Hay otra forma de agregar una entrada al �ndice directamente: - git update-index --add --cacheinfo <mode>,<blobhash>,<name> + git update-index --add --cacheinfo <modo>,<blobhash>,<nombre> -The first three numbers of the mode describe the type of the entry, "100" is a regular file. +Los primeros tres n�meros del modo describen el tipo de entrada, "100" es un archivo normal. -The second three number describe the permissions. Only "644" (non-executable) and "755" (executable) are supported. +Los segundos tres n�meros describen los permisos. S�lo se admiten "644" (no ejecutable) y "755" (ejecutable). -You can insert the hash of an object into the terminal by right-clicking on it! :) +�Puedes insertar el hash de un objeto en la terminal haciendo clic derecho sobre �l! :) -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] -echo "file 1" > file1 -echo "file 2" > file2 -echo "file 3" > file3 -git add . +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +eco "archivo 3" > archivo3 +git agregar. -[win] +[ganar] -test "$(git ls-files | wc -l)" -ge 3 +prueba "$(git ls-files | wc -l)" -ge 3 \ No newline at end of file diff --git a/levels/low-level/index-remove b/levels/low-level/index-remove index 9816126..a975ac3 100644 --- a/levels/low-level/index-remove +++ b/levels/low-level/index-remove @@ -1,29 +1,29 @@ -[description] +[descripci�n] -To remove an entry from the index, use a command like this: +Para eliminar una entrada del �ndice, use un comando como este: - git update-index --force-remove <file> + git update-index --force-remove <archivo> -Remove all entries from the index! +�Elimine todas las entradas del �ndice! -[setup] +[configuraci�n] -echo "file 1" > file1 -echo "file 2" > file2 -echo "file 3" > file3 -git add . +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +eco "archivo 3" > archivo3 +git agregar. -[setup goal] +[objetivo de configuraci�n] -echo "file 1" > file1 -echo "file 2" > file2 -echo "file 3" > file3 -git add . +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +eco "archivo 3" > archivo3 +git agregar. -git update-index --force-remove file1 -git update-index --force-remove file2 -git update-index --force-remove file3 +git update-index --force-remove archivo1 +git update-index --force-remove archivo2 +git update-index --force-remove archivo3 -[win] +[ganar] -test "$(git ls-files | wc -l)" -eq 0 +prueba "$(git ls-files | wc -l)" -eq 0 \ No newline at end of file diff --git a/levels/low-level/index-update b/levels/low-level/index-update index 047493d..68c011a 100644 --- a/levels/low-level/index-update +++ b/levels/low-level/index-update @@ -1,33 +1,33 @@ -[description] +[descripci�n] -Instead of removing an entry from the index and adding one with the same name, you can also directly update that entry! +En lugar de eliminar una entrada del �ndice y agregar una con el mismo nombre, �tambi�n puedes actualizar esa entrada directamente! -Put the content you want in a file with a matching name, and then run +Coloque el contenido que desee en un archivo con un nombre coincidente y luego ejecute - git update-index <file> + git update-index <archivo> -This will create a new blob, and update the hash of the entry to that blob. +Esto crear� un nuevo blob y actualizar� el hash de la entrada de ese blob. -Update an entry in the index! +�Actualiza una entrada en el �ndice! -[setup] +[configuraci�n] -echo "file 1" > file1 -echo "file 2" > file2 -echo "file 3" > file3 -git add . +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +eco "archivo 3" > archivo3 +git agregar. -[setup goal] +[objetivo de configuraci�n] -echo "file 1" > file1 -echo "file 2" > file2 -echo "file 3" > file3 -git add . +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +eco "archivo 3" > archivo3 +git agregar. -echo "new content" > file1 -git update-index file1 +echo "nuevo contenido" > archivo1 +archivo de �ndice de actualizaci�n de git1 -[win] +[ganar] -# This is not really a good test for the winning condition... -test "$(git ls-files -s | git hash-object --stdin)" != "10c4b28623e7e44e09f5a596450a50ab7ac31fbe" -a "$(git ls-files | wc -l)" -eq 3 +# Esta no es realmente una buena prueba para determinar la condici�n ganadora... +test "$(git ls-files -s | git hash-object --stdin)" != "10c4b28623e7e44e09f5a596450a50ab7ac31fbe" -a "$(git ls-files | wc -l)" -eq 3 \ No newline at end of file diff --git a/levels/low-level/puzzle-apocalypse b/levels/low-level/puzzle-apocalypse index 119784d..e93d569 100644 --- a/levels/low-level/puzzle-apocalypse +++ b/levels/low-level/puzzle-apocalypse @@ -1,41 +1,41 @@ -[description] +[descripci�n] -Delete all objects in this repository using git commands only! +�Elimine todos los objetos en este repositorio usando solo comandos git! -Useful commands: +Comandos �tiles: - git prune - git reflog expire + git podar + git reflog expira -[setup] +[configuraci�n] -echo foo > foo -BLOB=$(git hash-object -w foo) -echo bar > bar -git add . -git commit -m "Initial commit" -echo blabber >> bar -git commit -a -m "Second commit" -git update-ref refs/important HEAD -git update-ref refs/interesting "$BLOB" +eco foo > foo +BLOB=$(git hash-objeto -w foo) +barra de eco > barra +git agregar. +git commit -m "Compromiso inicial" +eco parloteo >> barra +git commit -a -m "Segundo compromiso" +git update-ref refs/CABEZA importante +git update-ref refs/interesante "$BLOB" -[setup goal] +[objetivo de configuraci�n] -echo foo > foo -BLOB=$(git hash-object -w foo) -echo bar > bar -git add . -git commit -m "Initial commit" -echo blabber >> bar -git commit -a -m "Second commit" -git update-ref refs/important HEAD -git update-ref refs/interesting "$BLOB" +eco foo > foo +BLOB=$(git hash-objeto -w foo) +barra de eco > barra +git agregar. +git commit -m "Compromiso inicial" +eco parloteo >> barra +git commit -a -m "Segundo compromiso" +git update-ref refs/CABEZA importante +git update-ref refs/interesante "$BLOB" -TREE=$(git mktree) -git read-tree $TREE +�RBOL=$(git mktree) +git �rbol de lectura $�RBOL rm -rf .git/refs/* -rm -rf .git/objects/* +rm -rf .git/objetos/* -[win] +[ganar] -test "$(git cat-file --batch-check --batch-all-objects | wc -l)" -eq 0 +prueba "$(git cat-file --batch-check --batch-all-objects | wc -l)" -eq 0 \ No newline at end of file diff --git a/levels/low-level/puzzle-precious-blob b/levels/low-level/puzzle-precious-blob index 865cfdf..ac1f1e6 100644 --- a/levels/low-level/puzzle-precious-blob +++ b/levels/low-level/puzzle-precious-blob @@ -1,28 +1,28 @@ -[description] +[descripci�n] -Create two trees pointing to the same blob! +�Crea dos �rboles que apunten al mismo blob! -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] -BLOB=$(echo "I am precious" | git hash-object -w --stdin) +BLOB=$(echo "Soy precioso" | git hash-object -w --stdin) git update-index --add --cacheinfo 100644,$BLOB,a -git write-tree -git update-index --force-remove a -git update-index --add --cacheinfo 100644,$BLOB,b -git write-tree -git update-index --force-remove b +�rbol de escritura de git +git update-index --forzar-eliminar un +�ndice de actualizaci�n de git --add --cacheinfo 100644,$BLOB,b +�rbol de escritura de git +�ndice de actualizaci�n de git --force-remove b -[win] +[ganar] -TREES=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep tree | cut -f1 -d" ") +�RBOLES=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | �rbol grep | cut -f1 -d" ") -ALL_TREE_CHILDREN=$(for TREE in $TREES; do - git cat-file -p $TREE | cut -f1 | cut -f3 -d" " -done) +ALL_TREE_CHILDREN=$(para �RBOL en $�RBOLES; hacer + git cat-file -p $�RBOL | cortar -f1 | cortar -f3 -d" " +hecho) NUMBER_OF_CHILDREN=$(echo "$ALL_TREE_CHILDREN" | wc -l) -UNIQUE_CHILDREN=$(echo "$ALL_TREE_CHILDREN" | sort -u | wc -l) +UNIQUE_CHILDREN=$(echo "$ALL_TREE_CHILDREN" | ordenar -u | wc -l) -test "$NUMBER_OF_CHILDREN" -gt "$UNIQUE_CHILDREN" +prueba "$NUMBER_OF_CHILDREN" -gt "$UNIQUE_CHILDREN" \ No newline at end of file diff --git a/levels/low-level/puzzle-trees-all-the-way-down b/levels/low-level/puzzle-trees-all-the-way-down index bc3e58a..3f8558c 100644 --- a/levels/low-level/puzzle-trees-all-the-way-down +++ b/levels/low-level/puzzle-trees-all-the-way-down @@ -1,34 +1,34 @@ -[description] +[descripci�n] -Construct a chain of three trees, which don't point to anything else. +Construye una cadena de tres �rboles, que no apunten a nada m�s. -This is hard! The `git mktree` command might be useful. +�Esto es duro! El comando `git mktree` puede resultar �til. -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] git mktree -TREE=$(echo -e "040000 tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\tdir" | git mktree) -echo -e "040000 tree $TREE\tdir" | git mktree +�RBOL=$(echo -e "040000 �rbol 4b825dc642cb6eb9a060e54bf8d69288fbee4904\tdir" | git mktree) +echo -e "040000 �rbol $TREE\tdir" | git mktree -[win] +[ganar] -TREES=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep tree | cut -f1 -d" ") +�RBOLES=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | �rbol grep | cut -f1 -d" ") -for TREE in $TREES; do - if [ "$(git cat-file -p $TREE | wc -l)" -eq 1 ]; then - if [ "$(git cat-file -p $TREE | cut -f1 | grep tree | wc -l)" -eq 1 ]; then - # So the tree has exactly one child, and it is a tree! - TREE2=$(git cat-file -p $TREE | cut -f1 | grep tree | cut -f3 -d" ") - if [ "$(git cat-file -p $TREE2 | wc -l)" -eq 1 ]; then - if [ "$(git cat-file -p $TREE2 | cut -f1 | grep tree | wc -l)" -eq 1 ]; then - # Same for its child! \o/ - return 0 +para �RBOL en $�RBOLES; hacer + if [ "$(git cat-file -p $�RBOL | wc -l)" -eq 1 ]; entonces + if [ "$(git cat-file -p $TREE | cut -f1 | grep tree | wc -l)" -eq 1 ]; entonces + # Entonces el �rbol tiene exactamente un hijo, �y es un �rbol! + �RBOL2=$(git cat-file -p $�RBOL | cortar -f1 | �rbol grep | cortar -f3 -d" ") + if [ "$(git cat-file -p $TREE2 | wc -l)" -eq 1 ]; entonces + if [ "$(git cat-file -p $TREE2 | cut -f1 | grep tree | wc -l)" -eq 1 ]; entonces + # �Lo mismo para su hijo! \o/ + regresar 0 fi fi fi fi -done +hecho -return 1 +regresar 1 \ No newline at end of file diff --git a/levels/low-level/ref-create b/levels/low-level/ref-create index 1cc4bcf..9773ffe 100644 --- a/levels/low-level/ref-create +++ b/levels/low-level/ref-create @@ -1,42 +1,42 @@ -[description] +[descripci�n] -Let's take a look at "refs" (short for "references")! Refs are not objects, but rather very simple *pointers* to objects! They can help you keep track of what's where. +�Echemos un vistazo a las "refs" (abreviatura de "referencias")! �Las referencias no son objetos, sino *punteros* muy simples a objetos! Pueden ayudarle a realizar un seguimiento de qu� est� y d�nde. -You can create or update a ref with +Puede crear o actualizar una referencia con - git update-ref refs/<refname> <newvalue> + git update-ref refs/<nombre de referencia> <nuevo valor> -Make sure to always start a ref's name with "refs/"! That's a convention that helps Git find all refs you create. If you forget the "refs/", you will not see the ref. +�Aseg�rate de comenzar siempre el nombre de un �rbitro con "refs/"! Esa es una convenci�n que ayuda a Git a encontrar todas las referencias que creas. Si olvida "refs/", no ver� la referencia. -Create refs that point to all objects in this repository! +�Crea referencias que apunten a todos los objetos en este repositorio! -[setup] +[configuraci�n] -echo hello > hello -echo world > world -BLOB1=$(git hash-object -w hello) -BLOB2=$(git hash-object -w world) -git add . -TREE=$(git write-tree) -COMMIT=$(git commit-tree $TREE -m "Initial commit") +eco hola > hola +eco mundo > mundo +BLOB1=$(git hash-object -w hola) +BLOB2=$(git hash-object -w mundo) +git agregar. +�RBOL=$(git escribir-�rbol) +COMMIT=$(git commit-tree $TREE -m "Compromiso inicial") -[setup goal] +[objetivo de configuraci�n] -echo hello > hello -echo world > world -BLOB1=$(git hash-object -w hello) -BLOB2=$(git hash-object -w world) -git add . -TREE=$(git write-tree) -COMMIT=$(git commit-tree $TREE -m "Initial commit") +eco hola > hola +eco mundo > mundo +BLOB1=$(git hash-object -w hola) +BLOB2=$(git hash-object -w mundo) +git agregar. +�RBOL=$(git escribir-�rbol) +COMMIT=$(git commit-tree $TREE -m "Compromiso inicial") -git update-ref refs/a $BLOB1 -git update-ref refs/b $BLOB2 -git update-ref refs/c $TREE -git update-ref refs/d $COMMIT +git actualizaci�n-ref refs/a $BLOB1 +git actualizaci�n-ref refs/b $BLOB2 +git actualizaci�n-ref refs/c $�RBOL +git actualizaci�n-ref refs/d $COMMIT -[win] +[ganar] -OBJECTS=$(git cat-file --batch-check='%(objectname)' --batch-all-objects | sort) -REF_TARGETS=$(git show-ref -s | sort | uniq) -test "$OBJECTS" = "$REF_TARGETS" +OBJETOS=$(git cat-file --batch-check='%(nombre de objeto)' --batch-all-objects | sort) +REF_TARGETS=$(git show-ref -s | ordenar | uniq) +prueba "$OBJECTS" = "$REF_TARGETS" \ No newline at end of file diff --git a/levels/low-level/ref-move b/levels/low-level/ref-move index e3b29e3..cd1bdbb 100644 --- a/levels/low-level/ref-move +++ b/levels/low-level/ref-move @@ -1,41 +1,41 @@ -[description] +[descripci�n] -You can point refs to a new location using the same command you use to create them: +Puede se�alar referencias a una nueva ubicaci�n usando el mismo comando que usa para crearlas: - git update-ref refs/<refname> <object> + git update-ref refs/<nombre de referencia> <objeto> -As an exercise, make all refs in this repository point to the tree object! +Como ejercicio, �haga que todas las referencias en este repositorio apunten al objeto del �rbol! -[setup] +[configuraci�n] -echo hello > hello -echo world > world -BLOB1=$(git hash-object -w hello) -BLOB2=$(git hash-object -w world) -git add . -TREE=$(git write-tree) -COMMIT=$(git commit-tree $TREE -m "Initial commit") +eco hola > hola +eco mundo > mundo +BLOB1=$(git hash-object -w hola) +BLOB2=$(git hash-object -w mundo) +git agregar. +�RBOL=$(git escribir-�rbol) +COMMIT=$(git commit-tree $TREE -m "Compromiso inicial") -git update-ref refs/a "$BLOB1" +git actualizaci�n-ref refs/a "$BLOB1" git update-ref refs/b "$COMMIT" -[setup goal] +[objetivo de configuraci�n] -echo hello > hello -echo world > world -BLOB1=$(git hash-object -w hello) -BLOB2=$(git hash-object -w world) -git add . -TREE=$(git write-tree) -COMMIT=$(git commit-tree $TREE -m "Initial commit") +eco hola > hola +eco mundo > mundo +BLOB1=$(git hash-object -w hola) +BLOB2=$(git hash-object -w mundo) +git agregar. +�RBOL=$(git escribir-�rbol) +COMMIT=$(git commit-tree $TREE -m "Compromiso inicial") -git update-ref refs/a "$BLOB1" +git actualizaci�n-ref refs/a "$BLOB1" git update-ref refs/b "$COMMIT" -for REF in $(git for-each-ref --format='%(refname)'); do - git update-ref "$REF" "$TREE" -done +para REF en $(git for-each-ref --format='%(refname)'); hacer + git update-ref "$REF" "$�RBOL" +hecho -[win] +[ganar] -test "$(git show-ref -s | sort -u)" = "c7863f72467ed8dd44f4b8ffdb8b57ca7d91dc9e" +prueba "$(git show-ref -s | sort -u)" = "c7863f72467ed8dd44f4b8ffdb8b57ca7d91dc9e" \ No newline at end of file diff --git a/levels/low-level/ref-remove b/levels/low-level/ref-remove index d1fa982..5716409 100644 --- a/levels/low-level/ref-remove +++ b/levels/low-level/ref-remove @@ -1,41 +1,41 @@ -[description] +[descripci�n] -And finally, to delete a ref, use +Y finalmente, para eliminar una referencia, use - git update-ref -d refs/<refname> + git update-ref -d refs/<nombre de referencia> -Delete all refs! :P (Well, except for HEAD. HEAD is special.) +�Elimina todas las referencias! :P (Bueno, excepto HEAD. HEAD es especial). -[setup] +[configuraci�n] -echo hello > hello -echo world > world -BLOB1=$(git hash-object -w hello) -BLOB2=$(git hash-object -w world) -git add . -TREE=$(git write-tree) -COMMIT=$(git commit-tree $TREE -m "Initial commit") +eco hola > hola +eco mundo > mundo +BLOB1=$(git hash-object -w hola) +BLOB2=$(git hash-object -w mundo) +git agregar. +�RBOL=$(git escribir-�rbol) +COMMIT=$(git commit-tree $TREE -m "Compromiso inicial") git update-ref refs/best_blob_ever "$BLOB1" git update-ref refs/beautiful_commit "$COMMIT" -[setup goal] +[objetivo de configuraci�n] -echo hello > hello -echo world > world -BLOB1=$(git hash-object -w hello) -BLOB2=$(git hash-object -w world) -git add . -TREE=$(git write-tree) -COMMIT=$(git commit-tree $TREE -m "Initial commit") +eco hola > hola +eco mundo > mundo +BLOB1=$(git hash-object -w hola) +BLOB2=$(git hash-object -w mundo) +git agregar. +�RBOL=$(git escribir-�rbol) +COMMIT=$(git commit-tree $TREE -m "Compromiso inicial") git update-ref refs/best_blob_ever "$BLOB1" git update-ref refs/beautiful_commit "$COMMIT" -for REF in $(git for-each-ref --format='%(refname)'); do - git update-ref -d "$REF" -done +para REF en $(git for-each-ref --format='%(refname)'); hacer + git actualizaci�n-ref -d "$REF" +hecho -[win] +[ganar] -test "$(git show-ref | wc -l)" -eq 0 +prueba "$(git show-ref | wc -l)" -eq 0 \ No newline at end of file diff --git a/levels/low-level/sequence b/levels/low-level/sequence index 5feb0c8..c7c4a04 100644 --- a/levels/low-level/sequence +++ b/levels/low-level/sequence @@ -1,18 +1,18 @@ -welcome -basics -blob-create -blob-remove -index-add -index-remove -index-update -tree-create -tree-read -tree-nested -commit-create -commit-parents -commit-rhombus -ref-create -ref-move -ref-remove -symref-create -symref-no-deref +bienvenido +lo esencial +creaci�n de blobs +eliminar blobs +agregar �ndice +eliminar �ndice +actualizaci�n del �ndice +crear arbol +lectura de �rbol +anidado en los �rboles +comprometerse-crear +padres comprometidos +compromiso-rombo +ref-crear +movimiento de referencia +ref-eliminar +crear symref +symref-no-deref \ No newline at end of file diff --git a/levels/low-level/symref-create b/levels/low-level/symref-create index da933cb..6bc80d3 100644 --- a/levels/low-level/symref-create +++ b/levels/low-level/symref-create @@ -1,21 +1,21 @@ -[description] +[descripci�n] -Instead of pointing directly to objects, refs can also point to other refs! +�En lugar de apuntar directamente a objetos, las referencias tambi�n pueden apuntar a otras referencias! -When that happens, they are called "symbolic refs". You can create or update a symbolic ref using +Cuando eso sucede, se les llama "referencias simb�licas". Puede crear o actualizar una referencia simb�lica usando - git symbolic-ref <name> <ref> + git simb�lico-ref <nombre> <ref> -Create a symbolic ref called "refs/rainbow"! +�Crea una referencia simb�lica llamada "refs/rainbow"! -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] BLOB=$(git hash-object -w --stdin) -git update-ref refs/double "$BLOB" -git symbolic-ref refs/rainbow refs/double +git update-ref refs/doble "$BLOB" +git simb�lico-ref refs/arco�ris refs/doble -[win] +[ganar] -git symbolic-ref refs/rainbow +git simb�lico-ref refs/arco iris \ No newline at end of file diff --git a/levels/low-level/symref-no-deref b/levels/low-level/symref-no-deref index 458e669..2359837 100644 --- a/levels/low-level/symref-no-deref +++ b/levels/low-level/symref-no-deref @@ -1,46 +1,46 @@ -[description] +[descripci�n] -When you have a symbolic ref (a ref pointing at another ref), and you decide you want it to be a regular ref again (pointing to an object), you're in for some trouble! :) +Cuando tienes una referencia simb�lica (una referencia que apunta a otra referencia) y decides que quieres que vuelva a ser una referencia normal (que apunta a un objeto), �te espera un problema! :) -What happens when you try pointing the symbolic ref directly to the blob using `git update-ref`? +�Qu� sucede cuando intentas apuntar la referencia simb�lica directamente al blob usando `git update-ref`? -Oops! Turns out that when you reference a symbolic ref, it acts as if you had specified the ref it points to. To de-symbolic-ize it, use the `--no-deref` option directly after `update-ref`! +�Ups! Resulta que cuando haces referencia a una referencia simb�lica, act�a como si hubieras especificado la referencia a la que apunta. Para eliminarlo simb�lico, use la opci�n `--no-deref` directamente despu�s de `update-ref`. -Weird, huh? +Qu� raro, �eh? -[congrats] +[felicitaciones] -Whew, we've covered a lot of things: Blobs! The index! Trees! Commits! Refs! +Vaya, hemos cubierto muchas cosas: �Blobs! �El �ndice! ��rboles! �Se compromete! ��rbitros! -You now know about almost everything about how Git repositories look like on the inside! We think that's pretty cool! :) +�Ahora sabes casi todo sobre c�mo se ven los repositorios de Git por dentro! �Creemos que es genial! :) -Everything else is just convention and high-level commands that make interacting with the objects more convenient. +Todo lo dem�s son s�lo convenciones y comandos de alto nivel que hacen que la interacci�n con los objetos sea m�s conveniente. -We haven't covered: +No hemos cubierto: -- tag objects (they are the fourth object type - a bit like refs with a description and an author) -- configuration (allows you to specify remote repositories, for example) -- working with local files (which is, uh, arguably pretty important :P) +- etiquetar objetos (son el cuarto tipo de objeto, un poco como referencias con una descripci�n y un autor) +- configuraci�n (le permite especificar repositorios remotos, por ejemplo) +- trabajar con archivos locales (lo cual es, posiblemente, bastante importante :P) -Thanks for playing! You're welcome to check out the "puzzle" levels in the dropdown, some of them are more advanced! +�Gracias por jugar! Eres bienvenido a ver los niveles de "rompecabezas" en el men� desplegable, �algunos de ellos son m�s avanzados! -[setup] +[configuraci�n] -BLOB1=$(echo delicious | git hash-object -w --stdin) -BLOB2=$(echo very | git hash-object -w --stdin) +BLOB1=$(echo delicioso | git hash-object -w --stdin) +BLOB2=$(echo muy | git hash-object -w --stdin) git update-ref refs/curly "$BLOB1" -git symbolic-ref refs/fries refs/curly +git simb�lico-ref refs/fries refs/curly -[setup goal] +[objetivo de configuraci�n] -BLOB1=$(echo delicious | git hash-object -w --stdin) -BLOB2=$(echo very | git hash-object -w --stdin) +BLOB1=$(echo delicioso | git hash-object -w --stdin) +BLOB2=$(echo muy | git hash-object -w --stdin) git update-ref refs/curly "$BLOB1" -git symbolic-ref refs/fries refs/curly +git simb�lico-ref refs/fries refs/curly git update-ref --no-deref refs/fries "$BLOB2" -[win] +[ganar] -git symbolic-ref refs/fries && return 1 -test "$(git show-ref -s refs/fries)" = "035e2968dafeea08e46e8fe6743cb8123e8b9aa6" +git simb�lico-ref refs/fries && retorno 1 +prueba "$(git show-ref -s refs/fries)" = "035e2968dafeea08e46e8fe6743cb8123e8b9aa6" \ No newline at end of file diff --git a/levels/low-level/tree-create b/levels/low-level/tree-create index 3da3618..8d46dc4 100644 --- a/levels/low-level/tree-create +++ b/levels/low-level/tree-create @@ -1,35 +1,35 @@ -[description] +[descripci�n] -After carefully building the index we want, it would be nice to save a permanent snapshot of it, right? +Despu�s de crear cuidadosamente el �ndice que queremos, ser�a bueno guardar una instant�nea permanente del mismo, �verdad? -This is what the second type of objects is for: trees! You can convert the index into a tree using +Para eso est� el segundo tipo de objetos: ��rboles! Puede convertir el �ndice en un �rbol usando - git write-tree + �rbol de escritura de git -Try it! :) +�Intentalo! :) -[congrats] +[felicitaciones] -Nice! +�Lindo! -Can you make a different tree? Modify the index, then call `git write-tree` again! +�Puedes hacer un �rbol diferente? Modifique el �ndice y luego llame a `git write-tree` nuevamente. -[setup] +[configuraci�n] -echo "file 1" > file1 -echo "file 2" > file2 -echo "file 3" > file3 -git add . +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +eco "archivo 3" > archivo3 +git agregar. -[setup goal] +[objetivo de configuraci�n] -echo "file 1" > file1 -echo "file 2" > file2 -echo "file 3" > file3 -git add . +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +eco "archivo 3" > archivo3 +git agregar. -git write-tree +�rbol de escritura de git -[win] +[ganar] -git cat-file -p 21a638f28022064c1f1df20844278b494d197979 +git cat-file -p 21a638f28022064c1f1df20844278b494d197979 \ No newline at end of file diff --git a/levels/low-level/tree-nested b/levels/low-level/tree-nested index c7afce8..6ae752d 100644 --- a/levels/low-level/tree-nested +++ b/levels/low-level/tree-nested @@ -1,38 +1,38 @@ -[description] +[descripci�n] -Trees can also point to other trees! This way, they can describe nested directory structures. +�Los �rboles tambi�n pueden se�alar a otros �rboles! De esta manera, pueden describir estructuras de directorios anidados. -When you add a file inside of a directory to the index, and then call `git write-tree`, it will create a nested tree for the directory, and attach the blob to it. +Cuando agrega un archivo dentro de un directorio al �ndice y luego llama a `git write-tree`, crear� un �rbol anidado para el directorio y le adjuntar� el blob. -To solve this level, build a little stick figure, as shown on the left - a tree that points to two blobs, as well to a tree that points to two blobs. +Para resolver este nivel, construye una peque�a figura de palo, como se muestra a la izquierda: un �rbol que apunta a dos manchas, as� como un �rbol que apunta a dos manchas. -[setup] +[configuraci�n] -[setup goal] +[objetivo de configuraci�n] -echo "I'm the left arm" > arm1 -echo "I'm the right arm" > arm2 -mkdir hip -echo "I'm the left leg" > hip/leg1 -echo "I'm the right leg" > hip/leg2 -git add . -git write-tree +echo "Soy el brazo izquierdo" > arm1 +echo "Soy el brazo derecho" > arm2 +cadera mkdir +echo "Soy la pierna izquierda" > cadera/pierna1 +echo "Soy la pierna derecha" > cadera/pierna2 +git agregar. +�rbol de escritura de git -[win] +[ganar] -TREES=$(git cat-file --batch-check='%(objectname) %(objecttype)' --batch-all-objects | grep tree | cut -f1 -d" ") +�RBOLES=$(git cat-file --batch-check='%(nombre de objeto) %(tipo de objeto)' --batch-all-objects | �rbol grep | cut -f1 -d" ") -for OUTER_TREE in $TREES; do +para OUTER_TREE en $TREES; hacer NUMBER_OF_BLOB_CHILDREN=$(git cat-file -p $OUTER_TREE | cut -f2 -d" " | grep blob | wc -l) - NUMBER_OF_TREE_CHILDREN=$(git cat-file -p $OUTER_TREE | cut -f2 -d" " | grep tree | wc -l) + NUMBER_OF_TREE_CHILDREN=$(git cat-file -p $OUTER_TREE | cut -f2 -d" " | grep �rbol | wc -l) - if [ $NUMBER_OF_BLOB_CHILDREN -eq 2 -a $NUMBER_OF_TREE_CHILDREN -eq 1 ]; then - TREE_CHILD=$(git cat-file -p $OUTER_TREE | cut -f1 | grep tree | cut -d" " -f3) + si [ $NUMBER_OF_BLOB_CHILDREN -eq 2 -a $NUMBER_OF_TREE_CHILDREN -eq 1 ]; entonces + TREE_CHILD=$(git cat-file -p $OUTER_TREE | cortar -f1 | grep �rbol | cortar -d" " -f3) NUMBER_OF_BLOB_CHILDREN_OF_TREE_CHILD=$(git cat-file -p $TREE_CHILD | cut -f2 -d" " | grep blob | wc -l) - if [ $NUMBER_OF_BLOB_CHILDREN_OF_TREE_CHILD -eq 2 ]; then - return 0 + si [ $NUMBER_OF_BLOB_CHILDREN_OF_TREE_CHILD -eq 2 ]; entonces + regresar 0 fi fi -done +hecho -return 1 +regresar 1 \ No newline at end of file diff --git a/levels/low-level/tree-read b/levels/low-level/tree-read index ba8c440..e1e67c8 100644 --- a/levels/low-level/tree-read +++ b/levels/low-level/tree-read @@ -1,51 +1,51 @@ -[description] +[descripci�n] -As soon as you have some tree objects, you can always read them and set the index exactly to their content! Unsurprisingly, the command is called +�Tan pronto como tenga algunos objetos de �rbol, siempre podr� leerlos y establecer el �ndice exactamente seg�n su contenido! Como era de esperar, el comando se llama - git read-tree <tree> + git lectura-�rbol <�rbol> -For <tree>, you can provide the hash of any tree object - you can right-click one to insert its hash into the terminal! +Para <�rbol>, puede proporcionar el hash de cualquier objeto de �rbol; puede hacer clic derecho en uno para insertar su hash en la terminal. -Try reading some of the trees in this repository into the index! +�Intenta leer algunos de los �rboles de este repositorio en el �ndice! -[setup] +[configuraci�n] -EMPTY_TREE=$(git write-tree) +EMPTY_TREE=$(git escribir-�rbol) -echo "file 1" > file1 -echo "file 2" > file2 -git add . -git write-tree +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +git agregar. +�rbol de escritura de git -rm * -echo "file A" > fileA -echo "file B" > fileB -echo "file C" > fileC -git add . -TRIPLE_TREE=$(git write-tree) +habitaci�n * +echo "archivo A" > archivoA +echo "archivo B" > archivoB +echo "archivo C" > archivoC +git agregar. +TRIPLE_TREE=$(git escribir-�rbol) -git read-tree "$EMPTY_TREE" +git �rbol de lectura "$EMPTY_TREE" -[setup goal] +[objetivo de configuraci�n] -EMPTY_TREE=$(git write-tree) +EMPTY_TREE=$(git escribir-�rbol) -echo "file 1" > file1 -echo "file 2" > file2 -git add . -git write-tree +eco "archivo 1" > archivo1 +eco "archivo 2" > archivo2 +git agregar. +�rbol de escritura de git -rm * -echo "file A" > fileA -echo "file B" > fileB -echo "file C" > fileC -git add . -TRIPLE_TREE=$(git write-tree) +habitaci�n * +echo "archivo A" > archivoA +echo "archivo B" > archivoB +echo "archivo C" > archivoC +git agregar. +TRIPLE_TREE=$(git escribir-�rbol) -git read-tree "$EMPTY_TREE" +git �rbol de lectura "$EMPTY_TREE" -git read-tree "$TRIPLE_TREE" +git �rbol de lectura "$TRIPLE_TREE" -[win] +[ganar] -test "$(git ls-files | wc -l)" -gt 0 +prueba "$(git ls-files | wc -l)" -gt 0 \ No newline at end of file diff --git a/levels/low-level/welcome b/levels/low-level/welcome index d669136..653f55e 100644 --- a/levels/low-level/welcome +++ b/levels/low-level/welcome @@ -1,33 +1,33 @@ -[description] +[descripci�n] -This is prototype #1 for the Git learning game by @bleeptrack and @blinry. Thanks for checking it out! <3 +Este es el prototipo n.� 1 para el juego de aprendizaje Git de @bleeptrack y @blinry. Gracias por echarle un vistazo! <3 -You can interact with the repository labelled "yours" by typing Bash commands in the terminal below! The visualization will show you its internal status. +�Puedes interactuar con el repositorio etiquetado como "tuyo" escribiendo comandos Bash en la terminal a continuaci�n! La visualizaci�n le mostrar� su estado interno. -Let's get started by initializing an empty Git repository in the current directory by typing: +Comencemos inicializando un repositorio Git vac�o en el directorio actual escribiendo: - git init + inicio de git -[congrats] +[felicitaciones] -Well done! +�Bien hecho! -An empty Git repository is... well, quite empty. The only thing that always exists is a reference called "HEAD" - we'll learn what that is later! +Un repositorio Git vac�o est�... bueno, bastante vac�o. Lo �nico que siempre existe es una referencia llamada "HEAD". �Aprenderemos qu� es m�s adelante! -But first, let's look at some basics! +Pero primero, �veamos algunos conceptos b�sicos! -(Click "Next Level" as soon as you're ready!) +(�Haga clic en "Siguiente nivel" tan pronto como est� listo!) -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -[setup goal] +[objetivo de configuraci�n] -rm -rf .git +rm-rf.git -git init +inicio de git -[win] +[ganar] -test -d .git +prueba -d .git \ No newline at end of file diff --git a/levels/merge/conflict b/levels/merge/conflict index 1a8b02b..1b7cb22 100644 --- a/levels/merge/conflict +++ b/levels/merge/conflict @@ -1,47 +1,47 @@ -title = Contradictions -cards = checkout commit-auto merge reset-hard +t�tulo = Contradicciones +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -Sometimes, timelines will contradict each other. +A veces, los plazos se contradicen entre s�. -For example, in this case, one of our clients wants these timelines merged, but they ate different things for breakfast in both timelines. +Por ejemplo, en este caso, uno de nuestros clientes quiere fusionar estas l�neas de tiempo, pero desayun� cosas diferentes en ambas l�neas de tiempo. -Try to merge them together! You'll notice that there will be a conflict! The time machine will leave it up to you how to proceed: you can edit the problematic item, it will show you the conflicting sections. You can keep either of the two versions - or create a combination of them! Remove the >>>, <<<, and === markers, and make a new commit to finalize the merge! +�Intenta fusionarlos! �Notar�s que habr� un conflicto! La m�quina del tiempo dejar� que usted elija c�mo proceder: puede editar el elemento problem�tico, le mostrar� las secciones en conflicto. Puedes conservar cualquiera de las dos versiones o crear una combinaci�n de ellas. Elimine los marcadores >>>, <<< y === y realice una nueva confirmaci�n para finalizar la fusi�n. -Let your finalized timeline be the "main" one. +Deje que su cronograma finalizado sea el "principal". -[setup] +[configuraci�n] -echo "Just woke up. Is hungry." > sam -git add . -git commit -m "The beginning" +echo "Acabo de despertar. Tiene hambre". > sam +git agregar. +git commit -m "El comienzo" -git checkout -b pancakes -echo "Had blueberry pancakes with maple syrup for breakfast." > sam -git add . -git commit -m "Pancakes!" +git checkout -b panqueques +echo "Com� panqueques de ar�ndanos con jarabe de arce para desayunar". > sam +git agregar. +git commit -m "�Panqueques!" -echo " -Is at work." >> sam -git commit -am "Go to work" +eco " +Est� en el trabajo." >> sam +git commit -am "Ir a trabajar" -git checkout -b muesli main -echo "Had muesli with oats and strawberries for breakfast." > sam -git add . -git commit -m "Muesli!" +git checkout -b muesli principal +echo "Com� muesli con avena y fresas para desayunar." > sam +git agregar. +git commit -m "�Muesli!" -echo " -Is at work." >> sam -git commit -am "Go to work" +eco " +Est� en el trabajo." >> sam +git commit -am "Ir a trabajar" -git checkout main +git pago principal -[win] +[ganar] -# Make a breakfast compromise in the 'main' branch. +# Haga un compromiso para el desayuno en la rama 'principal'. git rev-parse main^ && test "$(git rev-parse main^1^^)" = "$(git rev-parse main^2^^)" -[congrats] +[felicitaciones] -Yum, that sounds like a good breakfast! +�Mmm, eso suena como un buen desayuno! \ No newline at end of file diff --git a/levels/merge/merge b/levels/merge/merge index 8b45d06..05cb176 100644 --- a/levels/merge/merge +++ b/levels/merge/merge @@ -1,82 +1,82 @@ -title = Merging timelines -cards = checkout commit-auto merge +t�tulo = Fusionar l�neas de tiempo +tarjetas = pago confirmaci�n-fusi�n autom�tica -[description] +[descripci�n] -Here's a trick so that you can sleep a bit longer: just do all your morning activities in parallel universes, and then at the end, merge them together! +Aqu� tienes un truco para que puedas dormir un poco m�s: simplemente haz todas tus actividades matutinas en universos paralelos y, al final, �f�ndelas! -[setup] +[configuraci�n] -echo "You do not have a baguette. +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you +No tienes donut." > tu -git add . -git commit -m "The Beginning" +git agregar. +git commit -m "El comienzo" -echo "You have a baguette. +echo "Tienes una baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You buy a baguette" +No tienes donut." > tu +git agregar. +git commit -m "Compras una baguette" -echo "You ate a baguette. +echo "Te comiste una baguette. -You do not have coffee. +No tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You eat the baguette" +No tienes donut." > tu +git agregar. +git commit -m "Te comes la baguette" -git checkout HEAD~2 -echo "You do not have a baguette. +git pago CABEZA~2 +echo "No tienes baguette. -You have coffee. +Tienes caf�. -You do not have a donut." > you -git add . -git commit -m "You buy some coffee" +No tienes donut." > tu +git agregar. +git commit -m "Compras un poco de caf�" -echo "You do not have a baguette. +echo "No tienes baguette. -You drank coffee. +Bebiste caf�. -You do not have a donut." > you -git add . -git commit -m "You drink the coffee" +No tienes donut." > tu +git agregar. +git commit -m "T� bebes el caf�" -git checkout HEAD~2 -echo "You do not have a baguette. +git pago CABEZA~2 +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You have a donut." > you -git add . -git commit -m "You buy a donut" +Tienes un donut." > t� +git agregar. +git commit -m "Compras una dona" -echo "You do not have a baguette. +echo "No tienes baguette. -You do not have coffee. +No tienes caf�. -You ate a donut." > you -git add . -git commit -m "You eat the donut" +Te comiste un donut." > t� +git agregar. +git commit -m "Te comes el donut" -git checkout --detach -git branch -D main +git checkout --separar +rama git -D principal -[win] +[ganar] -# Build a situation where you consumed a baguette, a coffee, *and* a donut. -{ git show HEAD:you | grep "You ate.*baguette"; } && { git show HEAD:you | grep "You drank.*coffee"; } && { git show HEAD:you | grep "You ate.*donut"; } +# Crea una situaci�n en la que hayas consumido una barra de pan, un caf� y *y* un donut. +{ git show HEAD:t� | grep "Comiste.*baguette"; } && { git show HEAD:t� | grep "Bebiste.*caf�"; } && { git show HEAD:t� | grep "Comiste.*dona"; } -# Be on a merge commit. -test "$(git log --pretty=%P -n 1 HEAD | wc -w)" -ge 2 +# Estar en un compromiso de fusi�n. +prueba "$(git log --pretty=%P -n 1 HEAD | wc -w)" -ge 2 -[congrats] +[felicitaciones] -I wonder if you're more relaxed when you *sleep* in parallel timelines... +Me pregunto si est�s m�s relajado cuando *duermes* en l�neas de tiempo paralelas... \ No newline at end of file diff --git a/levels/merge/merge-abort b/levels/merge/merge-abort index ce7190b..6009fe3 100644 --- a/levels/merge/merge-abort +++ b/levels/merge/merge-abort @@ -1,54 +1,54 @@ -title = Abort a merge -cards = checkout commit-auto merge merge-abort +title = Cancelar una fusi�n +tarjetas = pago confirmar-fusi�n autom�tica fusi�n-abortar -[description] +[descripci�n] -Sometimes you want to merge two commits, but a merge conflict occurs that you currently don't want to resolve. +A veces desea fusionar dos confirmaciones, pero se produce un conflicto de fusi�n que actualmente no desea resolver. -In these situations you can abort the merge to merge later. Use - git merge --abort -when you are in a merge process. +En estas situaciones, puede cancelar la fusi�n para fusionarla m�s tarde. Usar + git fusionar --abortar +cuando est�s en un proceso de fusi�n. -Try to merge both commits and abort the merge afterwards. +Intente fusionar ambas confirmaciones y luego cancele la fusi�n. -[setup] +[configuraci�n] -echo "A new day is starting" > you +echo "Un nuevo d�a est� comenzando" > t� -git add . -git commit -m "Start" +git agregar. +git commit -m "Inicio" -echo "Walking down the Main Lane." >> you +echo "Caminando por el carril principal". >> tu -git add . -git commit -m "Main Lane" +git agregar. +git commit -m "Carril principal" -git checkout HEAD~1 +git pago CABEZA~1 -echo "Walking down the Side Lane." >> you +echo "Caminando por el carril lateral". >> tu -git add . -git commit -m "Side Lane" +git agregar. +git commit -m "Carril lateral" -git checkout HEAD~1 +git pago CABEZA~1 -git branch -D main +rama git -D principal -[actions] +[comportamiento] -if test -f .git/MERGE_HEAD; then - touch .git/secretfile +si prueba -f .git/MERGE_HEAD; entonces + toque .git/secretfile fi -[win] +[ganar] -# You tried to merge? -test -f .git/secretfile +# �Intentaste fusionarte? +prueba -f .git/archivosecreto -# You aborted to merge? -test -f .git/secretfile && ! test -f .git/MERGE_HEAD && ! git rev-parse HEAD^^ +# �Abortaste la fusi�n? +prueba -f .git/secretfile &&! prueba -f .git/MERGE_HEAD &&! git rev-parse CABEZA^^ -[congrats] +[felicitaciones] -Aaah, let's merge later... +Aaah, fusion�monos m�s tarde... \ No newline at end of file diff --git a/levels/merge/sequence b/levels/merge/sequence index c3b6caf..74e6773 100644 --- a/levels/merge/sequence +++ b/levels/merge/sequence @@ -1,2 +1,2 @@ -merge -conflict +unir +conflicto \ No newline at end of file diff --git a/levels/remotes/friend b/levels/remotes/friend index 1b70f33..1c8d2e2 100644 --- a/levels/remotes/friend +++ b/levels/remotes/friend @@ -1,47 +1,47 @@ -title = Friend -cards = pull push commit-auto checkout +t�tulo = Amigo +tarjetas = tirar empujar confirmar-pago autom�tico -[description] +[descripci�n] -Your friend added another line to your essay! Get it, add a third one and send it to them! +�Tu amigo agreg� otra l�nea a tu ensayo! �Cons�guelo, agrega un tercero y env�aselo! -Take turns until you have five lines! +�T�rnense hasta tener cinco l�neas! -[setup yours] +[configura el tuyo] -echo "Line 1" > essay -git add . -git commit -m "One line" +echo "L�nea 1" > ensayo +git agregar. +git commit -m "Una l�nea" -git push -u friend main +git push -u amigo principal -[setup friend] +[amigo de configuraci�n] -git checkout main -echo "Line 2, gnihihi" >> essay -git commit -am "Another line" +git pago principal +echo "L�nea 2, gnihihi" >> ensayo +git commit -am "Otra l�nea" -[actions friend] +[acciones amigo] -if test "$(git log --oneline | wc -l)" -eq 3; then - git reset --hard main # Necessary because the working directory isn't updated when we push to the friend. - echo "Line 4, blurbblubb" >> essay - git commit -am "Final line" - hint "Oh nice, I added a fourth line!" +si prueba "$(git log --oneline | wc -l)" -eq 3; entonces + git reset --hard main # Necesario porque el directorio de trabajo no se actualiza cuando enviamos al amigo. + echo "L�nea 4, Blubbblubb" >> ensayo + git commit -am "L�nea final" + pista "�Qu� bien, agregu� una cuarta l�nea!" fi -[win] +[ganar] -# Got the second line from your friend -git show HEAD:essay | grep gnihihi +# Recib� la segunda l�nea de tu amigo. +git show HEAD:ensayo | grep gnihihi -# Got the fourth line from your friend. -git show HEAD:essay | grep blurbblubb +# Recib� la cuarta l�nea de tu amigo. +git show HEAD:ensayo | grep blubbblubb -[win friend] +[gana amigo] -# The friend got a third line from you -test "$(git show HEAD:essay | wc -l)" -ge 3 +# El amigo recibi� una tercera l�nea tuya +prueba "$(git show HEAD:ensayo | wc -l)" -ge 3 -# The friend got a fifth line from you -test "$(git show HEAD:essay | wc -l)" -ge 5 +# El amigo recibi� una quinta l�nea tuya +prueba "$(git show HEAD:ensayo | wc -l)" -ge 5 \ No newline at end of file diff --git a/levels/remotes/problems b/levels/remotes/problems index fab71c5..c359b37 100644 --- a/levels/remotes/problems +++ b/levels/remotes/problems @@ -1,33 +1,33 @@ -title = Problems -cards = checkout add pull push commit-auto merge +t�tulo = Problemas +tarjetas = pagar agregar tirar empujar confirmar-fusi�n autom�tica -[description] +[descripci�n] -Both you and your friend have been working on the file, and want to sync up! +�Tanto t� como tu amigo hab�is estado trabajando en el archivo y quer�is sincronizarlo! -[setup yours] +[configura el tuyo] -echo "The bike shed should be ???" > file -git add . -git commit -m "initial" +echo "�El cobertizo para bicicletas deber�a ser ???" > archivo +git agregar. +git commit -m "inicial" -git push -u friend main +git push -u amigo principal -echo "The bike shed should be green" > file +echo "El cobertizo para bicicletas debe ser verde" > archivo -[setup friend] +[amigo de configuraci�n] -git checkout main +git pago principal -echo "The bike shed should be blue" > file -git commit -a -m "friends version" +echo "El cobertizo para bicicletas debe ser azul" > archivo +git commit -a -m "versi�n de amigos" -[win] +[ganar] -# Commit your local changes. -test "$(git status -s)" = "" +# Confirme sus cambios locales. +prueba "$(git status -s)" = "" -[win friend] +[gana amigo] -# Look at your friend's suggestion, make a compromise, and push it back. -git rev-parse main^ && test "$(git rev-parse main^1^)" = "$(git rev-parse main^2^)" +# Mire la sugerencia de su amigo, haga un compromiso y ret�relo. +git rev-parse main^ && test "$(git rev-parse main^1^)" = "$(git rev-parse main^2^)" \ No newline at end of file diff --git a/levels/remotes/sequence b/levels/remotes/sequence index 13c5715..7e8dd54 100644 --- a/levels/remotes/sequence +++ b/levels/remotes/sequence @@ -1,2 +1,2 @@ -friend -problems +amigo +problemas \ No newline at end of file diff --git a/levels/sandbox/empty b/levels/sandbox/empty index 1f954a5..e6fac02 100644 --- a/levels/sandbox/empty +++ b/levels/sandbox/empty @@ -1,7 +1,7 @@ -title = Empty sandbox +t�tulo = Zona de pruebas vac�a -[description] +[descripci�n] -This is an empty sandbox you can play around in. +Esta es una caja de arena vac�a en la que puedes jugar. -[setup] +[configuraci�n] \ No newline at end of file diff --git a/levels/sandbox/remote b/levels/sandbox/remote index f0ca2c0..b77648e 100644 --- a/levels/sandbox/remote +++ b/levels/sandbox/remote @@ -1,22 +1,22 @@ -title = Sandbox with a remote -cards = checkout commit-auto pull fetch push +title = Sandbox con control remoto +tarjetas = pago confirmar-auto tirar buscar empujar -[description] +[descripci�n] -Here's a sandbox with a remote! Try pulling, fetching, or pushing! +�Aqu� tienes una caja de arena con control remoto! �Intenta tirar, buscar o empujar! -How can you push tags and branches on a remote? How can you delete them again? +�C�mo se pueden insertar etiquetas y ramas en un control remoto? �C�mo puedes borrarlos nuevamente? -[setup yours] +[configura el tuyo] -echo "Line 1" > essay -git add . -git commit -m "Initial commit" +echo "L�nea 1" > ensayo +git agregar. +git commit -m "Compromiso inicial" -git push -u friend main +git push -u amigo principal -[setup friend] +[amigo de configuraci�n] -git checkout main -echo "Line 2" >> essay -git commit -am "Another line" +git pago principal +echo "L�nea 2" >> ensayo +git commit -am "Otra l�nea" \ No newline at end of file diff --git a/levels/sandbox/sequence b/levels/sandbox/sequence index 29aa91f..85e997d 100644 --- a/levels/sandbox/sequence +++ b/levels/sandbox/sequence @@ -1,3 +1,3 @@ -empty -remote -three-commits +vac�o +remoto +tres compromisos \ No newline at end of file diff --git a/levels/sandbox/three-commits b/levels/sandbox/three-commits index 3e5308c..017993c 100644 --- a/levels/sandbox/three-commits +++ b/levels/sandbox/three-commits @@ -1,26 +1,26 @@ -title = Sandbox with three commits -cards = checkout add reset-file checkout-file commit merge rebase +t�tulo = Sandbox con tres confirmaciones +tarjetas = pagar agregar restablecer-archivo pagar-archivo confirmar fusionar rebase -[setup] +[configuraci�n] -echo "You wake up." > you -git add . -git commit -m "The beginning" +echo "Te despiertas". > tu +git agregar. +git commit -m "El comienzo" -echo "You drink coffee." >> you -git commit -am "First things first" +echo "Bebes caf�". >> tu +git commit -am "Lo primero es lo primero" -echo "You hear a knock on the door." >> you -git commit -am "Who's there?" +echo "Escuchas un golpe en la puerta". >> tu +git commit -am "�Qui�n est� ah�?" -git branch not_main +rama git not_main -[description] +[descripci�n] -Here's a sandbox you can play around in. +Aqu� tienes una caja de arena en la que puedes jugar. -You can use both the playing cards, as well as the terminal. This is a real Git terminal! Fun things to try: +Podr�s utilizar tanto las cartas, como el terminal. �Esta es una verdadera terminal Git! Cosas divertidas para probar: -- Make a commit that merges three timelines together at once! -- Create and delete some tags! -- Make a timeline that's completely independent of the rest! +- �Haz un compromiso que combine tres l�neas de tiempo a la vez! +- �Crea y elimina algunas etiquetas! +- �Crea una l�nea de tiempo que sea completamente independiente del resto! \ No newline at end of file diff --git a/levels/shit-happens/bad-commit b/levels/shit-happens/bad-commit index 10669be..1185cb6 100644 --- a/levels/shit-happens/bad-commit +++ b/levels/shit-happens/bad-commit @@ -1,30 +1,30 @@ -title = Undo a bad commit -cards = reset commit-a +title = Deshacer una confirmaci�n incorrecta +tarjetas = restablecer compromiso-a -[description] +[descripci�n] -Oh no, we made a bad commit! How can we undo making the commit, and go back to a point where we can try again? +�Oh no, hicimos un mal compromiso! �C�mo podemos deshacer el compromiso y volver a un punto en el que podamos volver a intentarlo? -The answer is using `git reset [commit]`, which does two things: +La respuesta es usar `git reset [commit]`, que hace dos cosas: -- It resets the current branch ref to the commit you specify. -- And it resets the index to that commit. +- Restablece la referencia de la rama actual a la confirmaci�n que especifiques. +- Y restablece el �ndice de esa confirmaci�n. -It does not change your working directory in any way, which means that after that, you can try making the commit you want again. +No cambia su directorio de trabajo de ninguna manera, lo que significa que despu�s de eso, puede intentar realizar la confirmaci�n que desee nuevamente. -[setup] +[configuraci�n] -echo "1 2 3 4" > numbers -git add . -git commit -m "Initial commit" -echo "1 2 3 4 5 6 7 8 9 11" > numbers -git commit -am "More numberrrrrs" +eco "1 2 3 4" > n�meros +git agregar. +git commit -m "Compromiso inicial" +eco "1 2 3 4 5 6 7 8 9 11" > n�meros +git commit -am "M�s n�merosrrrrs" -[win] +[ganar] -# In the last main commit, the numbers file contains the numbers from 1 to 10. -test "$(git show main:numbers)" = "1 2 3 4 5 6 7 8 9 10" -# The commit message of that commit is "More numbers". -git log -1 --oneline | grep "More numbers" -# The commit with the typo is not part of the main branch anymore. -git log --oneline | grep -v "rrrrr" +# En la �ltima confirmaci�n principal, el archivo de n�meros contiene los n�meros del 1 al 10. +prueba "$(git show main:n�meros)" = "1 2 3 4 5 6 7 8 9 10" +# El mensaje de confirmaci�n de esa confirmaci�n es "M�s n�meros". +git log -1 --oneline | grep "M�s n�meros" +# La confirmaci�n con el error tipogr�fico ya no forma parte de la rama principal. +registro de git --oneline | grep -v "rrrrr" \ No newline at end of file diff --git a/levels/shit-happens/pushed-something-broken b/levels/shit-happens/pushed-something-broken index f8dce38..a7b79d4 100644 --- a/levels/shit-happens/pushed-something-broken +++ b/levels/shit-happens/pushed-something-broken @@ -1,54 +1,54 @@ -title = I pushed something broken -cards = revert push +t�tulo = Empuj� algo roto +tarjetas = revertir el empuj�n -[description] +[descripci�n] -We were talking about how to undo a commit, and fix it. This only helps when you haven't already pushed it to a remote. When that has happened, and you want to undo the effects of the commit completely, your best option is `git revert` +Est�bamos hablando de c�mo deshacer una confirmaci�n y solucionarla. Esto s�lo ayuda cuando a�n no lo has activado a un control remoto. Cuando eso haya sucedido y desee deshacer completamente los efectos de la confirmaci�n, su mejor opci�n es `git revert` -[setup] +[configuraci�n] -echo "this is fine +eco "esto est� bien ? ? -?" > text -git add . -git commit -m fine -echo "this is fine +?" > texto +git agregar. +git commit -m bien +eco "esto est� bien -this is also fine +esto tambi�n est� bien ? -?" > text -git commit -am "also fine" -echo "this is fine +?" > texto +git commit -estoy "tambi�n bien" +eco "esto est� bien -this is also fine +esto tambi�n est� bien -this is very bad +esto es muy malo -?" > text -git commit -am "very bad" -echo "this is fine +?" > texto +git commit -soy "muy malo" +eco "esto est� bien -this is also fine +esto tambi�n est� bien -this is very bad +esto es muy malo -this is fine again" > text -git commit -am "fine again" +esto est� bien otra vez" > texto +git commit -estoy "bien otra vez" -git push team main -git branch -u team/main main +equipo principal de git push +git rama -u equipo/principal principal -[setup team] +[equipo de preparaci�n] -[win team] +[equipo ganador] -# The team's main branch no longer contains the bad thing. -! { git show main:text | grep -q "very bad"; } -# And the history has not been modified. -git show main^:text | grep -q "very bad" +# La rama principal del equipo ya no contiene lo malo. +! { git show principal:texto | grep -q "muy malo"; } +# Y el historial no ha sido modificado. +git show principal^:texto | grep -q "muy malo" \ No newline at end of file diff --git a/levels/shit-happens/reflog b/levels/shit-happens/reflog index e21c4e7..ea2d640 100644 --- a/levels/shit-happens/reflog +++ b/levels/shit-happens/reflog @@ -1,26 +1,26 @@ -title = Go back to where you were before -cards = checkout reflog +title = Vuelve a donde estabas antes +tarjetas = finalizar compra reflog -[description] +[descripci�n] -Say you were looking at something in the past, and then switched back to the main branch. +Supongamos que estaba mirando algo en el pasado y luego volvi� a la rama principal. -But then, you got reaaally distracted, and after your lunch break, you can't remember on which commit in the past you were before. How can you find out? +Pero luego, te distrajiste mucho y, despu�s de la pausa para el almuerzo, no puedes recordar en qu� compromiso del pasado estabas antes. �C�mo puedes saberlo? -There's a convenient command that shows you all the places your HEAD did point to in the past: +Hay un comando conveniente que le muestra todos los lugares a los que su HEAD apunt� en el pasado: git reflog -[setup] +[configuraci�n] -for i in {1..10}; do - git commit --allow-empty -m $i - git branch $i -done -git checkout 3 -git checkout main +para i en {1..10}; hacer + git confirmar --allow-empty -m $i + rama git $i +hecho +git pago 3 +git pago principal -[win] +[ganar] -# Find out where you've been before, and go back there! -test "$(git rev-parse HEAD)" = "$(git rev-parse 3)" +# �Descubre d�nde has estado antes y regresa all�! +prueba "$(git rev-parse HEAD)" = "$(git rev-parse 3)" \ No newline at end of file diff --git a/levels/shit-happens/restore-a-file b/levels/shit-happens/restore-a-file index 26450f0..fef1cc5 100644 --- a/levels/shit-happens/restore-a-file +++ b/levels/shit-happens/restore-a-file @@ -1,22 +1,22 @@ -title = Restore a deleted file -cards = checkout +title = Restaurar un archivo eliminado +tarjetas = pagar -[description] +[descripci�n] -Oops - you deleted the "essay" file, which you worked on all night! +�Vaya! Eliminaste el archivo de "ensayo", en el que trabajaste toda la noche. -Luckily, Git is here to help! You can use `git checkout` to restore the file! +�Afortunadamente, Git est� aqu� para ayudar! �Puedes usar `git checkout` para restaurar el archivo! -[setup] +[configuraci�n] -echo important > essay -git add . -git commit -m "Initial commit" -echo "important content" > essay -git commit -am "Improve essay" -rm essay +eco importante > ensayo +git agregar. +git commit -m "Compromiso inicial" +echo "contenido importante" > ensayo +git commit -am "Mejorar ensayo" +ensayo rm -[win] +[ganar] -# Restore the essay to contain "important content" -test "$(cat essay)" = "important content" +# Restaurar el ensayo para que contenga "contenido importante" +test "$(cat essay)" = "contenido importante" \ No newline at end of file diff --git a/levels/shit-happens/restore-a-file-from-the-past b/levels/shit-happens/restore-a-file-from-the-past index b51c108..6daf55b 100644 --- a/levels/shit-happens/restore-a-file-from-the-past +++ b/levels/shit-happens/restore-a-file-from-the-past @@ -1,21 +1,21 @@ -title = Restore a file from the past -cards = checkout checkout-from commit +title = Restaurar un archivo del pasado +tarjetas = pago pago-desde compromiso -[description] +[descripci�n] -Here's a similar problem: you really liked the essay from the very first commit, and want to have it back! Well, checkout can also restore things from older commits, Here's how: +Aqu� hay un problema similar: �realmente te gust� el ensayo desde el primer compromiso y quieres recuperarlo! Bueno, el pago tambi�n puede restaurar cosas de confirmaciones anteriores. Aqu� se explica c�mo: - git checkout [commit] [file] + git checkout [compromiso] [archivo] -[setup] +[configuraci�n] -echo "good version" > essay -git add . -git commit -m "Initial commit" -echo "bad version" > essay -git commit -am "\"Improve\" essay" +echo "buena versi�n" > ensayo +git agregar. +git commit -m "Compromiso inicial" +echo "mala versi�n" > ensayo +git commit -am "\"Mejorar\" ensayo" -[win] +[ganar] -# Get the first version of your essay, and make a new commit with it. -test "$(git show main:essay)" = "good version" +# Obtenga la primera versi�n de su ensayo y haga un nuevo compromiso con �l. +test "$(git show main:essay)" = "buena versi�n" \ No newline at end of file diff --git a/levels/shit-happens/sequence b/levels/shit-happens/sequence index 663d5d9..89bcf4c 100644 --- a/levels/shit-happens/sequence +++ b/levels/shit-happens/sequence @@ -1,5 +1,5 @@ -restore-a-file -restore-a-file-from-the-past -bad-commit -pushed-something-broken -reflog +restaurar un archivo +restaurar-un-archivo-del-pasado +mal compromiso +empuj�-algo-roto +volver a registrar \ No newline at end of file diff --git a/levels/stash/sequence b/levels/stash/sequence index 9dd02f7..bd969a1 100644 --- a/levels/stash/sequence +++ b/levels/stash/sequence @@ -1,5 +1,5 @@ -stash -stash-pop -stash-clear -stash-branch -stash-merge +reserva +alijo-pop +alijo claro +rama de alijo +fusi�n de alijo \ No newline at end of file diff --git a/levels/stash/stash b/levels/stash/stash index 6a4bc61..d16a368 100644 --- a/levels/stash/stash +++ b/levels/stash/stash @@ -1,12 +1,12 @@ -title = Stashing -cards = checkout commit-auto merge reset-hard +t�tulo = Escondite +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -You will encounter situations in which you are working on your project but you need to -put your current changes aside temporarily. To do so, you can use the stash function. Use - git stash push -to add your current changes to the stash stack. +Te encontrar�s con situaciones en las que est�s trabajando en tu proyecto pero necesitas +deje a un lado sus cambios actuales temporalmente. Para hacerlo, puede utilizar la funci�n de almacenamiento. Usar + git alijo empujar +para agregar sus cambios actuales a la pila de almacenamiento. --- tipp1 @@ -15,31 +15,31 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "Apple Pie:" > recipe +echo "Tarta de manzana:" > receta -git add . -git commit -m "creating a recipe" +git agregar. +git commit -m "creando una receta" -echo "- 4 Apples" >> recipe +echo "- 4 manzanas" >> receta -git add . -git commit -m "Adding ingredients" +git agregar. +git commit -m "Agregar ingredientes" -echo "- 500g Flour" >> recipe +echo "- 500g Harina" >> receta -git checkout main +git pago principal -[win] +[ganar] -# Did you stash the current changes? -test "$(git stash list | wc -l)" -ge 1 +# �Escondiste los cambios actuales? +prueba "$(git stash list | wc -l)" -ge 1 -[actions] +[comportamiento] -[congrats] +[felicitaciones] -Nice stash you got there! :) +�Qu� buen alijo tienes ah�! :) \ No newline at end of file diff --git a/levels/stash/stash-branch b/levels/stash/stash-branch index 16c9eae..a82b733 100644 --- a/levels/stash/stash-branch +++ b/levels/stash/stash-branch @@ -1,14 +1,14 @@ -title = Branch from stash -cards = checkout commit-auto merge reset-hard +t�tulo = Rama del alijo +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -If you want to keep your changes but they don't belong to the main branch, you can easily -create a new branch from your stashed changes. Just use - git stash branch <branchname> <stash> -If you just want to use the latest stash entry, you can leave the <stash> option empty. +Si desea conservar los cambios pero no pertenecen a la rama principal, puede hacerlo f�cilmente +cree una nueva rama a partir de sus cambios guardados. Solo usa + git stash rama <nombre de rama> <alijo> +Si solo desea utilizar la �ltima entrada de alijo, puede dejar la opci�n <stash> vac�a. -Create a new branch from the stashed changes! +�Crea una nueva rama a partir de los cambios escondidos! --- tipp1 @@ -17,32 +17,32 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "Apple Pie:" > recipe +echo "Tarta de manzana:" > receta -git add . -git commit -m "creating a recipe" +git agregar. +git commit -m "creando una receta" -echo "- 4 Apples" >> recipe +echo "- 4 manzanas" >> receta -git add . -git commit -m "Adding ingredients" +git agregar. +git commit -m "Agregar ingredientes" -echo "- 500g Flour" >> recipe -git stash push +echo "- 500g Harina" >> receta +git alijo empujar -git checkout main +git pago principal -[win] +[ganar] -# Did you create a new branch from the stashed changes? -test "$(git branch --list| wc -l)" -ge 2 +# �Creaste una nueva rama a partir de los cambios ocultos? +prueba "$(git rama --list| wc -l)" -ge 2 -[actions] +[comportamiento] -[congrats] +[felicitaciones] -Stashed changes are in a new branch! :) +�Los cambios ocultos est�n en una nueva rama! :) \ No newline at end of file diff --git a/levels/stash/stash-clear b/levels/stash/stash-clear index 9a1b697..5ddbd84 100644 --- a/levels/stash/stash-clear +++ b/levels/stash/stash-clear @@ -1,17 +1,17 @@ -title = Clear the Stash -cards = checkout commit-auto merge reset-hard +t�tulo = Limpiar el alijo +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -If you want to inspect your stash stack, use the command - git stash list +Si desea inspeccionar su pila de alijo, use el comando + lista de alijo de git -Oh, you don't want to keep your stashed changes? There are way too many? Then go ahead and clear the stack with - git stash clear -If you only want to discard a certain stash entry, you can use - git stash drop <stash> +Oh, �no quieres conservar tus cambios escondidos? �Hay demasiados? Luego contin�a y limpia la pila con + git alijo claro +Si solo desea descartar una determinada entrada del alijo, puede utilizar + git alijo soltar <alijo> -Clear your stash stack! +�Limpia tu alijo! --- tipp1 @@ -20,38 +20,38 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "Apple Pie:" > recipe +echo "Tarta de manzana:" > receta -git add . -git commit -m "creating a recipe" +git agregar. +git commit -m "creando una receta" -echo "- 4 Apples" >> recipe +echo "- 4 manzanas" >> receta -git add . -git commit -m "Adding ingredients" +git agregar. +git commit -m "Agregar ingredientes" -echo "- 500g Flour" >> recipe -git stash push +echo "- 500g Harina" >> receta +git alijo empujar -echo "- 200g Sugar" >> recipe -git stash push +echo "- 200 g de az�car" >> receta +git alijo empujar -echo "- Pinch of Salt" >> recipe -git stash push +echo "- Una pizca de sal" >> receta +git alijo empujar -git checkout main +git pago principal -[win] +[ganar] -# Did you clear your stash stack? -test "$(git stash list | wc -l)" -eq 0 +# �Limpiaste tu pila de alijo? +prueba "$(lista de alijo de git | wc -l)" -eq 0 -[actions] +[comportamiento] -[congrats] +[felicitaciones] -All clear! :) +�Todo claro! :) \ No newline at end of file diff --git a/levels/stash/stash-merge b/levels/stash/stash-merge index edab359..7780e9c 100644 --- a/levels/stash/stash-merge +++ b/levels/stash/stash-merge @@ -1,13 +1,13 @@ -title = Merging popped stash -cards = checkout commit-auto merge reset-hard +title = Fusionando alijo reventado +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -When you want to reapply your changes but you already continued working on your file, you might get -a merge conflict! Let's practise this situation. -Pop the changes from the stash with - git stash pop -and resolve the merge conflict. Commit the resolved changes and clear the stash stack afterwards. +Cuando desee volver a aplicar sus cambios pero ya continu� trabajando en su archivo, es posible que obtenga +�Un conflicto de fusi�n! Practiquemos esta situaci�n. +Explota los cambios del alijo con + git alijo pop +y resolver el conflicto de fusi�n. Confirme los cambios resueltos y borre la pila de alijo despu�s. --- tipp1 @@ -16,39 +16,39 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "Apple Pie:" > recipe +echo "Tarta de manzana:" > receta -git add . -git commit -m "creating a recipe" +git agregar. +git commit -m "creando una receta" -echo "- 4 Apples" >> recipe +echo "- 4 manzanas" >> receta -git add . -git commit -m "Adding ingredients" +git agregar. +git commit -m "Agregar ingredientes" -echo "- 500g Flour" >> recipe +echo "- 500g Harina" >> receta -git stash push +git alijo empujar -echo "- Pinch of Salt" >> recipe +echo "- Una pizca de sal" >> receta -git checkout main -git add recipe +git pago principal +git agregar receta -[win] +[ganar] -# Did you resolve the conflict and commit? -{ git show HEAD | grep "Flour"; } && { git show HEAD | grep "Salt"; } +# �Resolviste el conflicto y te comprometiste? +{git show CABEZA | grep "Harina"; } && { git show CABEZA | grep "Sal"; } -# Did you clear stash stack? -test "$(git stash list | wc -l)" -eq 0 +# �Limpiaste la pila de alijo? +prueba "$(lista de alijo de git | wc -l)" -eq 0 -[actions] +[comportamiento] -[congrats] +[felicitaciones] -Yay, you got your changes back! :) +�S�, recuperaste tus cambios! :) \ No newline at end of file diff --git a/levels/stash/stash-pop b/levels/stash/stash-pop index 5ac12d5..6d20658 100644 --- a/levels/stash/stash-pop +++ b/levels/stash/stash-pop @@ -1,12 +1,12 @@ -title = Pop from Stash -cards = checkout commit-auto merge reset-hard +t�tulo = Pop de Stash +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -When you stashed your changes and you want to apply them back to your current working directory, you can use - git stash pop -This will remove the changes from the stash stack. If you also want to keep the changes on the stash stack, use - git stash apply +Cuando guard� sus cambios y desea volver a aplicarlos a su directorio de trabajo actual, puede usar + git alijo pop +Esto eliminar� los cambios de la pila de almacenamiento. Si tambi�n desea mantener los cambios en la pila de almacenamiento, utilice + aplicar git stash --- tipp1 @@ -15,32 +15,32 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "Apple Pie:" > recipe +echo "Tarta de manzana:" > receta -git add . -git commit -m "creating a recipe" +git agregar. +git commit -m "creando una receta" -echo "- 4 Apples" >> recipe +echo "- 4 manzanas" >> receta -git add . -git commit -m "Adding ingredients" +git agregar. +git commit -m "Agregar ingredientes" -echo "- 500g Flour" >> recipe +echo "- 500g Harina" >> receta -git stash push -git checkout main +git alijo empujar +git pago principal -[win] +[ganar] -# Did you pop the changes from the stash stack? -test "$(git stash list | wc -l)" -eq 0 +# �Sacaste los cambios de la pila de alijo? +prueba "$(lista de alijo de git | wc -l)" -eq 0 -[actions] +[comportamiento] -[congrats] +[felicitaciones] -Yay, you got your changes back! :) +�S�, recuperaste tus cambios! :) \ No newline at end of file diff --git a/levels/tags/add-tag b/levels/tags/add-tag index 9c5703a..3008f5b 100644 --- a/levels/tags/add-tag +++ b/levels/tags/add-tag @@ -1,17 +1,17 @@ -title = Creating tags -cards = checkout commit-auto merge reset-hard +t�tulo = Creando etiquetas +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -Some of your commits may be special commits. Maybe you reached a milestone or a new version number. +Algunas de sus confirmaciones pueden ser confirmaciones especiales. Quiz�s haya alcanzado un hito o un nuevo n�mero de versi�n. -You can mark these commits with a special flag called 'tag'. +Puede marcar estas confirmaciones con una bandera especial llamada "etiqueta". -Write +Escribir - git tag <tag-name> + etiqueta git <nombre-etiqueta> -to tag your commit. +para etiquetar su compromiso. --- tipp1 @@ -20,34 +20,34 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "event 1" > feature-list +echo "evento 1" > lista de caracter�sticas -git add . -git commit -m "Adding feature 1" +git agregar. +git commit -m "Agregar caracter�stica 1" -echo "event 2" >> feature-list +echo "evento 2" >> lista de caracter�sticas -git add . -git commit -m "Adding feature 2" +git agregar. +git commit -m "Agregar caracter�stica 2" -echo "event 3" >> feature-list +echo "evento 3" >> lista de caracter�sticas -git add . -git commit -m "Adding feature 3" +git agregar. +git commit -m "Agregar caracter�stica 3" -git checkout --detach main +git checkout --separar principal -[win] +[ganar] -# Did you create a new tag? -test "$(git tag -l | wc -l)" -ge 1 +# �Creaste una nueva etiqueta? +prueba "$(etiqueta git -l | wc -l)" -ge 1 -[actions] +[comportamiento] -[congrats] +[felicitaciones] -Nice! You tagged your first commit :) +�Lindo! Etiquetaste tu primer compromiso :) \ No newline at end of file diff --git a/levels/tags/add-tag-later b/levels/tags/add-tag-later index 905647c..89724b7 100644 --- a/levels/tags/add-tag-later +++ b/levels/tags/add-tag-later @@ -1,14 +1,14 @@ -title = Tagging later -cards = checkout commit-auto merge reset-hard +t�tulo = Etiquetar m�s tarde +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -But what happens if you forgot to tag your current commit? -No Prob! You can also tag older commits via +Pero, �qu� sucede si olvidaste etiquetar tu compromiso actual? +�No hay problema! Tambi�n puedes etiquetar confirmaciones m�s antiguas a trav�s de - git tag <tag-name> <commit-hash> + git tag <nombre-etiqueta> <hash-compromiso> -Tag the commit "Adding feature 2" with the name "v1"! +�Etiquete la confirmaci�n "Agregar funci�n 2" con el nombre "v1"! --- tipp1 @@ -17,34 +17,34 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "event 1" > feature-list +echo "evento 1" > lista de caracter�sticas -git add . -git commit -m "Adding feature 1" +git agregar. +git commit -m "Agregar caracter�stica 1" -echo "event 2" >> feature-list +echo "evento 2" >> lista de caracter�sticas -git add . -git commit -m "Adding feature 2" +git agregar. +git commit -m "Agregar caracter�stica 2" -echo "event 3" >> feature-list +echo "evento 3" >> lista de caracter�sticas -git add . -git commit -m "Adding feature 3" +git agregar. +git commit -m "Agregar caracter�stica 3" -git checkout --detach main +git checkout --separar principal -[win] +[ganar] -# Did you create a new tag? +# �Creaste una nueva etiqueta? test "$(git show v1 -s --format=%h)" = "$(git show HEAD~1 -s --format=%h)" -[actions] +[comportamiento] -[congrats] +[felicitaciones] -Well done :) +Bien hecho :) \ No newline at end of file diff --git a/levels/tags/remote-tag b/levels/tags/remote-tag index 0726915..ec8e7ec 100644 --- a/levels/tags/remote-tag +++ b/levels/tags/remote-tag @@ -1,58 +1,58 @@ -title = Remote Tags -cards = pull push commit-auto checkout +t�tulo = Etiquetas remotas +tarjetas = tirar empujar confirmar-pago autom�tico -[description] +[descripci�n] -When you work with remote repositories, tags are not pushed or pulled automatically. +Cuando trabaja con repositorios remotos, las etiquetas no se insertan ni se extraen autom�ticamente. -You can push a tag with - git push <remote> <tag-name> -Or all tags with: - git push <remote> --tags +Puedes empujar una etiqueta con + git push <remoto> <nombre-etiqueta> +O todas las etiquetas con: + git push <remoto> --etiquetas -Deleting tags on your remote works with: - git push <remote> --delete <tag-name> +La eliminaci�n de etiquetas en su control remoto funciona con: + git push <remoto> --delete <nombre-etiqueta> -You can also sync - git fetch <remote> --prune --prune-tags +Tambi�n puedes sincronizar + git fetch <remoto> --prune --prune-tags -Add a tag named "v2" to the last commit and push it to the remote. Also pull the v1 tag to your local repository. -[setup yours] +Agregue una etiqueta llamada "v2" a la �ltima confirmaci�n y env�ela al control remoto. Tambi�n coloque la etiqueta v1 en su repositorio local. +[configura el tuyo] -git checkout main +git pago principal -git checkout main -echo "toothbrush sharing" > project-ideas -git add . -git commit -m "First idea" +git pago principal +echo "compartir cepillo de dientes" > ideas-proyecto +git agregar. +git commit -m "Primera idea" -echo "Is my phone upside down? App" >> project-ideas -git commit -am "Another idea" +echo "�Est� mi tel�fono al rev�s? Aplicaci�n" >> ideas de proyecto +git commit -am "Otra idea" -git push friend main +git push amigo principal -git branch -u friend/main main +git rama -u amigo/principal principal -[setup friend] +[amigo de configuraci�n] -[actions friend] +[acciones amigo] -git tag v1 HEAD~1 +etiqueta git v1 CABEZA ~ 1 -[win] -# v1 tag in your repo +[ganar] +# etiqueta v1 en tu repositorio test "$(git show v1 -s --format=%h)" = "$(git show HEAD~1 -s --format=%h)" -# v2 tag in your repo -test "$(git show v2 -s --format=%h)" = "$(git show HEAD -s --format=%h)" +# etiqueta v2 en tu repositorio +prueba "$(git show v2 -s --format=%h)" = "$(git show HEAD -s --format=%h)" -[win friend] +[gana amigo] -# v2 tag in the remote -test "$(git show v2 -s --format=%h)" = "$(git show HEAD -s --format=%h)" +# etiqueta v2 en el control remoto +prueba "$(git show v2 -s --format=%h)" = "$(git show HEAD -s --format=%h)" \ No newline at end of file diff --git a/levels/tags/remove-tag b/levels/tags/remove-tag index 98f2800..e52f221 100644 --- a/levels/tags/remove-tag +++ b/levels/tags/remove-tag @@ -1,13 +1,13 @@ -title = Removing tags -cards = checkout commit-auto merge reset-hard +t�tulo = Eliminando etiquetas +tarjetas = pago confirmar-fusi�n autom�tica restablecer-hard -[description] +[descripci�n] -You added way too many tags? No prob! Delete them with +�Agregaste demasiadas etiquetas? �No hay problema! eliminarlos con - git tag -d <tag-name> + git tag -d <nombre-etiqueta> -Remove all tags in this repo! +�Elimine todas las etiquetas de este repositorio! --- tipp1 @@ -16,38 +16,38 @@ tipp2 --- tipp3 -[setup] +[configuraci�n] -echo "event 1" > feature-list +echo "evento 1" > lista de caracter�sticas -git add . -git commit -m "Adding feature 1" +git agregar. +git commit -m "Agregar caracter�stica 1" -echo "event 2" >> feature-list +echo "evento 2" >> lista de caracter�sticas -git add . -git commit -m "Adding feature 2" +git agregar. +git commit -m "Agregar caracter�stica 2" -echo "event 3" >> feature-list +echo "evento 3" >> lista de caracter�sticas -git add . -git commit -m "Adding feature 3" +git agregar. +git commit -m "Agregar caracter�stica 3" -git tag v1 HEAD~2 -git tag v2 HEAD~1 -git tag v3 +etiqueta git v1 CABEZA ~ 2 +etiqueta git v2 CABEZA ~ 1 +etiqueta git v3 -git checkout --detach main +git checkout --separar principal -[win] +[ganar] -# Did you remove all tags? -test "$(git tag -l | wc -l)" -eq 0 +# �Eliminaste todas las etiquetas? +prueba "$(etiqueta git -l | wc -l)" -eq 0 -[actions] +[comportamiento] -[congrats] +[felicitaciones] -Well done :) +Bien hecho :) \ No newline at end of file diff --git a/levels/tags/sequence b/levels/tags/sequence index fd63d9c..9bd4030 100644 --- a/levels/tags/sequence +++ b/levels/tags/sequence @@ -1,4 +1,4 @@ -add-tag -remove-tag -add-tag-later -remote-tag +a�adir etiqueta +Remover etiqueta +agregar etiqueta m�s tarde +etiqueta remota \ No newline at end of file diff --git a/levels/unused/checkout b/levels/unused/checkout index 9d9c957..84fc5dd 100644 --- a/levels/unused/checkout +++ b/levels/unused/checkout @@ -1,31 +1,31 @@ -title = Getting the last version -cards = checkout-file +title = Obteniendo la �ltima versi�n +tarjetas = archivo de pago -[description] +[descripci�n] -You've been working on your essay for a while. But - ughh! Now your cat walks over your keyboard and "helps you", so now it's all messed up! :/ +Has estado trabajando en tu ensayo por un tiempo. Pero... �uf! Ahora tu gato camina sobre tu teclado y "te ayuda", �as� que ahora todo est� arruinado! :/ -But Git is here to help! To discard all changes your cat made, and go back to the version in the last commit, use `checkout`! +�Pero Git est� aqu� para ayudar! Para descartar todos los cambios que hizo su gato y volver a la versi�n en la �ltima confirmaci�n, use `checkout`. -[setup] +[configuraci�n] -echo "A" >> essay.txt -git add . -git commit -m "Initial commit" +eco "A" >> ensayo.txt +git agregar. +git commit -m "Compromiso inicial" -echo "B" >> essay.txt -git commit -a -m "Improved version" +eco "B" >> ensayo.txt +git commit -a -m "Versi�n mejorada" -echo "C" >> essay.txt -git commit -a -m "Even better version" +eco "C" >> ensayo.txt +git commit -a -m "Versi�n a�n mejor" -echo "D" >> essay.txt -git commit -a -m "Marvelous version" +eco "D" >> ensayo.txt +git commit -a -m "Versi�n maravillosa" -echo "blarg -blaaaargh" > essay.txt +eco "blarg +blaaaargh" > ensayo.txt -[win] +[ganar] -# Restore the version from the last commit. -cat essay.txt | grep D +# Restaurar la versi�n de la �ltima confirmaci�n. +ensayo de gato.txt | grupo D \ No newline at end of file diff --git a/levels/unused/clone b/levels/unused/clone index 8459c08..8ea39a2 100644 --- a/levels/unused/clone +++ b/levels/unused/clone @@ -1,20 +1,20 @@ -title = Cloning a repo -cards = clone commit-auto pull push +t�tulo = Clonaci�n de un repositorio +cards = clonar compromiso-auto pull push -[description] +[descripci�n] -Get your friend's repo using clone, change something, push it back. +Obtenga el repositorio de su amigo usando clon, cambie algo, ret�relo. -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -[setup friend] +[amigo de configuraci�n] -echo hi > file -git add . -git commit -m "Initial commit" +eco hola > archivo +git agregar. +git commit -m "Compromiso inicial" -[win friend] +[gana amigo] -test "$(git show main:file)" != hi +prueba "$(git show main:file)" != hola \ No newline at end of file diff --git a/levels/unused/commit b/levels/unused/commit index fd84cc9..fee4eab 100644 --- a/levels/unused/commit +++ b/levels/unused/commit @@ -1,27 +1,27 @@ -title = Make a commit \o/ -cards = add reset checkout commit +t�tulo = Hacer una confirmaci�n \o/ +tarjetas = agregar restablecer compromiso de pago -[description] +[descripci�n] -For practice, make a commit where all files contain an "x"! +Para practicar, haga una confirmaci�n donde todos los archivos contengan una "x". -[setup] +[configuraci�n] -echo a > a -echo x > b -echo x > c -git add . -git commit -m "Initial commit" -echo x > a -echo b > b -git add b -echo c > c +eco a > a +eco x > b +eco x > c +git agregar. +git commit -m "Compromiso inicial" +eco x > a +eco b > b +git agregar b +eco c > c -[win] +[ganar] -# File a contains "x" in the last main commit. -test "$(git show main:a)" = x -# File b contains "x" in the last main commit. -test "$(git show main:b)" = x -# File c contains "x" in the last main commit. -test "$(git show main:c)" = x +# El archivo a contiene "x" en la �ltima confirmaci�n principal. +prueba "$(git show main:a)" = x +# El archivo b contiene "x" en la �ltima confirmaci�n principal. +prueba "$(git show main:b)" = x +# El archivo c contiene "x" en la �ltima confirmaci�n principal. +prueba "$(git show main:c)" = x \ No newline at end of file diff --git a/levels/unused/commit-a b/levels/unused/commit-a index 747a009..0d3debd 100644 --- a/levels/unused/commit-a +++ b/levels/unused/commit-a @@ -1,26 +1,26 @@ -title = Make a commit, but faster! -cards = add reset checkout commit commit-a +title = �Haz un compromiso, pero m�s r�pido! +tarjetas = agregar restablecer pago confirmar compromiso-a -[description] +[descripci�n] -There is a time-saving trick, where instead of a plain `git commit`, you can use +Hay un truco para ahorrar tiempo, donde en lugar de un simple `git commit`, puedes usar - git commit -a + git confirmar -a -This will automatically add all changes you made to local files! Very convenient. +�Esto agregar� autom�ticamente todos los cambios que realiz� en los archivos locales! Muy conveniente. -[setup] +[configuraci�n] -echo a > a -echo b > b -echo c > c -git add . -git commit -m "Initial commit" -echo x > a -echo x > b -echo x > c +eco a > a +eco b > b +eco c > c +git agregar. +git commit -m "Compromiso inicial" +eco x > a +eco x > b +eco x > c -[win] +[ganar] -# Make a commit where all files contain "x". -test "$(git show main:a)" = x && test "$(git show main:b)" = x && test "$(git show main:c)" = x +# Realizar una confirmaci�n donde todos los archivos contengan "x". +prueba "$(git show main:a)" = x && prueba "$(git show main:b)" = x && prueba "$(git show main:c)" = x \ No newline at end of file diff --git a/levels/unused/fetch b/levels/unused/fetch index 377355a..ce1e8cb 100644 --- a/levels/unused/fetch +++ b/levels/unused/fetch @@ -1,35 +1,35 @@ -title = Fetching from remotes -cards = checkout fetch commit-auto +title = Obteniendo desde controles remotos +tarjetas = finalizar compra buscar compromiso-auto -[description] +[descripci�n] -Here, you already have two remotes configured! You can list them using `git remote`. +�Aqu� ya tienes dos mandos configurados! Puede enumerarlos usando `git remoto`. -Fetch from both, and look at the suggestions. +Obtenga de ambos y mire las sugerencias. -Then, make a new commit on top of your original one that introduces a compromise. +Luego, haga un nuevo compromiso adem�s del original que introduzca un compromiso. -[setup] +[configuraci�n] -echo "The bikeshed should be ???" > proposal -git add . -git commit -m "What do you think?" +echo "El cobertizo para bicicletas deber�a ser ???" > propuesta +git agregar. +git commit -m "�Qu� piensas?" -[setup friend1] +[configurar amigo1] -git pull yours main -echo "The bikeshed should be green" > proposal -git commit -am "Green" +git tira el tuyo principal +echo "El cobertizo para bicicletas deber�a ser verde" > propuesta +git commit -soy "verde" -[setup friend2] +[configurar amigo2] -git pull yours main -echo "The bikeshed should be blue" > proposal -git commit -am "Blue" +git tira el tuyo principal +echo "El cobertizo para bicicletas deber�a ser azul" > propuesta +git commit -am "Azul" -[win] +[ganar] -# Your proposal is acceptable for friend1. -git show main:proposal | git grep green -# Your proposal is acceptable for friend2. -git show main:proposal | git grep blue +# Tu propuesta es aceptable para amigo1. +git show principal: propuesta | git grep verde +# Tu propuesta es aceptable para amigo2. +git show principal: propuesta | git grep azul \ No newline at end of file diff --git a/levels/unused/files-move b/levels/unused/files-move index 8f65710..1c9fd80 100644 --- a/levels/unused/files-move +++ b/levels/unused/files-move @@ -1,27 +1,27 @@ -title = No sleep required -cards = file-new file-delete file-rename +t�tulo = No es necesario dormir +tarjetas = archivo-nuevo archivo-eliminar archivo-cambiar nombre -[description] +[descripci�n] -Actually, you decide that you don't need any sleep. +En realidad, decides que no necesitas dormir. -Because of that, you won't require a bed, and can build some other piece of furniture from the wood! +�Por eso no necesitar�s una cama y podr�s construir otro mueble con madera! -[setup] +[configuraci�n] -echo A yellow cupboard with lots of drawers. > cupboard -echo A really big yellow shelf. > shelf -echo A comfortable, yellow bed with yellow cushions. > bed +echo Un armario amarillo con muchos cajones. > armario +echo Un estante amarillo muy grande. > estante +echo Una c�moda cama amarilla con cojines amarillos. > cama -[win] +[ganar] -# Rename the bed into something else, and give it a new description! -NUM_FILES="$(ls | wc -l)" -! test -f bed && test "$NUM_FILES" -ge 3 && ! grep -r "yellow bed" . +# �Cambia el nombre de la cama por otro y dale una nueva descripci�n! +NUM_FILES="$(ls | ba�o -l)" +! prueba -f cama && prueba "$NUM_FILES" -ge 3 &&! grep -r "cama amarilla" . -[congrats] +[felicitaciones] -Neat! It even still looks a bit comfortable! +�Limpio! �Incluso todav�a parece un poco c�modo! -You head out, eager for your first lesson at time travel school! +�Sales, ansioso por recibir tu primera lecci�n en la escuela de viajes en el tiempo! \ No newline at end of file diff --git a/levels/unused/index-mv b/levels/unused/index-mv index 9ff7270..4f7a66e 100644 --- a/levels/unused/index-mv +++ b/levels/unused/index-mv @@ -1,26 +1,26 @@ -title = Rename a file in the next commit -cards = add reset-file checkout-file mv commit +title = Cambiar el nombre de un archivo en la pr�xima confirmaci�n +tarjetas = agregar archivo de reinicio archivo de pago mv commit -[description] +[descripci�n] -Other times, you might want to rename a file in the next commit. Use +Otras veces, es posible que desees cambiar el nombre de un archivo en la pr�xima confirmaci�n. Usar - git mv [file] [new name] + git mv [archivo] [nuevo nombre] -for that. The effect is very similar as if you had created a copy with a new name, and removed the old version. +para eso. El efecto es muy similar a si hubiera creado una copia con un nombre nuevo y hubiera eliminado la versi�n anterior. -[setup] +[configuraci�n] -echo a > a -echo SPECIAL > b -echo x > c -git add . -git commit -m "Initial commit" -echo x > a -echo b >> b -git add b +eco a > a +eco ESPECIAL > b +eco x > c +git agregar. +git commit -m "Compromiso inicial" +eco x > a +eco b >> b +git agregar b -[win] +[ganar] -# Make a commit where you rename the file b to "x". -test "$(git ls-tree --name-only main)" = "$(echo -e "a\nc\nx")" +# Realiza una confirmaci�n donde cambias el nombre del archivo b a "x". +test "$(git ls-tree --name-only main)" = "$(echo -e "a\nc\nx")" \ No newline at end of file diff --git a/levels/unused/init b/levels/unused/init index c76daa5..2d2cb40 100644 --- a/levels/unused/init +++ b/levels/unused/init @@ -1,14 +1,14 @@ -title = Welcome! -cards = init +t�tulo = �Bienvenido! +tarjetas = inicio -[description] +[descripci�n] -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -[win] +[ganar] -# Again, initialize your time machine! -test -d .git +# �Nuevamente, inicializa tu m�quina del tiempo! +prueba -d .git \ No newline at end of file diff --git a/levels/unused/pull-push b/levels/unused/pull-push index 71ce61d..e23d24a 100644 --- a/levels/unused/pull-push +++ b/levels/unused/pull-push @@ -1,51 +1,51 @@ -title = Helping each other -cards = checkout commit-auto reset-hard pull push +t�tulo = Ayud�ndose unos a otros +tarjetas = pago confirmar-reinicio autom�tico-empuje duro -[description] +[descripci�n] -The events and timelines you see are always only what your own time machine knows about! +�Los eventos y l�neas de tiempo que ves son siempre solo lo que tu propia m�quina del tiempo conoce! -Of course, time agents don't have to work alone! Here, your sidekick has already prepared a merge for you! You can use the "pull" card to transfer it to your own time machine. +�Por supuesto, los agentes de tiempo no tienen que trabajar solos! �Aqu�, tu compa�ero ya ha preparado una fusi�n para ti! Puedes utilizar la tarjeta "pull" para transferirla a tu propia m�quina del tiempo. -Then, add another event on top (what does Sam have for dinner?), and `push` the result, to transfer it back to your sidekick! +Luego, agrega otro evento encima (�qu� cena Sam?) y "env�a" el resultado para transferirlo de nuevo a tu compa�ero. -You can only ever manipulate things in your own time machine (the one on the bottom). +S�lo puedes manipular cosas en tu propia m�quina del tiempo (la que est� en la parte inferior). -[setup yours] +[configura el tuyo] -echo "Just woke up. Is hungry." > sam -git add . -git commit -m "The beginning" +echo "Acabo de despertar. Tiene hambre". > sam +git agregar. +git commit -m "El comienzo" -git checkout -b pancakes -echo "Had blueberry pancakes with maple syrup for breakfast." > sam -git add . -git commit -m "Pancakes!" +git checkout -b panqueques +echo "Com� panqueques de ar�ndanos con jarabe de arce para desayunar". > sam +git agregar. +git commit -m "�Panqueques!" -git checkout -b muesli main -echo "Had muesli with oats and strawberries for breakfast." > sam -git add . -git commit -m "Muesli!" +git checkout -b muesli principal +echo "Com� muesli con avena y fresas para desayunar." > sam +git agregar. +git commit -m "�Muesli!" -git checkout main +git pago principal -git push -u sidekick main pancakes muesli +git push -u compa�ero panqueques principales muesli -[setup sidekick] +[compa�ero de configuraci�n] -git checkout main -git merge pancakes -git merge muesli +git pago principal +git fusionar panqueques +git fusionar muesli -echo "Had pancakes with strawberries for breakfast." > sam -git add . -git commit -m "Let's make this breakfast compromise" --author="Sidekick <sidekick@example.com>" +echo "Com� panqueques con fresas para desayunar". > sam +git agregar. +git commit -m "Hagamos un compromiso con este desayuno" --author="Sidekick <sidekick@example.com>" -[win sidekick] +[gana compa�ero] -# Below main's parent, there is a rhombus: +# Debajo del padre principal, hay un rombo: git rev-parse main^^ && test "$(git rev-parse main^^1^)" = "$(git rev-parse main^^2^)" -[congrats] +[felicitaciones] -In reality, in many cases, a lot of time agents work together to build a really good future together! :) +En realidad, en muchos casos, �muchas veces los agentes trabajan juntos para construir juntos un futuro realmente bueno! :) \ No newline at end of file diff --git a/levels/unused/remotes-add b/levels/unused/remotes-add index db24b7d..895dc78 100644 --- a/levels/unused/remotes-add +++ b/levels/unused/remotes-add @@ -1,33 +1,33 @@ -title = Adding a remote -cards = checkout +title = Agregar un control remoto +tarjetas = pagar -[description] +[descripci�n] -Let's work together with others! Your friend has their own repo at the URL `../friend` - you can add it using +�Trabajemos juntos con otros! Tu amigo tiene su propio repositorio en la URL `../friend`; puedes agregarlo usando - git remote add [name] [URL] + git remoto agregar [nombre] [URL] -where `[name]` is an arbitrary, short name you pick for the remote. +donde `[nombre]` es un nombre corto y arbitrario que usted elige para el control remoto. -When you've done that, you can get all commits from that remote using +Cuando hayas hecho eso, podr�s obtener todas las confirmaciones desde ese control remoto usando - git pull friend + git pull amigo -There's a letter for you! +�Hay una carta para ti! -[setup] +[configuraci�n] -git remote remove friend +git remoto eliminar amigo -[setup friend] +[amigo de configuraci�n] -echo "I'm really committed to our friendship! <3" > love_letter -git add . -git commit -m "Write a letter" +echo "�Estoy realmente comprometido con nuestra amistad! <3" > love_letter +git agregar. +git commit -m "Escribe una carta" -[win] +[ganar] -# Add a remote that points to ../friend. -git remote -v | grep '../friend' -# Pull from the remote. -git show HEAD:love_letter | grep committed +# Agrega un control remoto que apunte a ../friend. +git remoto -v | grep '../amigo' +# Tire del control remoto. +git show HEAD:love_letter | grep comprometido \ No newline at end of file diff --git a/levels/unused/remotes-delete b/levels/unused/remotes-delete index c026204..cc59da9 100644 --- a/levels/unused/remotes-delete +++ b/levels/unused/remotes-delete @@ -1,23 +1,23 @@ -title = Deleting and renaming a remote -cards = checkout +title = Eliminar y cambiar el nombre de un control remoto +tarjetas = pagar -[description] +[descripci�n] -Here, you already have two remotes configured! You can list them using `git remote`. +�Aqu� ya tienes dos mandos configurados! Puede enumerarlos usando `git remoto`. -[setup] +[configuraci�n] -git remote rename friend frend +git remoto cambiar el nombre amigo frend -[setup friend] +[amigo de configuraci�n] -[setup enemy] +[preparar enemigo] -[win] +[ganar] -# Rename the remote with the typo (using `git remote rename [old name] [new name]`) -git remote | grep friend -# The remote with the typo is gone. -! grep 'frend' <(git remote) -# Delete the remote you don't want to keep (using `git remote remove [remote]`) -! grep 'enemy' <(git remote) +# Cambie el nombre del control remoto con el error tipogr�fico (usando `git remoto renombrar [nombre antiguo] [nombre nuevo]`) +git remoto | gran amigo +# El control remoto con el error tipogr�fico desapareci�. +! grep 'frend' <(git remoto) +# Elimina el control remoto que no deseas conservar (usando `git remoto remove [remoto]`) +! grep 'enemigo' <(git remoto) \ No newline at end of file diff --git a/levels/unused/restore b/levels/unused/restore index 1f9961e..5688f5a 100644 --- a/levels/unused/restore +++ b/levels/unused/restore @@ -1,28 +1,28 @@ -title = Looking into the past -cards = checkout-from +t�tulo = Mirando hacia el pasado +tarjetas = pagar desde -[description] +[descripci�n] -You've been working on your essay for a while. But you're not happy with the changes you've made recently. You want to go back to the version called "Best version"! +Has estado trabajando en tu ensayo por un tiempo. Pero no est� satisfecho con los cambios que ha realizado recientemente. �Quieres volver a la versi�n llamada "Mejor versi�n"! -No problem, you can use the `checkout` card to restore your essay from an older commit! +No hay problema, puedes usar la tarjeta `checkout` para restaurar tu ensayo desde una confirmaci�n anterior. -[setup] +[configuraci�n] -echo "Initial version" > essay.txt -git add . -git commit -m "Initial commit" +echo "Versi�n inicial" > ensayo.txt +git agregar. +git commit -m "Compromiso inicial" -echo "Improved version" > essay.txt -git commit -a -m "Improved version" +echo "Versi�n mejorada" > ensayo.txt +git commit -a -m "Versi�n mejorada" -echo "Best version" > essay.txt -git commit -a -m "Best version" +echo "Mejor versi�n" > ensayo.txt +git commit -a -m "Mejor versi�n" -echo "Less-good version" > essay.txt -git commit -a -m "Less-good version" +echo "Versi�n menos buena" > ensayo.txt +git commit -a -m "Versi�n menos buena" -[win] +[ganar] -# For nostalgic reasons, restore the very first backup you made! -diff essay.txt <(echo "Best version") +# �Por razones nost�lgicas, restaure la primera copia de seguridad que realiz�! +diff ensayo.txt <(echo "Mejor versi�n") \ No newline at end of file diff --git a/levels/unused/split b/levels/unused/split index 274b792..011c405 100644 --- a/levels/unused/split +++ b/levels/unused/split @@ -1,26 +1,26 @@ -title = Split a commit! -cards = checkout commit reset-hard reset add rebase-interactive rebase-continue show +title = �Dividir un compromiso! +tarjetas = pago confirmar reinicio-restablecimiento completo agregar rebase-interactivo rebase-continuar mostrar -[description] +[descripci�n] -Here, both changes happened in one commit! Split them to be in two commits instead. +�Aqu�, ambos cambios ocurrieron en una sola confirmaci�n! En su lugar, div�dalos para que est�n en dos confirmaciones. -[setup] +[configuraci�n] -echo something > file1 -echo something else > file2 -git add . -git commit -m "Initial commit" +hacer eco de algo > archivo1 +hacer eco de algo m�s > archivo2 +git agregar. +git commit -m "Compromiso inicial" -echo this should happen first >> file1 -echo and this should happen after that >> file2 -git commit -am "Both together" +echo esto deber�a suceder primero >> archivo1 +echo y esto deber�a suceder despu�s de eso >> archivo2 +git commit -am "Ambos juntos" -echo this is some other change >> file1 -echo this is some other change >> file2 -git commit -am "Something else" +echo este es alg�n otro cambio >> archivo1 +echo este es alg�n otro cambio >> archivo2 +git commit -am "Algo m�s" -[win] +[ganar] -test "$(git diff-tree --no-commit-id --name-status -r main^)" = "M file2" && -test "$(git diff-tree --no-commit-id --name-status -r main~2)" = "M file1" +prueba "$(git diff-tree --no-commit-id --name-status -r main^)" = "M archivo2" && +prueba "$(git diff-tree --no-commit-id --name-status -r main~2)" = "M archivo1" \ No newline at end of file diff --git a/levels/unused/steps b/levels/unused/steps index cb84861..0c81b7a 100644 --- a/levels/unused/steps +++ b/levels/unused/steps @@ -1,23 +1,23 @@ -title = One step after another -cards = checkout commit reset-hard add +t�tulo = Un paso tras otro +tarjetas = pago confirmar reinicio-adici�n completa -[description] +[descripci�n] -Sometimes, you might want to record the order in which things changed, instead of making a single commit. +A veces, es posible que desees registrar el orden en el que cambiaron las cosas, en lugar de realizar una �nica confirmaci�n. -What happened here? Make two commits from the changes (using the "add" card), in an order that makes sense! +�Que pas� aqu�? Realice dos confirmaciones de los cambios (usando la tarjeta "agregar"), en un orden que tenga sentido. -[setup] +[configuraci�n] -echo something > file1 -echo something else > file2 -git add . -git commit -m "Initial commit" +hacer eco de algo > archivo1 +hacer eco de algo m�s > archivo2 +git agregar. +git commit -m "Compromiso inicial" -echo this should happen first >> file1 -echo and this should happen after that >> file2 +echo esto deber�a suceder primero >> archivo1 +echo y esto deber�a suceder despu�s de eso >> archivo2 -[win] +[ganar] -test "$(git diff-tree --no-commit-id --name-status -r main)" = "M file2" && -test "$(git diff-tree --no-commit-id --name-status -r main^)" = "M file1" +prueba "$(git diff-tree --no-commit-id --name-status -r main)" = "M archivo2" && +prueba "$(git diff-tree --no-commit-id --name-status -r main^)" = "M archivo1" \ No newline at end of file diff --git a/levels/unused/who-are-you b/levels/unused/who-are-you index f06137c..585410c 100644 --- a/levels/unused/who-are-you +++ b/levels/unused/who-are-you @@ -1,23 +1,23 @@ -title = Nice to meet you! -cards = config-name config-email +t�tulo = �Encantado de conocerte! +tarjetas = nombre de configuraci�n correo electr�nico de configuraci�n -[description] +[descripci�n] -Introduce yourself using +Pres�ntate usando - git config --global user.name Firstname - git config --global user.email "your@mail.com" + git config --global usuario.nombre Nombre + git config --global usuario.email "tu@correo.com" -[setup] +[configuraci�n] -[actions] +[comportamiento] -test "$(git config user.name)" != "You" && hint "Hey $(git config user.name), nice to meet you!" +test "$(git config user.name)" != "T�" && sugerencia "Hola $(git config user.name), �encantado de conocerte!" -[win] +[ganar] -# Have a name configured. -test "$(git config user.name)" != "You" +# Tener un nombre configurado. +prueba "$(git config user.name)" != "T�" -# Have an email address configured. -test "$(git config user.email)" != "you@time.agency" +# Tener una direcci�n de correo electr�nico configurada. +prueba "$(git config usuario.correo electr�nico)" != "t�@time.agency" \ No newline at end of file diff --git a/levels/workflows/gitignore b/levels/workflows/gitignore index dc55243..ec111ab 100644 --- a/levels/workflows/gitignore +++ b/levels/workflows/gitignore @@ -1,18 +1,18 @@ -title = Ignoring files +t�tulo = Ignorar archivos -[description] +[descripci�n] -That chicken is running around a lot, and changing often. We don't want to have it in our commits. +Ese pollo corre mucho y cambia con frecuencia. No queremos tenerlo en nuestras confirmaciones. -Add it to the file .gitignore, and try using `git add .`! +�Agr�guelo al archivo .gitignore e intente usar `git add.`! -[setup] +[configuraci�n] -touch .gitignore -echo important > important -git add important -git commit -m "Initial commit" +toque .gitignore +eco importante > importante +git agregar importante +git commit -m "Compromiso inicial" -[actions] +[comportamiento] -echo "$RANDOM" > chicken +echo "$RANDOM" > pollo \ No newline at end of file diff --git a/levels/workflows/pr b/levels/workflows/pr index 2496c1f..6776745 100644 --- a/levels/workflows/pr +++ b/levels/workflows/pr @@ -1,26 +1,26 @@ -title = Cloning a repo -cards = clone commit-auto reset-hard checkout file-new branch +t�tulo = Clonaci�n de un repositorio +tarjetas = clonar confirmaci�n-restablecimiento autom�tico-archivo de pago completo-nueva rama -[description] +[descripci�n] -Your friend has a problem! Clone the repo located in `../friend`, create a branch called "solution", and fix the problem in this branch. When you're ready, make a "Pull Request" by using `git tag pr`. +�Tu amigo tiene un problema! Clona el repositorio ubicado en `../friend`, crea una rama llamada "soluci�n" y soluciona el problema en esta rama. Cuando est� listo, haga una "Solicitud de extracci�n" usando `git tag pr`. -[setup] +[configuraci�n] -rm -rf .git +rm-rf.git -[setup friend] +[amigo de configuraci�n] -echo "2 + 3 = " > file -git add . -git commit -m "Initial commit" +eco "2 + 3 = " > archivo +git agregar. +git commit -m "Compromiso inicial" -[actions friend] +[acciones amigo] -git ls-remote yours | grep pr && git fetch yours && git merge yours/solution -git show main:file | grep 5 && hint "Thanks!" +git ls-remoto tuyo | grep pr && git busca el tuyo && git fusiona el tuyo/soluci�n +git show principal:archivo | grep 5 && sugerencia "�Gracias!" -[win friend] +[gana amigo] -git show main:file | grep 5 +git show principal:archivo | grupo 5 \ No newline at end of file diff --git a/levels/workflows/sequence b/levels/workflows/sequence index 1be11a8..eb9cea6 100644 --- a/levels/workflows/sequence +++ b/levels/workflows/sequence @@ -1 +1 @@ -pr +pr \ No newline at end of file diff --git a/resources/cards.json b/resources/cards.json index 631a7e5..e58c69d 100644 --- a/resources/cards.json +++ b/resources/cards.json @@ -2,181 +2,181 @@ { "id": "init", "command": "git init", - "description": "Drag this card into the empty space above to initialize the time machine!" + "description": "Arrastra esta tarjeta al espacio vacío arriba para inicializar la máquina del tiempo!" }, { "id": "clone", "command": "git clone ../[remote] .", - "description": "Create your own copy of someone else's repo." + "description": "Crea tu propia copia del repositorio de otra persona." }, { "id": "config-name", "command": "git config --global user.name [string]", - "description": "Set your name.\n\n(Will not change anything outside of this game.)" + "description": "Establece tu nombre.\n\n(No cambiará nada fuera de este juego.)" }, { "id": "config-email", "command": "git config --global user.email [string]", - "description": "Set your email address." + "description": "Establece tu dirección de correo electrónico." }, { "id": "checkout", "command": "git checkout [commit, ref]", - "description": "Drag this card to a commit or to a branch to travel to it!" + "description": "Arrastra esta tarjeta a un commit o a una rama para viajar a ella!" }, { "id": "checkout-file", "command": "git checkout [file]", - "description": "Reset changes in a local file." + "description": "Restablece los cambios en un archivo local." }, { "id": "checkout-from", "command": "git checkout [commit, ref] [file]", - "description": "Get the file contents from the specified commits, and reset both the working directory, as well as the index, to it." + "description": "Obtiene el contenido del archivo de los commits especificados y restablece tanto el directorio de trabajo como el índice a ese estado." }, { "id": "commit-a", "command": "git commit -a", - "description": "Make a new commit, after automatically adding all changes to the index.\nYou'll be asked to enter a short description of what you changed." + "description": "Crea un nuevo commit, después de añadir automáticamente todos los cambios al índice.\nSe te pedirá que introduzcas una breve descripción de lo que has cambiado." }, { "id": "commit-auto", "command": "git add .; git commit", - "description": "Make a new commit containing your current environment! Type in a description of what changed!" + "description": "Crea un nuevo commit que contiene tu entorno actual! Escribe una descripción de lo que ha cambiado!" }, { "id": "merge", "command": "git merge [commit, ref]", - "description": "Merge the specified timeline into yours. If necessary, will create a merge commit." + "description": "Fusiona la línea de tiempo especificada con la tuya. Si es necesario, creará un commit de fusión." }, { "id": "merge-abort", "command": "git merge --abort", - "description": "Abort the current merge attempt, and reconstruct the previous state." + "description": "Aborta el intento de fusión actual y reconstruye el estado anterior." }, { "id": "rebase", "command": "git rebase [commit]", - "description": "Put the events in your current timeline on top of the specified one." + "description": "Coloca los eventos de tu línea de tiempo actual encima de la especificada." }, { "id": "pull", "command": "git pull", - "description": "Get someone else's version of the current timeline, and try to merge it into yours." + "description": "Obtiene la versión de otra persona de la línea de tiempo actual e intenta fusionarla con la tuya." }, { "id": "fetch", "command": "git fetch [remote]", - "description": "Get a someone else's version of the current timeline." + "description": "Obtiene la versión de otra persona de la línea de tiempo actual." }, { "id": "push", "command": "git push", - "description": "Give the current timeline to someone else." + "description": "Entrega la línea de tiempo actual a otra persona." }, { "id": "rebase-interactive", "command": "git rebase -i [commit]", - "description": "Make changes to the events in your current timeline, back to the commit you drag this to." + "description": "Realiza cambios en los eventos de tu línea de tiempo actual, retrocediendo hasta el commit al que arrastres esto." }, { "id": "rebase-continue", "command": "git rebase --continue", - "description": "Continue the current rebasing process." + "description": "Continúa con el proceso de rebase actual." }, { "id": "reset-hard", "command": "git reset --hard [commit]", - "description": "Move the branch you're on to the specified commit." + "description": "Mueve la rama en la que estás al commit especificado." }, { "id": "reset", "command": "git reset [commit]", - "description": "Jump to the commit, and update the index. Keep the current environment." + "description": "Salta al commit y actualiza el índice. Mantiene el entorno actual." }, { "id": "reset-file", "command": "git reset [file]", - "description": "Reset the index version of a file to the version in the commit you're on." + "description": "Restablece la versión del índice de un archivo a la versión en el commit en el que estás." }, { "id": "cherry-pick", "command": "git cherry-pick [commit]", - "description": "Repeat the specified action on top of your current timeline." + "description": "Repite la acción especificada encima de tu línea de tiempo actual." }, { "id": "revert", "command": "git revert [commit]", - "description": "Make a new commit that reverts the changes of the specified commit." + "description": "Crea un nuevo commit que revierte los cambios del commit especificado." }, { "id": "bisect-start", "command": "git bisect start", - "description": "Start looking for the commit where things got bad." + "description": "Comienza a buscar el commit donde las cosas se estropearon." }, { "id": "bisect-good", "command": "git bisect good", - "description": "State that the current commit is good! When you're automatically transferred, keep playing the `good` and `bad` cards!" + "description": "Indica que el commit actual es bueno! Cuando seas transferido automáticamente, sigue jugando las cartas 'good' y 'bad'!" }, { "id": "bisect-bad", "command": "git bisect bad", - "description": "State that the current commit is bad! When you're automatically transferred, keep playing the `good` and `bad` cards!" + "description": "Indica que el commit actual es malo! Cuando seas transferido automáticamente, sigue jugando las cartas 'good' y 'bad'!" }, { "id": "add", "command": "git add [file]", - "description": "Update the index version of the file to its current real content." + "description": "Actualiza la versión del índice del archivo a su contenido real actual." }, { "id": "rm", "command": "git rm [file]", - "description": "Delete a file both in the working directory, as well as the index." + "description": "Elimina un archivo tanto en el directorio de trabajo como en el índice." }, { "id": "commit", "command": "git commit", - "description": "Make a commit from the current index." + "description": "Crea un commit a partir del índice actual." }, { "id": "show", "command": "git show [commit]", - "description": "Show what changed in the commit." + "description": "Muestra qué cambió en el commit." }, { "id": "branch", "command": "git branch [string]", - "description": "Create a new branch at your current location." + "description": "Crea una nueva rama en tu ubicación actual." }, { "id": "branch-delete", "command": "git branch -D [ref]", - "description": "Delete a branch." + "description": "Elimina una rama." }, { "id": "reflog", "command": "git reflog [ref, head]", - "description": "Display a log of where the ref pointed to in the past." + "description": "Muestra un registro de dónde apuntaba la referencia en el pasado." }, { "id": "file-new", "command": "touch [string]", - "description": "Create a new file." + "description": "Crea un nuevo archivo." }, { "id": "file-delete", "command": "rm [file]", - "description": "Delete a file." + "description": "Elimina un archivo." }, { "id": "file-rename", "command": "mv [file] [string]", - "description": "Rename a file." + "description": "Renombra un archivo." }, { "id": "file-copy", "command": "cp [file] [string]", - "description": "Make a copy of a file." + "description": "Hace una copia de un archivo." } -] +] \ No newline at end of file