diff --git a/_data/site.js b/_data/site.js index b6766624..297fa779 100644 --- a/_data/site.js +++ b/_data/site.js @@ -8,6 +8,11 @@ module.exports = { code: "af", arialabel: "Sien die webblad in ander tale", }, + { + label: "Azərbaycanca", + code: "az", + arialabel: "Başqa dillərdə oxuyun", + }, { label: "বাংলা", code: "bn", @@ -160,6 +165,11 @@ module.exports = { link: "https://github.com/michaeljabotha", lang: "af", }, + { + name: "Zaman Kazimov", + link: "https://github.com/kazimovzaman2", + lang: "az", + }, { name: "Moritz Stückler", link: "https://github.com/pReya", diff --git a/_redirects b/_redirects index fa7cd490..8e8ff9fb 100644 --- a/_redirects +++ b/_redirects @@ -229,3 +229,11 @@ https://ohshitgit.com/ https://ohshitgit.com/fa 302 Language=fa # persian no swears https://dangitgit.com/fa https://dangitgit.com/fa/noswears/index.html 200! https://dangitgit.com/ https://dangitgit.com/fa 302 Language=fa + +# azerbaijani swears +https://ohshitgit.com/az https://ohshitgit.com/az/swears/index.html 200! +https://ohshitgit.com/ https://ohshitgit.com/fa 302 Language=az + +# azerbaijani no swears +https://dangitgit.com/az https://dangitgit.com/az/noswears/index.html 200! +https://dangitgit.com/ https://dangitgit.com/fa 302 Language=az diff --git a/az/noswears/index.html b/az/noswears/index.html new file mode 100644 index 00000000..880af590 --- /dev/null +++ b/az/noswears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: az +contentType: noswears +title: İçinə zibil, Git!?! +--- \ No newline at end of file diff --git a/az/noswears/partials/footer.njk b/az/noswears/partials/footer.njk new file mode 100644 index 00000000..2ad58c51 --- /dev/null +++ b/az/noswears/partials/footer.njk @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/az/noswears/partials/intro.njk b/az/noswears/partials/intro.njk new file mode 100644 index 00000000..0916fbea --- /dev/null +++ b/az/noswears/partials/intro.njk @@ -0,0 +1,3 @@ +
Git çətindir: hər şeyi dağıtmaq isə asan, və səhvlərinizi necə düzəldəcəyinizi tampaq da mümkünsüz kimi bir şeydi. Git dokumentasiyasına girib axtarmağa başladığınızda, bu qarmaşıqlıq içindən necə canınızı qurtaracağınızı tapmaq istəyirsiz və bunun tək yolu qarşılaşdığınız xətanın adının nə olduğunu bilirsizsə mümkün ola biləcəyini başa düşürsüz. Sonra toyuq yumurtadan çıxıb yumurtamı toyuqdan deyə fikirləşirsiz.
+ +Və buna görə də, burada özümün içindən çıxa bilmədiyim vəziyyətləri, və bunlardan bir müddət sonra necə canımı qurtardığımı sadə dildə Azərbaycanca izah etməyə çalışacam.
diff --git a/az/noswears/partials/outro.njk b/az/noswears/partials/outro.njk new file mode 100644 index 00000000..61f8c687 --- /dev/null +++ b/az/noswears/partials/outro.njk @@ -0,0 +1 @@ +*Etiraz: Bu saytın təfərruatlı bir mənbə olmaq kimi bir məqsədi yoxdur. Və haqlısız, burda yazılan həlləri reallaşdırmanın daha teorik üsulları da var, amma mən bu həllərə sınama və səhv çıxma, çoxlu söyüşlər və ora bura masa tullamaqla gəldim və bunları həyasızlıq və söyüş ilə bölüşmək üçün dəli fikrim var idi. Ya istifadə edin, ya da başını buraxın getsin!
\ No newline at end of file diff --git a/az/noswears/partials/thanks.njk b/az/noswears/partials/thanks.njk new file mode 100644 index 00000000..e9ef016d --- /dev/null +++ b/az/noswears/partials/thanks.njk @@ -0,0 +1,4 @@ +Bu saytı yeni dillərə çevirmək üçün könüllü olan hər kəsə çox çox təşəkkürlər, möhtəşəmsiz! +{% include "partials/collaborator-list.njk" %}. Əlavə olaraq {% include "partials/otherhelper-list.njk" %}'ın köməyi ilə.
+ +Əgər siz də kömək olub öz dilinizə çevirmək istəyirsizsə {% github_link %} repo'suna PR göndərin.
\ No newline at end of file diff --git a/az/noswears/tips/01-magic-time-machine.md b/az/noswears/tips/01-magic-time-machine.md new file mode 100644 index 00000000..154f54c1 --- /dev/null +++ b/az/noswears/tips/01-magic-time-machine.md @@ -0,0 +1,20 @@ +--- +tags: tip +title: İçinə zibil, çox böyük bir səhv etdim, nolar git'in bunu geri alacaq sehirli zaman maşını olduğunu de!?! +id: magic-time-machine +order: 1 +--- + +```git +git reflog +# bütün branch'lar daxil, git'də etdiyiniz +# hər bir şeyin siyahısını görəcəksiniz! +# Hər birinin HEAD@{index} formatında indeksi var +# səhvlərdən əvvəlki təmiz vəziyyəti tap, +git reset HEAD@{index} +# bu da sənə zaman maşını +``` + +You can use this to get back stuff you accidentally deleted, or just to remove some stuff you tried that broke the repo, or to recover after a bad merge, or just to go back to a time when things actually worked. I use `reflog` A LOT. Mega hat tip to the many many many many many people who suggested adding it! + +Siz bunu səhvən sildiyiniz bir şeyi geri qaytarmaq və ya sadəcə reponu pozan bəzi şeyləri silmək və ya bərbad merge'ü geri qaytarmaq ya da hər şeyin işlədiyi vaxta geri qayıtmaq üçün istifadə edə bilərsiz. Mən `reflog`'u çox istifadə edirəm. Bunu buraya əlavə etməyi tövsiyyə edən hər kəsə təşəkkür edirəm. \ No newline at end of file diff --git a/az/noswears/tips/02-change-last-commit.md b/az/noswears/tips/02-change-last-commit.md new file mode 100644 index 00000000..fb9f0f1a --- /dev/null +++ b/az/noswears/tips/02-change-last-commit.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: İçinə zibli, Kodları commit'lədim və yadıma düşdü ki, kiçik bir dəyişiklik də etməliyəm! +id: change-last-commit +order: 2 +--- + +```git +# dəyişikliyinizi edin +git add . # və ya faylların bir bir adını yazın +git commit --amend --no-edit +# və son commit bu dəyişiklikləri də içinə alacaq! +# XƏBƏRDARLIQ: heç vaxt push etdiyiniz commit'ləri amend etməyin! +``` + +Bu çox vaxtı mənim başıma kodu commit edəndən sonra test'ləri/linter'i vs. işlədəndən sonra gəlir, məsələn, bərabərdir işarəsindən sonra boşluq qoymaq yadımdan çıxır. Bunu etməyin başqa bir yolu da, lazım olan dəyişiklikləri yeni bir commit içində yaradıb, `rebase -i` komandası ilə ikisini birləşdirməkdir, amma bu üsul hardasa 1 milyon dəfə daha sürətlidir. + +*Xəbərdarlıq: public/shared branch'lara push ettiyiniz bir commit'i amend etməməlisiniz! Sadəcə local'da olan commit'i amend eləməlisiz, əks təqdirdə pis zaman keçirə bilərsiniz.* \ No newline at end of file diff --git a/az/noswears/tips/03-change-last-commit-message.md b/az/noswears/tips/03-change-last-commit-message.md new file mode 100644 index 00000000..28618327 --- /dev/null +++ b/az/noswears/tips/03-change-last-commit-message.md @@ -0,0 +1,12 @@ +--- +tags: tip +title: İçinə zibil, axırıncı commit'dəki mesajı dəyişməliyəm! +id: change-last-commit-message +order: 3 +--- +```git +git commit --amend +# commit mesajını dəyişdirmək üçün göstərişlərə əməl edin +``` + +Mənasız commit mesajının format tələbləri... \ No newline at end of file diff --git a/az/noswears/tips/04-accidental-commit-master.md b/az/noswears/tips/04-accidental-commit-master.md new file mode 100644 index 00000000..e1d151ee --- /dev/null +++ b/az/noswears/tips/04-accidental-commit-master.md @@ -0,0 +1,17 @@ +--- +tags: tip +title: İçinə zibil, Səhvən yeni branch açıb oraya commit'ləməli olduğum şeyi, master branch'a commitlədim! +id: accidental-commit-master +order: 4 +--- + +```git +# master'in indiki halıyla yeni branch açın +git branch some-new-branch-name +# master'dən son commit'i silin +git reset HEAD~ --hard +git checkout some-new-branch-name +# yeni commit artıq bu branch'da yaşıyacaq :) +``` + +Qeyd: əgər commit'i çoxdan public/shared repo'ya push etmisinizsə, və əvvəlcə başqa şeyləri yoxlamısınızsa, bu işə yaramıyacaq, onun yerinə də `HEAD~` əvəzinə `git reset HEAD@{1-2-commit-əvvəl}` yoxlayın. Sonsuz qəm-kədər. Mənim bildiyimdən çox çox daha qısa yolları mənə məsləhət görən bir çox adam oldu. Hamısına çox təşəkkürlər! \ No newline at end of file diff --git a/az/noswears/tips/05-accidental-commit-wrong-branch.md b/az/noswears/tips/05-accidental-commit-wrong-branch.md new file mode 100644 index 00000000..ff32c861 --- /dev/null +++ b/az/noswears/tips/05-accidental-commit-wrong-branch.md @@ -0,0 +1,29 @@ +--- +tags: tip +title: İçinə zibil, səhvən kodu başqa branch'a commitlədim! +id: accidental-commit-wrong-branch +order: 5 +--- + +```git +# son commit'i geri al, amma dəyişikliklər qalsın +git reset HEAD~ --soft +git stash +# düzgün branch'a keç +git checkout düzgün-branch-adı +git stash pop +git add . # və ya faylların bir bir adını yazın +git commit -m "mesajın"; +# indi dəyişikliklərin düzgün branch'a keçdi +``` + +Çox adam bu vəziyyət üçün `cherry-pick` komandasını da istifadəsini tövsiyyə edir, ona görə hansı sizə daha rahat gəlirsə onu istifadə edə bilərsiz. + +```git +git checkout düzgün-branch-adı +# master'dəki son commit'i al +git cherry-pick master +# master'dən o commit'i sil +git checkout master +git reset HEAD~ --hard +``` \ No newline at end of file diff --git a/az/noswears/tips/06-dude-wheres-my-diff.md b/az/noswears/tips/06-dude-wheres-my-diff.md new file mode 100644 index 00000000..a7d5ec1a --- /dev/null +++ b/az/noswears/tips/06-dude-wheres-my-diff.md @@ -0,0 +1,14 @@ +--- +tags: tip +title: İçinə zibil, iki saatdı diff eləməyə çalışıram, amma nəticə yoxdu?! +id: dude-wheres-my-diff +order: 6 +--- + +Fayllarda dəyişlik etdiyinizi bilirsiniz, amma `diff` komandası sizə nəticə vermirsə, böyük ehtimal faylları `add`'ləmişsiniz və sizə lazım olan xüsusi flag istifadə etməlisiniz. + +```git +git diff --staged +``` + +¯\\\_(ツ)\_/¯ kateqoriyasını əlavə edin. (bəli, bu bir xüsusiyyətdir, səhv deyil, amma baş ağrıdır və ilk dəfə qarşılaşan adam nə edəcəyini bilmir.) \ No newline at end of file diff --git a/az/noswears/tips/07-undo-a-commit.md b/az/noswears/tips/07-undo-a-commit.md new file mode 100644 index 00000000..eba8e469 --- /dev/null +++ b/az/noswears/tips/07-undo-a-commit.md @@ -0,0 +1,21 @@ +--- +tags: tip +title: İçinə zibil, 5-6 commit əvvəl qeyd olunan commit'i geri almalıyam! +id: undo-a-commit +order: 7 +--- + +```git +# geri alınacaq commit'i tapın +git log +# ox düymələrini istifadə edərək keçmişdə yuxarı/aşağı gəzinin +# commit'i tapanda, hash'ni kopyalayın +git revert [kopyalanan hash] +# git sizin üçün bunu geri alan bir commit yaradacaq +# commit mesajını göstərişləri edin +# və ya sadəcə saxlayın və commit'ləyin +``` + +Bir dəyişikliyi geri almaq üçün dəyişən yerləri tapıb bir bir yeni fayllara kopyalamaq lazım deyilmiş! Əgər səhvən bug'ı commit etmisinizsə, `revert` ilə commit'i geri ala bilərsiniz. + +Hətta, tüm bir commit'i geri almaq əvəzinə, tək bir fayl da geri ala bilərsiz! A düzdü, həqiqi git metoduna görə, hər funksiyanın fərqli komandası var... \ No newline at end of file diff --git a/az/noswears/tips/08-undo-a-file.md b/az/noswears/tips/08-undo-a-file.md new file mode 100644 index 00000000..8ba264ab --- /dev/null +++ b/az/noswears/tips/08-undo-a-file.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: İçinə zibil, bir fayldaki dəyişiklikləri geri almalıyam! +id: undo-a-file +order: 8 +--- + +```git +# fayl dəyişməzdən əvvəlki halının hash'ni tap +git log +# ox düymələrini istifadə edərək keçmişdə yuxarı/aşağı gəzinin +# commit'i tapanda, hash'ni kopyalayın +git checkout [kopyalanan hash] -- qovluq/və/faylın/adı +# faylın köhnə halı indi index'dədir +git commit -m "Vay vay, geri almaq üçün copy paste'ə ehtiyac yoxuymuş" +``` + +Bunu öyrənmək mənim üçün MÖHTƏŞƏM'iydi. MÖHTƏŞƏM. MÖH-TƏ-ŞƏM. Amma həqiqətən, hansı planetdə `checkout --` istifadə edərək bir faylın geri alınmasının ən yaxşı yolunun bu olduğu məntiqlidi ki? :shakes-fist-at-linus-torvalds: \ No newline at end of file diff --git a/az/noswears/tips/20-fuck-this-noise.md b/az/noswears/tips/20-fuck-this-noise.md new file mode 100644 index 00000000..8721000d --- /dev/null +++ b/az/noswears/tips/20-fuck-this-noise.md @@ -0,0 +1,29 @@ +--- +tags: tip +title: Bezdim, başını buraxıram. +id: forget-this-noise +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 xarab-git +git clone https://some.github.url/xarab-git.git +cd xarab-git +``` + +Bu misala görə Eric V.-ə təşəkkür edirəm. Bu zarafatda `sudo` istifadəsinə dair bütün şikayətlər ona ünvanlana bilər. + +Amma həqiqətən, əgər local branch'ın dağılıbsa, və bu vəziyyəti remote repo'daki son halına "git-approved" bir şəkildə geri qaytarmaq istiyirsinizsə, bunu eliyin, amma diqqətli olun, bu proses dağıdıcı və geri dönülməyən bir yoldur. + + +```git +# origin'in son vəziyyəti +git fetch origin +git checkout master +git reset --hard origin/master +# izlənilməyən faylları və qovluqları silin +git clean -d --force +# bütün branch'lar üçün bunu təkrar edin +``` \ No newline at end of file diff --git a/az/noswears/tips/tips.json b/az/noswears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/az/noswears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false } diff --git a/az/swears/index.html b/az/swears/index.html new file mode 100644 index 00000000..9ff82168 --- /dev/null +++ b/az/swears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: az +contentType: swears +title: Ay sikim, Git!?! +--- \ No newline at end of file diff --git a/az/swears/partials/banner.njk b/az/swears/partials/banner.njk new file mode 100644 index 00000000..3d0015da --- /dev/null +++ b/az/swears/partials/banner.njk @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/az/swears/partials/footer.njk b/az/swears/partials/footer.njk new file mode 100644 index 00000000..5821af50 --- /dev/null +++ b/az/swears/partials/footer.njk @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/az/swears/partials/intro.njk b/az/swears/partials/intro.njk new file mode 100644 index 00000000..8fcbb42d --- /dev/null +++ b/az/swears/partials/intro.njk @@ -0,0 +1,3 @@ +Git çətindir: sıçıb bulamaq isə asan, və səhvlərinizi necə düzəldəcəyinizi tampaq da mümkünsüz kimi bir şeydi. Git dokumentasiyasına girib axtarmağa başladığınızda, bu zir zibilin içindən necə canınızı qurtaracağınızı tapmaq istəyirsiz və bunun tək yolu qarşılaşdığınız xətanın adının nə olduğunu bilirsizsə mümkün ola biləcəyini başa düşürsüz. Sonra toyuq yumurtadan çıxıb yumurtamı toyuqdan deyə fikirləşirsiz.
+ +Və buna görə də, burada özümün içindən çıxa bilmədiyim vəziyyətləri, və bunlardan bir müddət sonra necə canımı qurtardığımı sadə dildə Azərbaycanca izah etməyə çalışacam.
diff --git a/az/swears/partials/outro.njk b/az/swears/partials/outro.njk new file mode 100644 index 00000000..61f8c687 --- /dev/null +++ b/az/swears/partials/outro.njk @@ -0,0 +1 @@ +*Etiraz: Bu saytın təfərruatlı bir mənbə olmaq kimi bir məqsədi yoxdur. Və haqlısız, burda yazılan həlləri reallaşdırmanın daha teorik üsulları da var, amma mən bu həllərə sınama və səhv çıxma, çoxlu söyüşlər və ora bura masa tullamaqla gəldim və bunları həyasızlıq və söyüş ilə bölüşmək üçün dəli fikrim var idi. Ya istifadə edin, ya da başını buraxın getsin!
\ No newline at end of file diff --git a/az/swears/partials/thanks.njk b/az/swears/partials/thanks.njk new file mode 100644 index 00000000..e9ef016d --- /dev/null +++ b/az/swears/partials/thanks.njk @@ -0,0 +1,4 @@ +Bu saytı yeni dillərə çevirmək üçün könüllü olan hər kəsə çox çox təşəkkürlər, möhtəşəmsiz! +{% include "partials/collaborator-list.njk" %}. Əlavə olaraq {% include "partials/otherhelper-list.njk" %}'ın köməyi ilə.
+ +Əgər siz də kömək olub öz dilinizə çevirmək istəyirsizsə {% github_link %} repo'suna PR göndərin.
\ No newline at end of file diff --git a/az/swears/tips/01-magic-time-machine.md b/az/swears/tips/01-magic-time-machine.md new file mode 100644 index 00000000..6f9e3ffc --- /dev/null +++ b/az/swears/tips/01-magic-time-machine.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Ay sikim, çox böyük bir səhv etdim, nolar git'in bunu geri alacaq sehirli zaman maşını olduğunu de!?! +id: magic-time-machine +order: 1 +--- + +```git +git reflog +# bütün branch'lar daxil, git'də etdiyiniz +# hər bir şeyin siyahısını görəcəksiniz! +# Hər birinin HEAD@{index} formatında indeksi var +# sıçıb bulamazdan əvvəlki təmiz vəziyyəti tap, +git reset HEAD@{index} +# bu da sənə zaman maşını +``` + +Siz bunu səhvən sildiyiniz bir şeyi geri qaytarmaq və ya sadəcə reponu pozan bəzi şeyləri silmək və ya pox kimi merge'ü geri qaytarmaq ya da hər şeyin işlədiyi vaxta geri qayıtmaq üçün istifadə edə bilərsiz. Mən `reflog`'u çox istifadə edirəm. Bunu buraya əlavə etməyi tövsiyyə edən hər kəsə təşəkkür edirəm. \ No newline at end of file diff --git a/az/swears/tips/02-change-last-commit.md b/az/swears/tips/02-change-last-commit.md new file mode 100644 index 00000000..b34e6701 --- /dev/null +++ b/az/swears/tips/02-change-last-commit.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Ay sikim, Kodları commit'lədim və yadıma düşdü ki, kiçik bir dəyişiklik də etməliyəm! +id: change-last-commit +order: 2 +--- + +```git +# dəyişikliyinizi edin +git add . # və ya faylların bir bir adını yazın +git commit --amend --no-edit +# və son commit bu dəyişiklikləri də içinə alacaq! +# XƏBƏRDARLIQ: heç vaxt push etdiyiniz commit'ləri amend etməyin! +``` + +Bu çox vaxtı mənim başıma kodu commit edəndən sonra test'ləri/linter'i vs. işlədəndən sonra gəlir, məsələn, beynimi sikim, bərabərdir işarəsindən sonra boşluq qoymaq yadımdan çıxır. Bunu etməyin başqa bir yolu da, lazım olan dəyişiklikləri yeni bir commit içində yaradıb, `rebase -i` komandası ilə ikisini birləşdirməkdir, amma bu üsul hardasa 1 milyon dəfə daha sürətlidir. + +*Xəbərdarlıq: public/shared branch'lara push ettiyiniz bir commit'i amend etməməlisiniz! Sadəcə local'da olan commit'i amend eləməlisiz, əks təqdirdə altı dəyə bilər.* \ No newline at end of file diff --git a/az/swears/tips/03-change-last-commit-message.md b/az/swears/tips/03-change-last-commit-message.md new file mode 100644 index 00000000..3e9c91c4 --- /dev/null +++ b/az/swears/tips/03-change-last-commit-message.md @@ -0,0 +1,12 @@ +--- +tags: tip +title: Ay sikim, axırıncı commit'dəki mesajı dəyişməliyəm! +id: change-last-commit-message +order: 3 +--- +```git +git commit --amend +# commit mesajını dəyişdirmək üçün göstərişlərə əməl edin +``` + +Soxduğumun commit mesajının format tələbləri... \ No newline at end of file diff --git a/az/swears/tips/04-accidental-commit-master.md b/az/swears/tips/04-accidental-commit-master.md new file mode 100644 index 00000000..8af2c194 --- /dev/null +++ b/az/swears/tips/04-accidental-commit-master.md @@ -0,0 +1,17 @@ +--- +tags: tip +title: Ay sikim, Səhvən yeni branch açıb oraya commit'ləməli olduğum şeyi, master branch'a commitlədim! +id: accidental-commit-master +order: 4 +--- + +```git +# master'in indiki halıyla yeni branch açın +git branch some-new-branch-name +# master'dən son commit'i silin +git reset HEAD~ --hard +git checkout some-new-branch-name +# yeni commit artıq bu branch'da yaşıyacaq :) +``` + +Qeyd: əgər commit'i çoxdan public/shared repo'ya push etmisinizsə, və əvvəlcə başqa şeyləri yoxlamısınızsa, bu işə yaramıyacaq, onun yerinə də `HEAD~` əvəzinə `git reset HEAD@{1-2-commit-əvvəl}` yoxlayın. Sonsuz qəm-kədər. Mənim bildiyimdən çox çox daha qısa yolları mənə məsləhət görən bir çox adam oldu. Hamısına çox təşəkkürlər! \ No newline at end of file diff --git a/az/swears/tips/05-accidental-commit-wrong-branch.md b/az/swears/tips/05-accidental-commit-wrong-branch.md new file mode 100644 index 00000000..b2fe8221 --- /dev/null +++ b/az/swears/tips/05-accidental-commit-wrong-branch.md @@ -0,0 +1,29 @@ +--- +tags: tip +title: Ay sikim, səhvən kodu başqa branch'a commitlədim! +id: accidental-commit-wrong-branch +order: 5 +--- + +```git +# son commit'i geri al, amma dəyişikliklər qalsın +git reset HEAD~ --soft +git stash +# düzgün branch'a keç +git checkout düzgün-branch-adı +git stash pop +git add . # və ya faylların bir bir adını yazın +git commit -m "mesajın"; +# indi dəyişikliklərin düzgün branch'a keçdi +``` + +Çox adam bu vəziyyət üçün `cherry-pick` komandasını da istifadəsini tövsiyyə edir, ona görə hansı sizə daha rahat gəlirsə onu istifadə edə bilərsiz. + +```git +git checkout düzgün-branch-adı +# master'dəki son commit'i al +git cherry-pick master +# master'dən o commit'i sil +git checkout master +git reset HEAD~ --hard +``` \ No newline at end of file diff --git a/az/swears/tips/06-dude-wheres-my-diff.md b/az/swears/tips/06-dude-wheres-my-diff.md new file mode 100644 index 00000000..aa997d97 --- /dev/null +++ b/az/swears/tips/06-dude-wheres-my-diff.md @@ -0,0 +1,14 @@ +--- +tags: tip +title: Ay sikim, iki saatdı diff eləməyə çalışıram, amma nəticə yoxdu?! +id: dude-wheres-my-diff +order: 6 +--- + +Fayllarda dəyişlik etdiyinizi bilirsiniz, amma `diff` komandası sizə nəticə vermirsə, böyük ehtimal faylları `add`'ləmişsiniz və sizə lazım olan xüsusi flag istifadə etməlisiniz. + +```git +git diff --staged +``` + +¯\\\_(ツ)\_/¯ kateqoriyasını əlavə edin. (bəli, bu bir xüsusiyyətdir, səhv deyil, amma beyin sikir və ilk dəfə qarşılaşan adam nə edəcəyini bilmir.) \ No newline at end of file diff --git a/az/swears/tips/07-undo-a-commit.md b/az/swears/tips/07-undo-a-commit.md new file mode 100644 index 00000000..85b5e295 --- /dev/null +++ b/az/swears/tips/07-undo-a-commit.md @@ -0,0 +1,21 @@ +--- +tags: tip +title: Ay sikim, 5-6 commit əvvəl qeyd olunan commit'i geri almalıyam! +id: undo-a-commit +order: 7 +--- + +```git +# geri alınacaq commit'i tapın +git log +# ox düymələrini istifadə edərək keçmişdə yuxarı/aşağı gəzinin +# commit'i tapanda, hash'ni kopyalayın +git revert [kopyalanan hash] +# git sizin üçün bunu geri alan bir commit yaradacaq +# commit mesajını göstərişləri edin +# və ya sadəcə saxlayın və commit'ləyin +``` + +Bir dəyişikliyi geri almaq üçün dəyişən yerləri tapıb bir bir yeni fayllara kopyalamaq lazım deyilmiş! Əgər səhvən bug'ı commit etmisinizsə, `revert` ilə commit'i geri ala bilərsiniz. + +Hətta, tüm bir commit'i geri almaq əvəzinə, tək bir fayl da geri ala bilərsiz! A düzdü, həqiqi git metoduna görə, hər sikiş funksiyanın fərqli komandası var... \ No newline at end of file diff --git a/az/swears/tips/08-undo-a-file.md b/az/swears/tips/08-undo-a-file.md new file mode 100644 index 00000000..d3361ec5 --- /dev/null +++ b/az/swears/tips/08-undo-a-file.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Ay sikim, bir fayldaki dəyişiklikləri geri almalıyam! +id: undo-a-file +order: 8 +--- + +```git +# fayl dəyişməzdən əvvəlki halının hash'ni tap +git log +# ox düymələrini istifadə edərək keçmişdə yuxarı/aşağı gəzinin +# commit'i tapanda, hash'ni kopyalayın +git checkout [kopyalanan hash] -- qovluq/və/faylın/adı +# faylın köhnə halı indi index'dədir +git commit -m "Vay vay, geri almaq üçün copy paste'ə ehtiyac yoxuymuş" +``` + +Bunu öyrənmək mənim üçün MÖHTƏŞƏM'iydi. MÖHTƏŞƏM. MÖH-TƏ-ŞƏM. Amma həqiqətən, hansı soxduğumun planetində `checkout --` istifadə edərək bir faylın geri alınmasının ən yaxşı yolunun bu olduğu məntiqlidi ki? :shakes-fist-at-linus-torvalds: \ No newline at end of file diff --git a/az/swears/tips/20-fuck-this-noise.md b/az/swears/tips/20-fuck-this-noise.md new file mode 100644 index 00000000..21826f20 --- /dev/null +++ b/az/swears/tips/20-fuck-this-noise.md @@ -0,0 +1,29 @@ +--- +tags: tip +title: İçini sikim bezdim, başını buraxıram. +id: fuck-this-noise +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 osduraq-git +git clone https://some.github.url/osduraq-git.git +cd osduraq-git +``` + +Bu misala görə Eric V.-ə təşəkkür edirəm. Bu zarafatda `sudo` istifadəsinə dair bütün şikayətlər ona ünvanlana bilər. + +Amma həqiqətən, əgər local branch'ın götü dağılıbsa, və bu vəziyyəti remote repo'daki son halına "git-approved" bir şəkildə geri qaytarmaq istiyirsinizsə, bunu eliyin, amma diqqətli olun, bu proses dağıdıcı və geri dönülməyən bir yoldur. + + +```git +# origin'in son vəziyyəti +git fetch origin +git checkout master +git reset --hard origin/master +# izlənilməyən faylları və qovluqları silin +git clean -d --force +# bütün sikik branch'lar üçün bunu təkrar edin +``` \ No newline at end of file diff --git a/az/swears/tips/tips.json b/az/swears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/az/swears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false }