diff --git a/_data/site.js b/_data/site.js index b6766624..591951a3 100644 --- a/_data/site.js +++ b/_data/site.js @@ -68,6 +68,11 @@ module.exports = { code: "ru", arialabel: "Посмотреть на других языках", }, + { + label: "беларуская", + code: "by", + arialabel: "Паглядзець на іншых мовах", + }, { label: "українська", code: "ua", @@ -170,6 +175,11 @@ module.exports = { link: "https://github.com/dadyarri", lang: "ru", }, + { + name: "Anton Stankevich", + link: "https://github.com/Antoha-94", + lang: "by", + }, { name: "Łukasz Wójcik", link: "https://github.com/lwojcik", diff --git a/_redirects b/_redirects index fa7cd490..6ab10862 100644 --- a/_redirects +++ b/_redirects @@ -30,6 +30,14 @@ https://ohshitgit.com/ https://ohshitgit.com/ru 302 Language=ru https://dangitgit.com/ru https://ohshitgit.com/ru/noswears/index.html 200! https://dangitgit.com/ https://dangitgit.com/ru 302 Language=ru +# belorussian swears +https://ohshitgit.com/by https://ohshitgit.com/by/swears/index.html 200! +https://ohshitgit.com/ https://ohshitgit.com/by 302 Language=by + +# belorussian no swears +https://dangitgit.com/by https://ohshitgit.com/by/noswears/index.html 200! +https://dangitgit.com/ https://dangitgit.com/by 302 Language=by + # polish swears https://ohshitgit.com/pl https://ohshitgit.com/pl/swears/index.html 200! https://ohshitgit.com/ https://ohshitgit.com/pl 302 Language=pl diff --git a/by/noswears/index.html b/by/noswears/index.html new file mode 100644 index 00000000..4b3cb25b --- /dev/null +++ b/by/noswears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: by +contentType: noswears +title: Чорт цябе дзяры, Git!?! +--- \ No newline at end of file diff --git a/by/noswears/index.html:Zone.Identifier b/by/noswears/index.html:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/partials/footer.njk b/by/noswears/partials/footer.njk new file mode 100644 index 00000000..1fd11b00 --- /dev/null +++ b/by/noswears/partials/footer.njk @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/by/noswears/partials/footer.njk:Zone.Identifier b/by/noswears/partials/footer.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/partials/intro.njk b/by/noswears/partials/intro.njk new file mode 100644 index 00000000..c77cda6f --- /dev/null +++ b/by/noswears/partials/intro.njk @@ -0,0 +1,3 @@ +

Git складаны: лёгка ўсё сапсаваць, і нерэальна зразумець, як гэта выпраўляць. Документацыя Git - гэта фініш: каб знайсці рашэнне, тебе загадзя трэба ведаць каманду, якая верне ўсё на месца.

+ +

Папулярна апішу некалькі сітуацый, з якіх мне давялося выбірацца.

diff --git a/by/noswears/partials/intro.njk:Zone.Identifier b/by/noswears/partials/intro.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/partials/outro.njk b/by/noswears/partials/outro.njk new file mode 100644 index 00000000..1ef3521d --- /dev/null +++ b/by/noswears/partials/outro.njk @@ -0,0 +1,3 @@ +

+ *Папярэджанне: Гэты сайт не з'яўляецца канчатковай інструкцыяй. І так, ёсць іншыя спосабы зрабіць тое ж самае, але я прыйшоў да гэтага метадам спроб і памылак, і цяпер дзелюся гэтым з вялікай дозай лёгкадумства і матюкоў. Прыняйце гэта або сыходзьце! +

diff --git a/by/noswears/partials/outro.njk:Zone.Identifier b/by/noswears/partials/outro.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/partials/thanks.njk b/by/noswears/partials/thanks.njk new file mode 100644 index 00000000..4c39dcc9 --- /dev/null +++ b/by/noswears/partials/thanks.njk @@ -0,0 +1,4 @@ +

Вялікі дзякуй гэтым людзям, якія пераклалі гэты сайт на іншыя мовы, вы крутыя! +{% include "partials/collaborator-list.njk" %}. З дадатковай дапамогай ад {% include "partials/otherhelper-list.njk" %}

+ +

Калі вы хочаце дапамагчы дадаць пераклад на сваю мову, адпраўце PR на {% github_link %}

diff --git a/by/noswears/partials/thanks.njk:Zone.Identifier b/by/noswears/partials/thanks.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/01-magic-time-machine.md b/by/noswears/tips/01-magic-time-machine.md new file mode 100644 index 00000000..c78299b6 --- /dev/null +++ b/by/noswears/tips/01-magic-time-machine.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Чорт цябе дзяры, я накасячыў, дзе ў git чароўная машына часу!? +id: чароўная-машына-часу +order: 1 +--- + +```git +git reflog +# вы ўбачыце спіс усяго, +# што зрабілі ў git, ва ўсіх галінах! +# у кожнага элемента ёсць індэкс HEAD@{індэкс} +# знайдзіце той, перад якім усё паламалася +git reset HEAD@{index} +# чароўная машына часу +``` + +Выкарыстоўвайце гэта, каб вярнуць выпадкова выдаленыя рэчы, ці выдаліць тое, чым вы ўсё паламалі, ці аднавіцца пасля няўдалага зліцця, ці проста вярнуцца туды, дзе ўсё працавала. Я ДУЖА ЧАСТА выкарыстоўваю reflog. Сдымаю капялюш перад тымі, хто прапанаваў дадаць гэта. \ No newline at end of file diff --git a/by/noswears/tips/01-magic-time-machine.md:Zone.Identifier b/by/noswears/tips/01-magic-time-machine.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/02-change-last-commit.md b/by/noswears/tips/02-change-last-commit.md new file mode 100644 index 00000000..b68deff3 --- /dev/null +++ b/by/noswears/tips/02-change-last-commit.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Чорт цябе дзяры, я зрабіў каміт і згадаў, што нешта забыў! +id: змяніць-апошні-каміт +order: 2 +--- + +```git +# зрабіце сваё змяненне +git add . # альбо дадайце файлы асобна +git commit --amend --no-edit +# цяпер ваш апошні каміт утрымлівае гэта змяненне! +# ПАПЯРЭДЖАННЕ: ніколі не змяняйце апублікаваныя каміты! +``` + +Звычайна я гэта выкарыстоўваю калі камічу, потым запускаю тэсты/сканары... і блін, я не паставіў прабел пасля знака роўна. Таксама можна зрабіць змены ў новым каміце і выкарыстоўваць `rebase -i` каб склеіць абодва каміты разам, але так у мільён разоў хутчэй. + +*Папярэджанне: ніколі не змяняйце каміты, адпраўленыя ў публічную галінку! Змяняйце толькі каміты ў вашай лакальнай галінцы, інакш Вам не паздаровіцца.* \ No newline at end of file diff --git a/by/noswears/tips/02-change-last-commit.md:Zone.Identifier b/by/noswears/tips/02-change-last-commit.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/03-change-last-commit-message.md b/by/noswears/tips/03-change-last-commit-message.md new file mode 100644 index 00000000..6995625c --- /dev/null +++ b/by/noswears/tips/03-change-last-commit-message.md @@ -0,0 +1,12 @@ +--- +tags: tip +title: Чорт цябе дзяры, мне трэба змяніць паведамленне майго апошняга каміту! +id: змяніць-паведамленне-апошняга-каміту +order: 3 +--- +```git +git commit --amend +# адчыняе рэдактар для змены паведамлення +``` + +Дурныя патрабаванні па найменні. \ No newline at end of file diff --git a/by/noswears/tips/03-change-last-commit-message.md:Zone.Identifier b/by/noswears/tips/03-change-last-commit-message.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/04-accidental-commit-master.md b/by/noswears/tips/04-accidental-commit-master.md new file mode 100644 index 00000000..c012b9d8 --- /dev/null +++ b/by/noswears/tips/04-accidental-commit-master.md @@ -0,0 +1,17 @@ +--- +tags: tip +title: Чорт цябе дзяры, я выпадкова закаміціў нешта ў майстар, хоць гэта павінна быць у новай галіне! +id: выпадковы-каміт-у-майстар +order: 4 +--- + +```git +# стварыць новую галіну з бягучага стану майстра +git branch імя-новай-галіны +# выдаліць апошні каміт з майстара +git reset HEAD~ --hard +git checkout імя-новай-галіны +# ваш каміт цяпер жыве ў гэтай галіне :) +``` + +NB: гэта не будзе працаваць, калі вы ўжо адправілі каміт у аддаленую галіну, і калі вы спрабавалі зрабіць гэта як-небудзь па-іншаму, можа дапамагчы git reset HEAD@{колькасць-камітаў-назад} замест HEAD~. Сум-смутак. Таксама многія людзі прапанавалі зрабіць тое ж самае, але карацей. Дзякуй усім! \ No newline at end of file diff --git a/by/noswears/tips/04-accidental-commit-master.md:Zone.Identifier b/by/noswears/tips/04-accidental-commit-master.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/05-accidental-commit-wrong-branch.md b/by/noswears/tips/05-accidental-commit-wrong-branch.md new file mode 100644 index 00000000..9c8c5e4d --- /dev/null +++ b/by/noswears/tips/05-accidental-commit-wrong-branch.md @@ -0,0 +1,28 @@ +--- +tags: tip +title: Чорт цябе дзяры, я выпадкова закаміціў не ў тую галіну! +id: выпадковы-каміт-не-ў-тую-галіну +order: 5 +--- + +```git +# адмяняе апошні каміт, але пакідае змяненні даступнымі +git reset HEAD~ --soft +git stash +# пераключыцца на патрэбную галіну +git checkout імя-патрэбнай-галіны +git stash pop +git add . # альбо дадайце асобныя файлы +git commit -m "ваша паведамленне тут" +# цяпер вашы змяненні ў патрэбнай галіне +``` + +Многія людзі прапаноўвалі выкарыстоўваць `cherry-pick` у такой сітуацыі, таму выбірайце тое, што вам больш падабаецца! +```git +git checkout імя-патрэбнай-галіны +# скопіяваць апошні каміт з майстра +git cherry-pick master +# выдаліць з майстра +git checkout master +git reset HEAD~ --hard +``` \ No newline at end of file diff --git a/by/noswears/tips/05-accidental-commit-wrong-branch.md:Zone.Identifier b/by/noswears/tips/05-accidental-commit-wrong-branch.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/06-dude-wheres-my-diff.md b/by/noswears/tips/06-dude-wheres-my-diff.md new file mode 100644 index 00000000..d020f794 --- /dev/null +++ b/by/noswears/tips/06-dude-wheres-my-diff.md @@ -0,0 +1,14 @@ +--- +tags: tip +title: Чорт пабяры, я спрабую адкрыць diff, але нічога не адбываецца?! +id: дзе-мой-diff +order: 6 +--- + +Калі вы ўпэўнены, што змянілі файлы, але `diff` пусты, магчыма вы індэксавалі змяненні (`add`) і трэба дадаць спецыяльны сцяг. + +```git +git diff --staged +``` + +¯\\\_(ツ)\_/¯ (так, я ведаю, што гэта не баг, а фіча, але гэта не відавочна з першага погляду!) diff --git a/by/noswears/tips/06-dude-wheres-my-diff.md:Zone.Identifier b/by/noswears/tips/06-dude-wheres-my-diff.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/07-undo-a-commit.md b/by/noswears/tips/07-undo-a-commit.md new file mode 100644 index 00000000..05c2fa5c --- /dev/null +++ b/by/noswears/tips/07-undo-a-commit.md @@ -0,0 +1,21 @@ +--- +tags: tip +title: Чорт пабяры, мне трэба адмяніць каміт, які быў 5 камітаў таму! +id: адмяніць-камiт +order: 7 +--- + +```git +# знайдзіце каміт, які трэба адмяніць +git log +# выкарыстоўвайце стрэлачкі, каб прагартаць гісторыю +# захавайце хэш патрэбнага каміта +git revert [захаваны хэш] +# git створыць новы каміт, які адмяняе выбраны +# адрэдагуйце паведамленне каміта +# або проста захавайце +``` + +Вам не трэба адкочвацца назад і капіпастыць стары файл у існуючы! Калі вы закаміцілі лухту, яе можна прыбраць праз revert. + +Таксама можна адмяніць толькі адзін файл замест цэлага каміта! Але, вядома, (як заўсёды ў git`а) гэта зусім іншы набор чортавых каманд... \ No newline at end of file diff --git a/by/noswears/tips/07-undo-a-commit.md:Zone.Identifier b/by/noswears/tips/07-undo-a-commit.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/08-undo-a-file.md b/by/noswears/tips/08-undo-a-file.md new file mode 100644 index 00000000..fa4757c0 --- /dev/null +++ b/by/noswears/tips/08-undo-a-file.md @@ -0,0 +1,17 @@ +--- +tags: tip +title: Чорт пабяры, мне трэба адмяніць змены ў файле! +id: адмяніць-змены +order: 8 +--- + +```git +# знайсці хэш каміту, да якога трэба адкаціцца +git log +# выкарыстоўвайце стрэлачкі, каб прагартаць гісторыю +# захавайце хэш патрэбнага каміту +git checkout [захаваны хэш] -- шлях/да/файла +# старая версія файла апынецца ў вашым індэксе +git commit -m "Ого, цяпер не давядзецца капіпасціць, каб адмяніць змены!" +``` +Калі да мяне гэта дайшло, гэта было НЕВЕРАГОДНА. НЕ-ВЕ-РА-ГОД-НА. Калі сур'ёзна, то чаму ў гэтым сусвеце `checkout` -- лепшы спосаб адмяняць змены? :пагражае-лінусу-торвальдсу: \ No newline at end of file diff --git a/by/noswears/tips/08-undo-a-file.md:Zone.Identifier b/by/noswears/tips/08-undo-a-file.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/20-fuck-this-noise.md b/by/noswears/tips/20-fuck-this-noise.md new file mode 100644 index 00000000..805492f6 --- /dev/null +++ b/by/noswears/tips/20-fuck-this-noise.md @@ -0,0 +1,28 @@ +--- +tags: tip +title: Да чорта ўсё, я здаюся. +id: да-чорта-ўсё +note: this should always be the last one in the list, so setting order to 20 so I don't have to re-name/re-order it +order: 20 +--- + +```git +cd .. +sudo rm -r чортаў-рэпазіторый-git +git clone https://some.github.url/чортаў-рэпазіторый-git.git +cd чортаў-рэпазіторый-git +``` + +Дзякуй Eric V. за гэтую параду. Усе скаргі наконт выкарыстання `sudo` у гэтым жарце могуць быць накіраваны адразу яму. + +Увогуле кажучы, калі ваша галіна настолькі забруджаная, што трэба вярнуцца да выдаленага стану ў "git-карэктным стылі", паспрабуйце гэта, але гэта незваротна! + +```git +# атрымаць апошні стан origin +git fetch origin +git checkout master +git reset --hard origin/master +# выдаліць неіндэксаваныя файлы +git clean -d --force +# паўтарыць checkout/reset/clean для кожнай сапсаванай галіны +``` \ No newline at end of file diff --git a/by/noswears/tips/20-fuck-this-noise.md:Zone.Identifier b/by/noswears/tips/20-fuck-this-noise.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/noswears/tips/tips.json b/by/noswears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/by/noswears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false } diff --git a/by/noswears/tips/tips.json:Zone.Identifier b/by/noswears/tips/tips.json:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/index.html b/by/swears/index.html new file mode 100644 index 00000000..4ce5724c --- /dev/null +++ b/by/swears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: by +contentType: swears +title: Ёбаны Git!!! +--- \ No newline at end of file diff --git a/by/swears/index.html:Zone.Identifier b/by/swears/index.html:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/partials/banner.njk b/by/swears/partials/banner.njk new file mode 100644 index 00000000..e17cc0af --- /dev/null +++ b/by/swears/partials/banner.njk @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/by/swears/partials/banner.njk:Zone.Identifier b/by/swears/partials/banner.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/partials/footer.njk b/by/swears/partials/footer.njk new file mode 100644 index 00000000..51a29cd1 --- /dev/null +++ b/by/swears/partials/footer.njk @@ -0,0 +1,5 @@ + diff --git a/by/swears/partials/footer.njk:Zone.Identifier b/by/swears/partials/footer.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/partials/intro.njk b/by/swears/partials/intro.njk new file mode 100644 index 00000000..8232719d --- /dev/null +++ b/by/swears/partials/intro.njk @@ -0,0 +1,3 @@ +

Git складана: лёгка ўсё прасраць, і нерэальна зразумець як выправіць. Дакументацыя Git - гэта фініш: каб знайсці рашэнне, табe загадзя трэба ведаць назву каманды, якая верне ўсё на месца.

+ +

Папулярна апішу некалькі сітуацый, з якіх мне давялося выбірацца.

\ No newline at end of file diff --git a/by/swears/partials/intro.njk:Zone.Identifier b/by/swears/partials/intro.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/partials/outro.njk b/by/swears/partials/outro.njk new file mode 100644 index 00000000..fc245cb8 --- /dev/null +++ b/by/swears/partials/outro.njk @@ -0,0 +1,3 @@ +

+ *Папярэджанне: Гэты сайт не з'яўляецца канчатковай інструкцыяй. Так, ёсць іншыя спосабы зрабіць тое ж самае, але я прыйшоў да гэтага метадам спроб і памылак, і цяпер дзялюся гэтым з вялікай дозай легкадумнасці і лаянкі. Прыміце гэта або сыдзіце! +

\ No newline at end of file diff --git a/by/swears/partials/outro.njk:Zone.Identifier b/by/swears/partials/outro.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/partials/thanks.njk b/by/swears/partials/thanks.njk new file mode 100644 index 00000000..9aba12a2 --- /dev/null +++ b/by/swears/partials/thanks.njk @@ -0,0 +1,4 @@ +

Вялікі дзякуй гэтым людзям, якія пераклалі гэты сайт на іншыя мовы, вы крутыя! +{% include "partials/collaborator-list.njk" %}. З дадатковай дапамогай ад {% include "partials/otherhelper-list.njk" %}

+ +

Калі вы хочаце дапамагчы дадаць пераклад на сваю мову, адпраўце PR на {% github_link %}

\ No newline at end of file diff --git a/by/swears/partials/thanks.njk:Zone.Identifier b/by/swears/partials/thanks.njk:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/01-magic-time-machine.md b/by/swears/tips/01-magic-time-machine.md new file mode 100644 index 00000000..db138971 --- /dev/null +++ b/by/swears/tips/01-magic-time-machine.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Лярва, я накасячыў, дзе ў git чароўная машына часу!? +id: чароўная-машына-часу +order: 1 +--- + +```git +git reflog +# вы ўбачыце спіс усяго, +# што зрабілі ў git, ва ўсіх галінах! +# у кожнага элемента ёсць індэкс HEAD@{індэкс} +# знайдзіце той, перад якім усё паламалася +git reset HEAD@{index} +# чароўная машына часу +``` + +Выкарыстоўвайце гэта, каб вярнуць выпадкова выдаленыя рэчы, ці выдаліць тое, чым вы ўсё паламалі, ці аднавіцца пасля няўдалага зліцця, ці проста вярнуцца туды, дзе ўсё працавала. Я ДУЖА ЧАСТА выкарыстоўваю reflog. Сдымаю капялюш перад тымі, хто прапанаваў дадаць гэта. \ No newline at end of file diff --git a/by/swears/tips/01-magic-time-machine.md:Zone.Identifier b/by/swears/tips/01-magic-time-machine.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/02-change-last-commit.md b/by/swears/tips/02-change-last-commit.md new file mode 100644 index 00000000..b7ed9864 --- /dev/null +++ b/by/swears/tips/02-change-last-commit.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Курва, я зрабіў каміт і згадаў, што нешта забыў! +id: змяніць-апошні-каміт +order: 2 +--- + +```git +# зрабіце сваё змяненне +git add . # альбо дадайце файлы асобна +git commit --amend --no-edit +# цяпер ваш апошні каміт утрымлівае гэта змяненне! +# ПАПЯРЭДЖАННЕ: ніколі не змяняйце апублікаваныя каміты! +``` + +Звычайна я гэта выкарыстоўваю калі камічу, потым запускаю тэсты/сканары... і блін, я не паставіў прабел пасля знака роўна. Таксама можна зрабіць змены ў новым каміце і выкарыстоўваць `rebase -i` каб склеіць абодва каміты разам, але так у мільён разоў хутчэй. + +*Папярэджанне: ніколі не змяняйце каміты, адпраўленыя ў публічную галінку! Змяняйце толькі каміты ў вашай лакальнай галінцы, інакш Вам не паздаровіцца.* \ No newline at end of file diff --git a/by/swears/tips/02-change-last-commit.md:Zone.Identifier b/by/swears/tips/02-change-last-commit.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/03-change-last-commit-message.md b/by/swears/tips/03-change-last-commit-message.md new file mode 100644 index 00000000..0661301b --- /dev/null +++ b/by/swears/tips/03-change-last-commit-message.md @@ -0,0 +1,12 @@ +--- +tags: tip +title: Гамон, мне трэба змяніць паведамленне майго апошняга каміту! +id: змяніць-паведамленне-апошняга-каміту +order: 3 +--- +```git +git commit --amend +# адчыняе рэдактар для змены паведамлення +``` + +Дурныя патрабаванні па найменні. \ No newline at end of file diff --git a/by/swears/tips/03-change-last-commit-message.md:Zone.Identifier b/by/swears/tips/03-change-last-commit-message.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/04-accidental-commit-master.md b/by/swears/tips/04-accidental-commit-master.md new file mode 100644 index 00000000..6c9cb7a4 --- /dev/null +++ b/by/swears/tips/04-accidental-commit-master.md @@ -0,0 +1,17 @@ +--- +tags: tip +title: Курвiска, я выпадкова закаміціў нешта ў майстар, хоць гэта павінна быць у новай галіне! +id: выпадковы-каміт-у-майстар +order: 4 +--- + +```git +# стварыць новую галіну з бягучага стану майстра +git branch імя-новай-галіны +# выдаліць апошні каміт з майстара +git reset HEAD~ --hard +git checkout імя-новай-галіны +# ваш каміт цяпер жыве ў гэтай галіне :) +``` + +NB: гэта не будзе працаваць, калі вы ўжо адправілі каміт у аддаленую галіну, і калі вы спрабавалі зрабіць гэта як-небудзь па-іншаму, можа дапамагчы git reset HEAD@{колькасць-камітаў-назад} замест HEAD~. Сум-смутак. Таксама многія людзі прапанавалі зрабіць тое ж самае, але карацей. Дзякуй усім! \ No newline at end of file diff --git a/by/swears/tips/04-accidental-commit-master.md:Zone.Identifier b/by/swears/tips/04-accidental-commit-master.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/05-accidental-commit-wrong-branch.md b/by/swears/tips/05-accidental-commit-wrong-branch.md new file mode 100644 index 00000000..32fb66ad --- /dev/null +++ b/by/swears/tips/05-accidental-commit-wrong-branch.md @@ -0,0 +1,28 @@ +--- +tags: tip +title: Лайно, я выпадкова закаміціў не ў тую галіну! +id: выпадковы-каміт-не-ў-тую-галіну +order: 5 +--- + +```git +# адмяняе апошні каміт, але пакідае змяненні даступнымі +git reset HEAD~ --soft +git stash +# пераключыцца на патрэбную галіну +git checkout імя-патрэбнай-галіны +git stash pop +git add . # альбо дадайце асобныя файлы +git commit -m "ваша паведамленне тут" +# цяпер вашы змяненні ў патрэбнай галіне +``` + +Многія людзі прапаноўвалі выкарыстоўваць `cherry-pick` у такой сітуацыі, таму выбірайце тое, што вам больш падабаецца! +```git +git checkout імя-патрэбнай-галіны +# скопіяваць апошні каміт з майстра +git cherry-pick master +# выдаліць з майстра +git checkout master +git reset HEAD~ --hard +``` \ No newline at end of file diff --git a/by/swears/tips/05-accidental-commit-wrong-branch.md:Zone.Identifier b/by/swears/tips/05-accidental-commit-wrong-branch.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/06-dude-wheres-my-diff.md b/by/swears/tips/06-dude-wheres-my-diff.md new file mode 100644 index 00000000..ea9f68ad --- /dev/null +++ b/by/swears/tips/06-dude-wheres-my-diff.md @@ -0,0 +1,14 @@ +--- +tags: tip +title: Дупа, я спрабую адкрыць diff, але нічога не адбываецца?! +id: дзе-мой-diff +order: 6 +--- + +Калі вы ўпэўнены, што змянілі файлы, але `diff` пусты, магчыма вы індэксавалі змяненні (`add`) і трэба дадаць спецыяльны сцяг. + +```git +git diff --staged +``` + +¯\\\_(ツ)\_/¯ (так, я ведаю, што гэта не баг, а фіча, але гэта не відавочна з першага погляду!) diff --git a/by/swears/tips/06-dude-wheres-my-diff.md:Zone.Identifier b/by/swears/tips/06-dude-wheres-my-diff.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/07-undo-a-commit.md b/by/swears/tips/07-undo-a-commit.md new file mode 100644 index 00000000..f3d9ab8a --- /dev/null +++ b/by/swears/tips/07-undo-a-commit.md @@ -0,0 +1,21 @@ +--- +tags: tip +title: Срaнае гадаўё, мне трэба адмяніць каміт, які быў 5 камітаў таму! +id: адмяніць-камiт +order: 7 +--- + +```git +# знайдзіце каміт, які трэба адмяніць +git log +# выкарыстоўвайце стрэлачкі, каб прагартаць гісторыю +# захавайце хэш патрэбнага каміта +git revert [захаваны хэш] +# git створыць новы каміт, які адмяняе выбраны +# адрэдагуйце паведамленне каміта +# або проста захавайце +``` + +Вам не трэба адкочвацца назад і капіпастыць стары файл у існуючы! Калі вы закаміцілі лухту, яе можна прыбраць праз revert. + +Таксама можна адмяніць толькі адзін файл замест цэлага каміта! Але, вядома, (як заўсёды ў git`а) гэта зусім іншы набор чортавых каманд... \ No newline at end of file diff --git a/by/swears/tips/07-undo-a-commit.md:Zone.Identifier b/by/swears/tips/07-undo-a-commit.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/08-undo-a-file.md b/by/swears/tips/08-undo-a-file.md new file mode 100644 index 00000000..9c226e51 --- /dev/null +++ b/by/swears/tips/08-undo-a-file.md @@ -0,0 +1,17 @@ +--- +tags: tip +title: Во халера, мне трэба адмяніць змены ў файле! +id: адмяніць-змены +order: 8 +--- + +```git +# знайсці хэш каміту, да якога трэба адкаціцца +git log +# выкарыстоўвайце стрэлачкі, каб прагартаць гісторыю +# захавайце хэш патрэбнага каміту +git checkout [захаваны хэш] -- шлях/да/файла +# старая версія файла апынецца ў вашым індэксе +git commit -m "Ого, цяпер не давядзецца капіпасціць, каб адмяніць змены!" +``` +Калі да мяне гэта дайшло, гэта было НЕВЕРАГОДНА. НЕ-ВЕ-РА-ГОД-НА. Калі сур'ёзна, то чаму ў гэтым сусвеце `checkout` -- лепшы спосаб адмяняць змены? :пагражае-лінусу-торвальдсу: \ No newline at end of file diff --git a/by/swears/tips/08-undo-a-file.md:Zone.Identifier b/by/swears/tips/08-undo-a-file.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/20-fuck-this-noise.md b/by/swears/tips/20-fuck-this-noise.md new file mode 100644 index 00000000..c948b5bf --- /dev/null +++ b/by/swears/tips/20-fuck-this-noise.md @@ -0,0 +1,28 @@ +--- +tags: tip +title: Трасца цябе вазьмі, я здаюся. +id: да-чорта-ўсё +note: this should always be the last one in the list, so setting order to 20 so I don't have to re-name/re-order it +order: 20 +--- + +```git +cd .. +sudo rm -r чортаў-рэпазіторый-git +git clone https://some.github.url/чортаў-рэпазіторый-git.git +cd чортаў-рэпазіторый-git +``` + +Дзякуй Eric V. за гэтую параду. Усе скаргі наконт выкарыстання `sudo` у гэтым жарце могуць быць накіраваны адразу яму. + +Увогуле кажучы, калі ваша галіна настолькі забруджаная, што трэба вярнуцца да выдаленага стану ў "git-карэктным стылі", паспрабуйце гэта, але гэта незваротна! + +```git +# атрымаць апошні стан origin +git fetch origin +git checkout master +git reset --hard origin/master +# выдаліць неіндэксаваныя файлы +git clean -d --force +# паўтарыць checkout/reset/clean для кожнай сапсаванай галіны +``` \ No newline at end of file diff --git a/by/swears/tips/20-fuck-this-noise.md:Zone.Identifier b/by/swears/tips/20-fuck-this-noise.md:Zone.Identifier new file mode 100644 index 00000000..e69de29b diff --git a/by/swears/tips/tips.json b/by/swears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/by/swears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false } diff --git a/by/swears/tips/tips.json:Zone.Identifier b/by/swears/tips/tips.json:Zone.Identifier new file mode 100644 index 00000000..e69de29b