mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-08-02 09:05:06 +02:00
Merge pull request #788 from YourSenseiCreeper/master
Mixed chapter Polish translation
This commit is contained in:
commit
e7e555b6f3
6 changed files with 258 additions and 17 deletions
|
@ -17,7 +17,8 @@ exports.level = {
|
|||
"ko" : "Git describe(묘사)",
|
||||
"uk" : "Git Describe",
|
||||
"vi": "Git Describe(mô tả)",
|
||||
"sl_SI": "Git Describe"
|
||||
"sl_SI": "Git Describe",
|
||||
"pl": "Git Describe"
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "Just commit once on bugFix when you're ready to move on",
|
||||
|
@ -34,7 +35,8 @@ exports.level = {
|
|||
"ko" : "다음으로 넘어가고 싶으면 bugFix를 한번 커밋하면 됩니다.",
|
||||
"uk" : "Просто зроби один коміт в bugFix коли ти будеш готовий іти далі",
|
||||
"vi": "Đơn giản là hãy commit một lẩn ở bugFix là xong rồi",
|
||||
"sl_SI": "Commitaj enkrat na bugFix, ko boš pripravljen za nadaljevanje."
|
||||
"sl_SI": "Commitaj enkrat na bugFix, ko boš pripravljen za nadaljevanje.",
|
||||
"pl": "Zcommituj raz na bugFix kiedy jesteś gotowy, aby przejść dalej",
|
||||
},
|
||||
"startDialog": {
|
||||
"en_US": {
|
||||
|
@ -985,6 +987,69 @@ exports.level = {
|
|||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pl": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"### Git Describe",
|
||||
"",
|
||||
"Ponieważ znaczniki służą jako tak wspaniałe \"kotwice\" w bazie kodu, git ma polecenie *opisujące*, gdzie jesteś w stosunku do najbliższej \"kotwicy\". Ta komenda nazywa się `git describe`!",
|
||||
"",
|
||||
"`Git describe` może pomóc Ci zorientować się w sytuacji, gdy przesunąłeś wiele commitów wstecz lub do przodu w historii; może się to zdarzyć po wykonaniu bisekcji git (na potrzeby debugowania) lub gdy siedzisz przy komputerze współpracownika, który właśnie wrócił z wakacji."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Git describe przyjmuje postać:",
|
||||
"",
|
||||
"`git describe <ref>`",
|
||||
"",
|
||||
"Gdzie `<ref>` jest czymkolwiek, co git może przekształcić w commit. Jeśli nie podasz `<ref>`, git użyje miejsca, w którym jesteś teraz zcheckoutowany (`HEAD`).",
|
||||
"",
|
||||
"Wynik polecenia wygląda następująco:",
|
||||
"",
|
||||
"`<tag>_<numCommits>_g<hash>`",
|
||||
"",
|
||||
"Gdzie `tag` jest najbliższym tagiem przodka w historii, `numCommits` jest liczbą commitów od tego tagu, a `<hash>` jest hashem opisywanego commitu."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Przyjrzyjmy się szybkiemu przykładowi. Dla tego drzewa poniżej:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Polecenie `git describe main` dałoby wynik:",
|
||||
"",
|
||||
"`v1_2_gC2`",
|
||||
"",
|
||||
"Gdzie `git describe side` dałoby wynik:",
|
||||
"",
|
||||
"`v2_1_gC4`"
|
||||
],
|
||||
"command": "git tag v2 C3",
|
||||
"beforeCommand": "git commit; go -b side HEAD~1; gc; gc; git tag v1 C0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"To w zasadzie wszystko, co jest musisz wiedzieć o `git describe`! Spróbuj opisać kilka miejsc na tym poziomie, aby wyczuć to polecenie.",
|
||||
"",
|
||||
"Kiedy będziesz gotowy, po prostu zrób jeden commit, aby ukończyć poziom. Dajemy Ci bonusa :P"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -28,7 +28,8 @@ exports.level = {
|
|||
"ru_RU": "Выберем один коммит.",
|
||||
"uk": "Вибираємо всього один коміт",
|
||||
"vi": "Chỉ lấy 1 commit",
|
||||
"sl_SI": "Izbiranje Samo Enega Commita"
|
||||
"sl_SI": "Izbiranje Samo Enega Commita",
|
||||
"pl": "Wzięcie tylko 1 commita",
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "Remember, interactive rebase or cherry-pick is your friend here",
|
||||
|
@ -45,7 +46,8 @@ exports.level = {
|
|||
"ru_RU": "Не забывай, что интерактивный rebase и cherry-pick – это твои друзья!",
|
||||
"uk": "Не забувай, що інтерактивний rebase та cherry-pick -- це твої друзі!",
|
||||
"vi": "Hãy nhớ 2 anh bạn tương tác rebase và cherry-pick!",
|
||||
"sl_SI": "Pomni, interaktivni rebase ali cherry-pick sta tu tvoja prijatelja."
|
||||
"sl_SI": "Pomni, interaktivni rebase ali cherry-pick sta tu tvoja prijatelja.",
|
||||
"pl": "Pamiętaj, interaktywny rebase oraz cherry-picking są tu twoimi przyjaciółmi",
|
||||
},
|
||||
"startDialog": {
|
||||
"en_US": {
|
||||
|
@ -632,6 +634,45 @@ exports.level = {
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"pl": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Lokalnie nałożone commity",
|
||||
"",
|
||||
"Oto sytuacja, która często się zdarza podczas pisania kodu: próbuję wytropić błąd, ale jest on dość nieuchwytny. Aby pomóc sobie w mojej pracy detektywistycznej, umieszczam kilka poleceń debugowania i kilka instrukcji print.",
|
||||
"",
|
||||
"Wszystkie te polecenia debugowania / drukowania znajdują się w osobnych commitach. W końcu namierzam błąd, naprawiam go i cieszę się!",
|
||||
"",
|
||||
"Jedynym problemem jest to, że teraz muszę przywrócić mój `bugFix` do gałęzi `main`. Jeśli po prostu zrobiłbym fast-foward `main`, wtedy `main` dostałby wszystkie moje deklaracje debugowania, czego bym nie chciał. Musi być na to inny sposób. . ."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Musimy powiedzieć gitowi, żeby skopiował tylko jeden z commitów. Dokładnie w ten sam sposób jak we wcześniejszych poziomach z przenoszeniem pracy -- używając tych samych komend:",
|
||||
"",
|
||||
"* `git rebase -i`",
|
||||
"* `git cherry-pick`",
|
||||
"",
|
||||
"Aby osiągnać ten cel."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Jest to wyższy poziom, więc pozostawimy Ci decyzję, której komendy chcesz użyć, ale aby ukończyć poziom, upewnij się, że `main` otrzyma commit, do którego odwołuje się `bugFix`."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
||||
};
|
||||
|
|
|
@ -32,7 +32,8 @@ exports.level = {
|
|||
"ru_RU": "Жонглируем коммитами",
|
||||
"uk": "Жонглюємо комітами",
|
||||
"vi": "Tung hứng commit",
|
||||
"sl_SI": "Žongliranje s Commiti"
|
||||
"sl_SI": "Žongliranje s Commiti",
|
||||
"pl": "Żonglowanie commitami",
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "The first command is git rebase -i HEAD~2",
|
||||
|
@ -49,7 +50,8 @@ exports.level = {
|
|||
"ru_RU": "Первой командой должна быть git rebase -i HEAD~2",
|
||||
"uk": "Перша команда має бути git rebase -i HEAD~2",
|
||||
"vi": "Lệnh đầu tiên là git rebase -i HEAD~2",
|
||||
"sl_SI": "Prvi ukaz je git rebase -i HEAD~2."
|
||||
"sl_SI": "Prvi ukaz je git rebase -i HEAD~2.",
|
||||
"pl": "Pierwszą komendą jest git rebase -i HEAD~2",
|
||||
},
|
||||
"startDialog": {
|
||||
"en_US": {
|
||||
|
@ -565,6 +567,40 @@ exports.level = {
|
|||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pl": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Żonglowanie commitami",
|
||||
"",
|
||||
"Oto inna sytuacja, która zdarza się dość często. Masz pewne zmiany (`newImage`) i inny zestaw zmian (`caption`), które są powiązane, więc są one ułożone jeden na drugim w twoim repozytorium (tzw. jeden po drugim).",
|
||||
"",
|
||||
"Podstępną rzeczą jest to, że czasami trzeba dokonać małej modyfikacji wcześniejszego commitu. W tym przypadku projektant chce, abyśmy zmienili nieco wymiary `newImage`, nawet jeśli ten commit jest daleko w tyle w naszej historii!!!"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Przezwyciężymy tę trudność, wykonując następujące czynności:",
|
||||
"",
|
||||
"* Zmienimy kolejność commitów tak, aby ten, który chcemy zmienić, był na górze, używając `git rebase -i`.",
|
||||
"* Wykonamy `git commit --amend`, aby dokonać niewielkiej modyfikacji",
|
||||
"* Następnie zmienimy kolejność commitów z powrotem na taką, jaka była poprzednio za pomocą `git rebase -i`.",
|
||||
"* Na koniec przeniesiemy się do tej zaktualizowanej części drzewa, aby zakończyć poziom (w wybrany przez Ciebie sposób)",
|
||||
"",
|
||||
"Istnieje wiele sposobów na osiągnięcie tego ogólnego celu (widzę, że masz oko na cherry-pick'ing), i zobaczymy więcej z nich później, ale na razie skupmy się na tej technice.",
|
||||
"Na koniec, zwróć uwagę na stan celu - ponieważ przenosimy commit'y dwukrotnie, oba otrzymują apostrof. Dodajemy jeszcze jeden apostrof dla commitu, który zmieniamy, co daje nam ostateczną postać drzewa",
|
||||
"",
|
||||
"To powiedziawszy, mogę teraz porównać poziomy w oparciu o strukturę i względne różnice apostrofów. Tak długo, jak gałąź `main` Twojego drzewa ma taką samą strukturę, rozwiązanie zostanie uznane."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -31,7 +31,8 @@ exports.level = {
|
|||
"ru_RU": "Жонглируем коммитами №2",
|
||||
"uk": "Жонглюємо комітами #2",
|
||||
"vi": "Tung hứng commit #2",
|
||||
"sl_SI": "Žongliranje s Commiti #2"
|
||||
"sl_SI": "Žongliranje s Commiti #2",
|
||||
"pl": "Żonglowanie commitami #2",
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "Don't forget to forward main to the updated changes!",
|
||||
|
@ -48,7 +49,8 @@ exports.level = {
|
|||
"ru_RU": "Не забудь переместить main на последние изменения.",
|
||||
"uk": "Не забудь перемістити main на останні зміни!",
|
||||
"vi": "Đừng quên đẩy nhánh main lên cập nhật mới nhất!",
|
||||
"sl_SI": "Ne pozabi prestaviti main naprej na posodobljene spremembe."
|
||||
"sl_SI": "Ne pozabi prestaviti main naprej na posodobljene spremembe.",
|
||||
"pl": "Nie zapomnij zforwardować maina do najnowszych zmian!",
|
||||
},
|
||||
"startDialog": {
|
||||
"en_US": {
|
||||
|
@ -689,6 +691,49 @@ exports.level = {
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"pl": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Żonglowanie commitami #2",
|
||||
"",
|
||||
"*Jeśli nie ukończyłeś Żonglowania commitami #1 (poprzedni poziom), zrób to przed przejściem dalej*",
|
||||
"",
|
||||
"Jak widziałeś na ostatnim poziomie, użyliśmy `rebase -i` aby zmienić kolejność commitów. Kiedy commit, który chcieliśmy zmienić, był już na górze, mogliśmy go łatwo zmienić (`--amend`), a następnie przywrócić do odpowiedniej kolejności.",
|
||||
"",
|
||||
"Jedynym problemem jest to, że dokonuje się wiele zmian w kolejności, co może powodować konflikty podczas rebase'u. Przyjrzyjmy się innej metodzie korzystającej z `git cherry-pick`."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Pamiętaj, że git cherry-pick umieści commit z dowolnego miejsca w drzewie na HEAD (tak długo, jak ten commit nie jest przodkiem HEAD).",
|
||||
"",
|
||||
"Oto małe demo na odświeżenie pamięci:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Ładnie! Ruszajmy dalej."
|
||||
],
|
||||
"command": "git cherry-pick C2",
|
||||
"beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Więc na tym poziomie, osiągnijmy ten sam cel zmiany `C2` raz, ale unikając użycia `rebase -i`. Zostawię Ci to do rozgryzienia! :D",
|
||||
"",
|
||||
"Pamiętaj, że dokładna liczba apostrofów (') na zobowiązaniu nie jest ważna, tylko względne różnice. Na przykład, uznam drzewo, które pasuje do drzewa celu, ale ma wszędzie jeden dodatkowy apostrof."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
||||
};
|
||||
|
|
|
@ -17,7 +17,8 @@ exports.level = {
|
|||
"ko" : "Git 태그",
|
||||
"uk" : "Git Tags",
|
||||
"vi" : "Tag trong Git",
|
||||
"sl_SI": "Git Tagi"
|
||||
"sl_SI": "Git Tagi",
|
||||
"pl": "Git Tagi",
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "you can either check out the commit directly or simply checkout the tag!",
|
||||
|
@ -34,7 +35,8 @@ exports.level = {
|
|||
"ko" : "커밋을 직접 또는 태그를 이용해서 체크아웃할수 있습니다!",
|
||||
"uk" : "ти можеш або зробити checkout коміта напряму чи просто зачекаутити таг!",
|
||||
"vi" : "Bạn có thể chuyển trực tiếp sang commit hoặc đơn giản là chuyển sang tag!",
|
||||
"sl_SI": "Checkoutaš lahko neposredno commit ali pa preprosto njegov tag!"
|
||||
"sl_SI": "Checkoutaš lahko neposredno commit ali pa preprosto njegov tag!",
|
||||
"pl": "Możesz checkoutować commit bezpośrednio lub po prostu tag!",
|
||||
},
|
||||
"startDialog": {
|
||||
"en_US": {
|
||||
|
@ -816,6 +818,58 @@ exports.level = {
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"pl": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Git Tagi",
|
||||
"",
|
||||
"Jak dowiedziałeś się z poprzednich lekcji, gałęzie są łatwe w przemieszczaniu i często odnoszą się do różnych commitów, w miarę jak praca nad nimi jest kończona. Gałęzie łatwo ulegają mutacjom, często są tymczasowe i zawsze się zmieniają.",
|
||||
"",
|
||||
"Jeśli tak jest, możesz się zastanawiać, czy istnieje sposób na *permanentne* zaznaczanie punktów historycznych w historii projektu. Czy istnieje jakiś sposób na oznaczenie tych commitów czymś bardziej trwałym niż gałąź, w przypadku takich rzeczy jak duże wydania i duże scalenia/merdże?",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Pewnie, że tak! Znaczniki/tagi Git obsługują dokładnie ten przypadek użycia -- (w pewnym sensie) trwale oznaczają pewne commity jako \"kamienie milowe\", do których można się następnie odnieść (po nazwie) jak do gałęzi.",
|
||||
"",
|
||||
"Co ważniejsze jednak, nigdy się nie przesuwają, gdy tworzone są kolejne commity. Nie można \"checkoutować\" tagu, a następnie zakończyć pracę nad nim (jakby był gałęzią, na której można zapisać nowe zmiany) - tagi istnieją jako kotwice w drzewie commitów, które wyznaczają pewne miejsca.",
|
||||
"",
|
||||
"Zobaczmy jak tagi wyglądają w praktyce."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Spróbujmy zrobić tag w `C1`, który jest naszym prototypem w wersji 1."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Otóż to! Całkiem proste. Nazwaliśmy tag `v1` i odwołaliśmy się do commitu `C1` w sposób jawny. Jeśli nie wskażesz konkretnego commitu, git użyje commitu na który wskazuje `HEAD`."
|
||||
],
|
||||
"command": "git tag v1 C1",
|
||||
"beforeCommand": "git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Dla tego poziomu utwórz tagi takie jak w wizualizacji celu, a następnie zchckoutuj `v1`. Zauważ, że przechodzisz do odłączonego stanu `HEAD` - to dlatego, że nie możesz commitować bezpośrednio na tagu `v1`.",
|
||||
"",
|
||||
"Na kolejnym poziomie przeanalizujemy bardziej interesujący przypadek użycia tagów."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
||||
};
|
||||
|
|
|
@ -40,7 +40,7 @@ exports.level = {
|
|||
"uk" : "Знайомство з інтерактивним rebase",
|
||||
"vi" : "Giới thiệu về tương tác rebase",
|
||||
"sl_SI": "Interaktivni uvod v Rebase",
|
||||
"pl": "Interaktywne wprowadzenie do Rebase'a",
|
||||
"pl": "Wprowadzenie do interaktywnego Rebase'a",
|
||||
},
|
||||
"startDialog": {
|
||||
"en_US": {
|
||||
|
@ -1053,12 +1053,12 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Kiedy otworzy się interaktywne okno dialogowe rebase, masz możliwość zrobienia dwóch rzeczy w naszej aplikacji edukacyjnej:",
|
||||
"Kiedy otworzy się okno dialogowe do interaktywnego rebase'a, masz możliwość zrobienia dwóch rzeczy w naszej aplikacji edukacyjnej:",
|
||||
"",
|
||||
"* Możesz zmienić kolejność commitów poprzez zmianę ich kolejności w oknie (przeciągając je i upuszczając).",
|
||||
"* Możesz zdecydować się na całkowite pominięcie niektórych commitów. Jest to oznaczone przez `pick` -- wpisanie `pick` off oznacza, że nie chcesz uwzględnić tego commitu.",
|
||||
"* Możesz zdecydować się na całkowite pominięcie niektórych commitów. Jest to oznaczone przez `pick`. Wpisanie `pick off` oznacza, że nie chcesz uwzględnić tego commitu.",
|
||||
"",
|
||||
"* Warto wspomnieć, że w prawdziwym interaktywnym rebasie możesz zrobić wiele innych rzeczy, takich jak squash (łączenie) commitów, poprawianie wiadomości commitów, a nawet edycja samych commitów. Dla naszych potrzeb jednak skupimy się na tych dwóch operacjach powyżej. *",
|
||||
"* Warto wspomnieć, że w prawdziwym interaktywnym rebasie możesz zrobić wiele innych rzeczy, takich jak squash (łączenie) commitów, poprawianie wiadomości commitów, a nawet edycja samych commitów. Dla naszych potrzeb jednak skupimy się na tych dwóch operacjach powyżej.",
|
||||
"",
|
||||
"Świetnie! Spójrz na przykład."
|
||||
]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue