mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-07-28 06:35:01 +02:00
translate mixed
This commit is contained in:
parent
26cee73705
commit
5bfa0a8bf8
5 changed files with 241 additions and 0 deletions
|
@ -22,6 +22,7 @@ exports.level = {
|
|||
"gl": "Git Describe",
|
||||
"zh_TW": "git describe",
|
||||
"zh_CN": "Git Describe",
|
||||
"ro":"Git Describe",
|
||||
"ru_RU": "Git describe",
|
||||
"ko": "Git describe(묘사)",
|
||||
"uk": "Git Describe",
|
||||
|
@ -45,6 +46,7 @@ exports.level = {
|
|||
"gl": "Simplemente fai commit en bugFix cando estés listo para continuar.",
|
||||
"zh_TW": "當你要移動的時候,只要在 bugFix 上面 commit 就好了",
|
||||
"zh_CN": "当你准备好时,在 bugFix 分支上面提交一次就可以了",
|
||||
"ro": "Când ești gata să continui, fă un commit în bugFix",
|
||||
"ru_RU": "Когда закончишь, просто сделай commit",
|
||||
"ko": "다음으로 넘어가고 싶으면 bugFix를 한번 커밋하면 됩니다.",
|
||||
"uk": "Просто зроби один коміт в bugFix коли ти будеш готовий іти далі",
|
||||
|
@ -753,6 +755,69 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"ro": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"### Git Describe",
|
||||
"",
|
||||
"Pentru că tag-urile servesc ca niște \"ancore\" excelente în cod, git are o comandă pentru a *descrie* unde te afli în raport cu cea mai apropiată \"ancoră\" (adică tag). Și acea comandă se numește `git describe`!",
|
||||
"",
|
||||
"Git describe te poate ajuta să-ți recapeți orientarea după ce ai făcut multe commit-uri înainte sau înapoi în istorie; acest lucru se poate întâmpla după ce ai terminat un git bisect (o căutare de depanare) sau când te așezi la calculatorul unui coleg care tocmai s-a întors din vacanță."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Git describe are următoarea formă:",
|
||||
"",
|
||||
"`git describe <ref>`",
|
||||
"",
|
||||
"Unde `<ref>` este orice lucru pe care git îl poate rezolva într-un commit. Dacă nu specifici un ref, git folosește pur și simplu unde ești acum (`HEAD`).",
|
||||
"",
|
||||
"Rezultatul comenzii arată cam așa:",
|
||||
"",
|
||||
"`<tag>_<numCommits>_g<hash>`",
|
||||
"",
|
||||
"Unde `tag` este cel mai apropiat tag din istorie, `numCommits` este numărul de commit-uri până la acel tag, iar `<hash>` este hash-ul commit-ului pe care îl descrii.",
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Să vedem un exemplu rapid. Pentru acest arbore de mai jos:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Comanda `git describe main` ar afișa:",
|
||||
"",
|
||||
"`v1_2_gC2`",
|
||||
"",
|
||||
"În timp ce `git describe side` ar afișa:",
|
||||
"",
|
||||
"`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": [
|
||||
"Cam asta este tot ce trebuie să știi despre git describe! Încearcă să descrii câteva locații din acest nivel pentru a te obișnui cu comanda.",
|
||||
"",
|
||||
"Când ești gata, fă un singur commit pentru a termina nivelul. Este un cadou gratis de la noi :P"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ru_RU": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -26,6 +26,7 @@ exports.level = {
|
|||
"ja": "一つのコミットのみを取得",
|
||||
"zh_CN": "只取一个提交记录",
|
||||
"zh_TW": "只取一個 commit",
|
||||
"ro":"Alegem doar un singur commit",
|
||||
"ru_RU": "Выберем один коммит.",
|
||||
"uk": "Вибираємо всього один коміт",
|
||||
"vi": "Chỉ lấy 1 commit",
|
||||
|
@ -48,6 +49,7 @@ exports.level = {
|
|||
"ko": "대화식 리베이스(rebase -i)나 or 체리픽(cherry-pick)을 사용하세요",
|
||||
"zh_CN": "你有两个朋友,cherry-pick 和 rebase -i",
|
||||
"zh_TW": "記住,使用互動式的 rebase 或者 cherry-pick 會很有幫助",
|
||||
"ro": "Nu uita, rebase interactiv sau cherry-pick sunt prietenii tăi aici",
|
||||
"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",
|
||||
|
@ -528,6 +530,45 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"ro": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Commit-uri salvate local",
|
||||
"",
|
||||
"Iată o situație de dezvoltare care apare frecvent: încerc să găsesc un bug, dar este destul de greu de găsit. Pentru a mă ajuta în munca mea de detectiv, adaug câteva comenzi de debug și câteva instrucțiuni de printare.",
|
||||
"",
|
||||
"Toate aceste comenzi de depanare și instrucțiuni de printare sunt în propriile lor commit-uri. În cele din urmă, găsesc bug-ul, îl repar și mă bucur!",
|
||||
"",
|
||||
"Singura problemă este că acum trebuie să aduc `bugFix` înapoi în ramura `main`. Dacă pur și simplu fac un fast-forward la `main`, atunci `main` va primi toate instrucțiunile mele de depanare, ceea ce nu este de dorit. La sigur trebuie să existe o altă modalitate..."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Trebuie să spunem lui git să copie doar unul dintre commit-uri. Aceasta este exact ca nivelurile anterioare de mutare a muncii -- putem folosi aceleași comenzi:",
|
||||
"",
|
||||
"* `git rebase -i`",
|
||||
"* `git cherry-pick`",
|
||||
"",
|
||||
"Pentru a atinge acest obiectiv."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Acesta este un nivel mai avansat, așa că lăsăm la discreția ta decizia de a alege ce comandă vrei să folosești, dar pentru a finaliza nivelul, asigură-te că `main` primește commit-ul la care se referă `bugFix`."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ru_RU": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -30,6 +30,7 @@ exports.level = {
|
|||
"ja": "コミットをやりくりする",
|
||||
"zh_CN": "提交的技巧 #1",
|
||||
"zh_TW": "commit 的戲法",
|
||||
"ro": "Jonglarea cu commit-uri",
|
||||
"ru_RU": "Жонглируем коммитами",
|
||||
"uk": "Жонглюємо комітами",
|
||||
"vi": "Tung hứng commit",
|
||||
|
@ -52,6 +53,7 @@ exports.level = {
|
|||
"ko": "첫번째 명령은 git rebase -i HEAD~2 입니다",
|
||||
"zh_CN": "第一个命令是 `git rebase -i HEAD~2`",
|
||||
"zh_TW": "第一個命令是 'git rebase -i HEAD~2'",
|
||||
"ro": "Prima comandă este git rebase -i HEAD~2",
|
||||
"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",
|
||||
|
@ -474,6 +476,40 @@ exports.level = {
|
|||
},
|
||||
]
|
||||
},
|
||||
"ro": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Jonglarea cu commit-uri",
|
||||
"",
|
||||
"Iată o altă situație care apare destul de frecvent. Ai unele modificări (`newImage`) și un alt set de modificări (`caption`) care sunt legate între ele, astfel încât sunt stivuite una peste alta în repozitoriul tău (adică una după alta).",
|
||||
"",
|
||||
"Partea complicată este că uneori trebuie să faci o mică modificare la un commit mai vechi. În acest caz, echipa de design vrea să schimbăm puțin dimensiunile lui `newImage`, chiar dacă acel commit este deja în istoria noastră!"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Vom depăși această dificultate făcând următoarele:",
|
||||
"",
|
||||
"* Vom reordona commit-urile astfel încât cel pe care vrem să-l modificăm să fie cel mai recent cu `git rebase -i`",
|
||||
"* Vom folosi `git commit --amend` pentru a face mica modificare",
|
||||
"* Apoi vom reordona commit-urile înapoi cum erau anterior cu `git rebase -i`",
|
||||
"* În final, vom muta `main` în această parte actualizată a arborelui pentru a termina nivelul (folosind metoda pe care o preferi)",
|
||||
"",
|
||||
"Există multe moduri de a atinge acest obiectiv general (știu că te gândești la cherry-pick), și vom vedea mai multe dintre ele mai târziu, dar pentru moment să ne concentrăm pe această tehnică.",
|
||||
"În cele din urmă, fii atent la starea finală aici -- deoarece mutăm commit-urile de două ori, ambele primesc o apostrofă în plus. Încă o apostrofă este adăugată pentru commit-ul pe care îl modificăm, ceea ce ne dă forma finală a arborelui ",
|
||||
"",
|
||||
"Asta fiind spus, pot compara nivelurile acum pe baza structurii și diferențelor relative de apostrofă. Atâta timp cât ramura `main` a arborelui tău are aceeași structură și diferențe relative de apostrofă, îți voi da puncte maxime."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ru_RU": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -29,6 +29,7 @@ exports.level = {
|
|||
"ja": "コミットをやりくりする その2",
|
||||
"zh_CN": "提交的技巧 #2",
|
||||
"zh_TW": "commit 的戲法 #2",
|
||||
"ro": "Jonglarea cu commit-uri #2",
|
||||
"ru_RU": "Жонглируем коммитами №2",
|
||||
"uk": "Жонглюємо комітами #2",
|
||||
"vi": "Tung hứng commit #2",
|
||||
|
@ -51,6 +52,7 @@ exports.level = {
|
|||
"ko": "main을 변경 완료한 커밋으로 이동(forward)시키는 것을 잊지 마세요!",
|
||||
"zh_CN": "别忘记了将 main 快进到最新的更新上!",
|
||||
"zh_TW": "別忘記了將 main 推到最新的 commit 上面!",
|
||||
"ro": "Nu uita să avansezi main la ultimele modificări!",
|
||||
"ru_RU": "Не забудь переместить main на последние изменения.",
|
||||
"uk": "Не забудь перемістити main на останні зміни!",
|
||||
"vi": "Đừng quên đẩy nhánh main lên cập nhật mới nhất!",
|
||||
|
@ -571,6 +573,49 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"ro": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Jonglarea cu commit-uri #2",
|
||||
"",
|
||||
"*Dacă nu ai terminat Jonglarea cu commit-uri #1 (nivelul anterior), te rog să o faci înainte de a continua*",
|
||||
"",
|
||||
"După cum ai văzut în ultimul nivel, am folosit `rebase -i` pentru a reordona commit-urile. Odată ce commit-ul pe care voiam să-l schimbam era în vârf, am putut să-l modificăm ușor cu --amend și apoi să-l reordonăm înapoi la ordinea noastră dorită.",
|
||||
"",
|
||||
"Singura problemă aici este că există o mulțime de reordonări, ceea ce poate introduce conflicte de rebase. Să ne uităm la o altă metodă folosind `git cherry-pick`."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Amintește-ți că git cherry-pick va adăuga un commit din orice parte a arborelui la HEAD (atâta timp cât acel commit nu este un strămoș al HEAD).",
|
||||
"",
|
||||
"Iată o mică demonstrație pentru a-ți reaminti:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Super! Să continuăm."
|
||||
],
|
||||
"command": "git cherry-pick C2",
|
||||
"beforeCommand": "git checkout -b bugFix; git commit; git checkout main; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Deci, în acest nivel, trebuie să atingem același obiectiv de a modifica `C2`, dar să evităm utilizarea `rebase -i`. Îți las ție să descoperi cum! :D",
|
||||
"",
|
||||
"Ține minte, numărul exact de apostrofe (') din commit nu este important, ci doar diferențele relative. De exemplu, voi acorda puncte unui arbore care se potrivește cu arborele țintă, dar are un apostrof în plus peste tot."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ru_RU": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -14,6 +14,7 @@ exports.level = {
|
|||
"fr_FR": "Git Tags",
|
||||
"zh_CN": "Git Tag",
|
||||
"zh_TW": "git tag",
|
||||
"ro": "Tag-uri Git",
|
||||
"ru_RU": "git tag",
|
||||
"ko": "Git 태그",
|
||||
"uk": "Git Tags",
|
||||
|
@ -36,6 +37,7 @@ exports.level = {
|
|||
"gl": "Podes saltar directamente ó commit, ¡ou a etiqueta, que é máis doado!",
|
||||
"zh_TW": "你可以直接 checkout 到 commit 上,或是簡單的 checkout 到 tag 上",
|
||||
"zh_CN": "你可以直接 checkout 到 commit 上,或是简单地 checkout 到 tag 上",
|
||||
"ro": "Poți face checkout direct pe commit sau pur și simplu checkout pe tag!",
|
||||
"ru_RU": "Можно сделать checkout напрямую на коммит или же на тег",
|
||||
"ko": "커밋을 직접 또는 태그를 이용해서 체크아웃할수 있습니다!",
|
||||
"uk": "ти можеш або зробити checkout коміта напряму чи просто зачекаутити таг!",
|
||||
|
@ -619,6 +621,58 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"ro": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Tag-uri Git",
|
||||
"",
|
||||
"Așa cum ai învățat din lecțiile anterioare, ramurile sunt ușor de mutat și de obicei fac referire la diferite commit-uri pe măsură ce munca este finalizată pe ele. Ramurile sunt ușor de modificat, adesea temporare și mereu în schimbare.",
|
||||
"",
|
||||
"În acest caz, s-ar putea să te întrebi dacă există o modalitate de a marca *permanent* anumite puncte din istoria proiectului tău. Pentru lucruri precum lansări majore și mari fuziuni, există vreo modalitate de a marca aceste commit-uri cu ceva mai permanent decât o ramură?",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Sigur că există! Tag-urile Git sunt concepute exact pentru acest caz de utilizare -- ele marchează (într-o oarecare măsură) permanent anumite commit-uri ca fiind \"etape importante\" la care poți face referire ca la o ramură.",
|
||||
"",
|
||||
"Mai important, ele nu se mișcă atunci când sunt create noi commit-uri. Nu poți trece pe un tag și apoi adăuga munca nouă pe acel tag -- tag-urile există ca niște ancore în arborele de commit-uri care desemnează anumite puncte.",
|
||||
"",
|
||||
"Să vedem cum arată tag-urile în practică..."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Să încercăm să creăm un tag la `C1`, care este prototipul nostru pentru versiunea 1"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Destul de simplu! Am numit tag-ul `v1` și am referit explicit commit-ul `C1`. Dacă nu specifici commit-ul, git va folosi ceea ce este la `HEAD`."
|
||||
],
|
||||
"command": "git tag v1 C1",
|
||||
"beforeCommand": "git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Pentru acest nivel, creează pur și simplu tag-urile din vizualizarea obiectivului și apoi treci la `v1`. Observă cum intri în starea de `HEAD` detașat -- asta se datorează faptului că nu poți face commit direct pe tag-ul `v1`.",
|
||||
"",
|
||||
"În nivelul următor vom examina un caz de utilizare mai interesant pentru tag-uri."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"ru_RU": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue