From c2f263f951709150c8e3fecf4c6bb823f42ad5e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Pe=C5=A1i=C4=87?= <27575106+eevan78@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:37:08 +0400 Subject: [PATCH] add Serbian translation of cheat sheets --- .../sr/github-git-advanced-cheat-sheet.md | 61 ++++ downloads/sr/github-git-cheat-sheet.md | 174 +++++++++ .../sr/submodule-vs-subtree-cheat-sheet.md | 344 ++++++++++++++++++ downloads/sr/subversion-migration.md | 107 ++++++ index.html | 3 + 5 files changed, 689 insertions(+) create mode 100644 downloads/sr/github-git-advanced-cheat-sheet.md create mode 100644 downloads/sr/github-git-cheat-sheet.md create mode 100644 downloads/sr/submodule-vs-subtree-cheat-sheet.md create mode 100644 downloads/sr/subversion-migration.md diff --git a/downloads/sr/github-git-advanced-cheat-sheet.md b/downloads/sr/github-git-advanced-cheat-sheet.md new file mode 100644 index 000000000..02060abd7 --- /dev/null +++ b/downloads/sr/github-git-advanced-cheat-sheet.md @@ -0,0 +1,61 @@ +# Напредна пушкица + + +## Команде спајања + +Прекид спајања + +`$ git merge --abort` + +## Команде скривања + +Чување текућих измена у скровиште са одређеним именом + +`$ git stash save <име скровишта>` + +Чување текућих измена у скровиште (чува га као stash@{0}) + +`$ git stash` + +Уклања скровиште на врху стека + +`$ git stash drop` + +Уклања скровиште на индексу n + +`$ git stash drop stash@{n}` + +Примењује измене из скровишта са индексом n и брише га са листе + +`$ git stash pop stash@{n}` + +Примењује скровиште на индексу n + +`$ git stash apply stash@{n}` + + +## Команде одјављивања + +Одбацивање свих измена + +`$ git restore .` + +Креирање нове грани и прелазак на њу + +`$ git switch -c <име гране>` + +Враћање једног фајла из скровишта у радни простор + +`$ git restore --source=<stash@{0}> <имефајла>` + +## Команде крпљења + +Примена фајла закрпе (.diff или .patch) ма репозоиторијум + +`$ git apply <фајл закрпе>` + +## Команде дневника + +Улепшавање дневника git историје + +`$ git log --pretty=oneline` diff --git a/downloads/sr/github-git-cheat-sheet.md b/downloads/sr/github-git-cheat-sheet.md new file mode 100644 index 000000000..ec075befe --- /dev/null +++ b/downloads/sr/github-git-cheat-sheet.md @@ -0,0 +1,174 @@ +--- +layout: cheat-sheet +redirect_to: false +title: GitHub Git пушкица +byline: Git је дистрибуирани систем за контролу верзија отвореног кода који омогућава GitHub активности на вашем лаптоп или декстоп рачунару. Ова пушкица даје преглед често коришћених Git команди за командну линију, тако да можете брзо да их пронађете. +leadingpath: ../../../ +--- + +{% capture colOne %} +## Инсталација + +### GitHub Desktop +[desktop.github.com](https://desktop.github.com) + +### Git за све платформе +[git-scm.com](https://git-scm.com) + +## Подешавање алата +Конфигурација информација о кориснику за све локалне репозиторијуме + +```$ git config --global user.name "[име]"``` + +Постављање имена које желите да се дода свим вашим комит трансакцијама + +```$ git config --global user.email "[имејл адреса]"``` + +Постављање имејла који желите да се дода свим вашим комит трансакцијама + +```$ git config --global color.ui auto``` + +Укључивање згодног бојења излаза командне линије + +## Гране + +Гране су вашан део рада са програмом Git. Било који комитови које направите ће се креирати на грани коју сте тренутно „одјавили”. Употребите `git status` да видите која је то грана. + +```$ git branch [име-гране]``` + +Креирање нове гране + +```$ git switch -c [име-гране]``` + +Прелазак на наведену грану и ажурирање радног директоријума + +```$ git merge [грана]``` + +Комбиновање историје наведене гране у текућу грану. Ово се обично ради у захтевима за повлачење, али је важна Git операција. + +```$ git branch -d [име-гране]``` + +Брисање наведене гране + +{% endcapture %} +<div class="col-md-6"> +{{ colOne | markdownify }} +</div> + + +{% capture colTwo %} + +## Креирање репозиторијума + +Нови репозиторијум може да се креира локално, или може да се клонира постојећи репозиторијум. Када се репозиторијум иницијализује локално, касније морате да га гурнете на GitHub. + +```$ git init``` + +Команда git init претвара постојећи директоријум у нови Git репозиторијум унутар фолдера у којем покренете ову команду. Када употребите `git init` команду, повежите локални репозиторијум са празним GitHub репозиторијумом употребом следеће команде: + +```$ git remote add origin [url]``` + +Навођење удаљеног репозиторијума за ваш локални репозиторијум. url адреса указује на репозиторијум на сервису GitHub. + +```$ git clone [url]``` + +Клонирање (преузимање) репозиториујума који већ постоји на сервису GitHub, заједно са свим фајловима, гранама и комитовима + +## .gitignore фајл + +Понекад је добра идеја подесити Git тако не прати неке фајлове. Ово се обично ради специјалним фајлом `.gitignore`. Корисне шаблоне за `.gitignore` фајлове можете да пронађете на [github.com/github/gitignore](https://github.com/github/gitignore). + +## Синхронизација измена + +Синхронизација локалног репозиторијума а удаљеним репозиторијумом на сервису GitHub.com + +```$ git fetch``` + +Преузимање комплетне историје са удаљених грана које се прате + +```$ git merge``` + +Комбиновање удаљених грана које се прате у локалну грану + +```$ git push``` + +Отпремање свих комитова локалне гране на GitHub + +```$ git pull``` + +Ажурирање ваше текуће локалне радне гране новим комитовима са одговарајуће удаљене гране на сервису GitHub. `git pull` је комбинација `git fetch` и `git merge` + +{% endcapture %} +<div class="col-md-6"> +{{ colTwo | markdownify }} +</div> +<div class="clearfix"></div> + +{% capture colThree %} + +## Прављење измена + +Приказ и испитивање еволуције фајлова пројекта + +```$ git log``` + +Приказивање историје верзија текуће гране + +```$ git log --follow [фајл]``` + +Приказивање историје верзија за фајл, не само промена имена (ради само за један фајл) + +```$ git diff [прва-грана]...[друга-грана]``` + +Приказује разлике садржаја између две гране + +```$ git show [комит]``` + +Исписује метаподатке и измене садржаја за одређени комит + +```$ git add [фајл]``` + +Узима тренутно стање фајла током припреме за креирање верзије + +```$ git commit -m "[описна порука]"``` + +Трајно чува стања фајла у историји верзија + +## Поново извођење комитова + +Брисање грешака и обликовање историје замене + +```$ git reset [комит]``` + +Поништава све комитове након `[комит]`, уз локално очување измена + +```$ git reset --hard [комит]``` + +Одбацује комплетну историју и враћа стање на наведени комит + +> ОПРЕЗ! Измена историје може да доведе до гадних споредних ефеката. Ако морате да измените комитове које се налазе на GitHub (удаљене), наставите уз опрез. Ако вам је потребна помоћ, обратите се на [github.community](https://github.community) или контактирајте подршку. + +{% endcapture %} +<div class="col-md-6"> +{{ colThree | markdownify }} +</div> + +{% capture colFour %} + +## Речник + +- **git**: дистрибуирани систем за контролу верзија отвореног кода +- **GitHub**: платформа за хостовање Git репозиторијума и заједнички рад на њима +- **комит**: Git објекат, снимак тренутног стања комплетног репозиторијума компресованог у SHA +- **грана**: покретни показивач на комит који заузима мало ресурса +- **клон**: локална верзија репозиторијума која укључује све комитове и гране +- **удаљени**: заједнички репозиторијум на платформи GitHub који користе сви чланови тима за размену својих измена +- **рачва**: копија репозиторијума на платформи GitHub чији је власник неки други корисник +- **захтев за повлачење**: место за поређење и расправу о разликама које се уносе граном, заједно са рецензијама, коментарима, интегрисаним тестовима и осталим +- **HEAD**: претставља ваш текући радни директоријум, HEAD показивач може да се помера на различите гране, ознаке или комитове употребом команде `git switch` + +{% endcapture %} +<div class="col-md-6"> +{{ colFour | markdownify }} +</div> +<div class="clearfix"></div> diff --git a/downloads/sr/submodule-vs-subtree-cheat-sheet.md b/downloads/sr/submodule-vs-subtree-cheat-sheet.md new file mode 100644 index 000000000..067c8589d --- /dev/null +++ b/downloads/sr/submodule-vs-subtree-cheat-sheet.md @@ -0,0 +1,344 @@ +--- +layout: cheat-sheet +redirect_to: false +title: Обрађивање зависности подмодулима и подстаблима +byline: Подмодули и подстабла су Git алати који омогућавају да се потпројекти укључе у пројекат као поддиректоријум. Сваки је имплементиран на веома различит начин. +leadingpath: ../../../ +--- + +<div class="col-md-12"> +<h1>Додавање новог подпројекта</h1> +</div> + +{% capture submodule %} + +### Подмодул + + git submodule add https://github.com/githubtraining/example-submodule + + git commit -m "adding new submodule" + +Команда `submodule add` додаје нови фајл под називом `.gitmodules` заједно са поддиректоријумом који садржи фајлове из `example-submodule`. Оба се додају у ваш индекс (стејџинг област) и просто морате да их комитујете. Историја подмодула остаје независна од пројекта родитеља. + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + + git subtree add --prefix=example-submodule https://github.com/githubtraining/example-submodule main --squash + +Команда subtree додаје поддиректоријум који садржи фајлове из `example-submodule`. Најчешћа пракса је да се употреби опција `--squash` која комбинује историју подпројекта у један комит, који се затим уграђује у постојеће стабло пројекта родитеља. Ако желите да задржите комплетну историју назначене гране потпројекта, можете да изоставите опцију `--squash`. + +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Приказ Diff-а потпројекта</h1> +</div> + +{% capture submodule %} + +### Подмодул + +Да бисте видели diff подмодула: + +```bash +# приказ измена у комиту подмодула +git diff example-submodule +# приказ једнолинијског дневника нових комитова у подмодулу +git diff --submodule example-submodule +# приказ измена фајлова у подмодулу +git diff --submodule=diff +``` + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + +Није потребна посебна команда + +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Клонирање репозиторијума са потпројектом</h1> +</div> + +{% capture submodule %} + +### Подмодул + +Да бисте клонирали репозиторијум заједно са свим његовим подмодулима: + + git clone --recurse-submodules URL + +Ако сте заборавили `--recurse-submodules`, можете да клонирате и иницијализујете све подмодуле: + + git submodule update --init --recursive + +`--recursive` је потребно само ако било који од подмодула садржи подмодуле. + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + +Није потребна посебна команда + +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Повлачење ажурирања суперпројекта</h1> +</div> + +{% capture submodule %} + +### Подмодул + +Подразумевано, репозиторијум подмодула се дохвата, али се не ажурира када у суперпројекту извршите `git pull`. Морате да користите `git submodule update`, или да додате `--recurse-submodules` заставицу команди `pull` : + +```bash +git pull +git submodule update --init --recursive +# или, у једном кораку (Git >= 2.14) +git pull --recurse-submodules +``` + +`--init` је обавезно ако су у суперпројекту додати нови подмодули, а `--recursive` је обавезно ако било који подмодул и сам има подмодуле. + +Ако суперпројекат било када промени URL подмодула, потребна је посебна команда: + +```bash +# копирање нове URL адресе у вашу локалну конфигурацију +git submodule sync --recursive +# ажурирање подмодула са нове URL адресе +git submodule update --init --recursive +``` + +`--recursive` је потребно само ако сам подмодул садржи подмодуле. + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + +Није потребна посебна команда + +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Измена грана</h1> +</div> + +{% capture submodule %} + +### Подмодул + +Подразумевано, када се мења грана, радно стабло подмодула се не ажурира тако да се подудара са комитом забележеним у суперпројекту. Морате да употребите `git submodule update`, или да додате заставицу `--recurse-submodules` у `switch` : + +```bash +git switch <грана> +git submodule update --recursive +# или, у једном кораку (Git >= 2.13) +git switch --recurse-submodules <грана> +``` + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + +Није потребна посебна команда + +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Повлачење ажурирања потпројекта</h1> +</div> + +{% capture submodule %} + +### Подмодул + +```bash +# Ажурирање репозиторијум потпројекта +git submodule update --remote +# Чување измена у суперпројекту +git commit -am "Ажурирање подмодула" +``` + +Ако имате више од једног подмодула, на крај команде `git submodule update --remote` можете да додате путању до подмодула и тако наведете који потпројекат треба да се ажурира. + +Подразумевано, `git submodule update --remote` ће да ажурира подмодул на најновији комит `main` гране удаљеног подмодула. + +За будуће позиве, подразумевану грану можете да промените са: + +```bash +# Git >= 2.22 +git submodule set-branch друга-грана +# или +git config -f .gitmodules submodule.example-submodule.branch друга-грана +``` + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + + git subtree pull --prefix=example-submodule https://github.com/githubtraining/example-submodule main --squash + +Команду можете да скратите додавањем URL адресе подстабла као удаљене гране: + + git remote add sub-remote https://github.com/githubtraining/example-submodule.git + +Остале референце можете да додате/повучете замењивањем `main` са жељеном референцом (нпр. `stable`, `v1.0`). + +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Прављење измена у потпројекту</h1> + +У већини случајева, сматра се да је најбоља пракса да се измене раде у одвојеном клону репозиторијума потпројекта, па да се повуку у пројекат-родитељ. Када то није практично, пратите инструкције које следе: +</div> + +{% capture submodule %} + +### Подмодул + +Приступите директоријуму подмодула и креирајте грану: + + cd example-submodule + git switch -c branch-name main + +За змене су потребна два комита, један у репозиторијуму потпројекта и један у репозиторијуму родитељу. +Не заборавите да гурнете измене и у подмодул и у суперпројекат! + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + +Није потребна посебна команда, измене ће се комитовати на грану пројекта родитеља. + +Постоји могућност да се креирају комитови који мешају измене потпројекта и пројекта родитеља, али то се у општем слућају не препоручује. +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Гурање измена у репозиторијум потпројекта</h1> +</div> + +{% capture submodule %} + +### Подмодул + +Док се налазите у директоријуму подмодула: + + git push + +Или док се налазите у директоријуму родитељу: + + git push --recurse-submodules=on-demand + +{% endcapture %} + +{% capture subtree %} + +### Подстабло + + git subtree push --prefix=example-submodule https://github.com/githubtraining/example-submodule main +{% endcapture %} + +<div class="col-md-6"> +{{ submodule | markdownify }} +</div> + +<div class="col-md-6"> +{{ subtree | markdownify }} +</div> + +<div class="col-md-12"> +<h1>Корисне конфигурације за подмодуле</h1> + +{% capture configs %} +Када радите diff увек ће се приказивати дневник подмодула: + + git config --global diff.submodule log + +У вашој `git status` поруци ће се приказивати кратак преглед измена подмодула: + + git config --global status.submoduleSummary true + +`--recurse-submodules=on-demand` је подразумевано за `push`: + + git config --global push.recurseSubmodules on-demand + +`--recurse-submodules` је подразумевано за све команде (одим `clone`) ако подржавају ту заставицу (ово ради за `git pull` од Git 2.15): + + git config --global submodule.recurse true + +{% endcapture %} + +{{ configs | markdownify }} + </div> diff --git a/downloads/sr/subversion-migration.md b/downloads/sr/subversion-migration.md new file mode 100644 index 000000000..3edeea399 --- /dev/null +++ b/downloads/sr/subversion-migration.md @@ -0,0 +1,107 @@ +--- +layout: cheat-sheet +redirect_to: false +title: Миграција са Subversion на Git +byline: Када се мигрира са Subversion на Git, уз нове могућности које нуди само Git, потребно је да се научи речник и скуп команди. Сврха ове пушкице је да вам помогне у преласку са класичне Subversion технологије на модерну употребу Git са GitHub платформом за сарадњу. +leadingpath: ../../../ +--- + +{% capture migration %} +## Мигрирање + + +### GitHub увозник + +За пројекте који су доступни путем интернета, GitHub.com обезбеђује увозник који аутоматизује мигрирање и креирање репозиторијум са Subversion, Team Foundation Server, Mercurial, или Git контролисаних пројеката који су хостовани на другачији начин. + +Процес је једноставан, потребно је само да се пријавите на свој GitHub налог, ако већ нисте, унесете URL постојеће контроле верзије пројекта у поље репозиторијума и започнете конверзију. + +У зависности од откривеног система за контролу верзија, увозник може да затражи и неке додатне информације потребне за миграцију. То може бити фајл мапирања којим се придружују Subversion корисничка имена са Git пољима. + +Прочитајте више о томе како да увезете свој пројекат у GitHub на [GitHub Importer документацији](https://docs.github.com/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer). + +### SVN2Git алат + +Када је потребно да се репозиторијуми са ограничењима приступа или приватни Subversion репозиторијуми пренесу на Git, SVN2Git алат из командне линије је прави избор који омогућава контролу током сваког корака процеса. + +Структуре Subversion репозиторијума је изразите различита у односу на структуру Git репозиторијума и SVN2Git обезбеђује потребну флексибилност и подешавања која одговарају традиционалним и произвољним Subversion распоредима. На тај начин се обезбеђује да је Git репозиторијум који напусти процес конверзије сагласан са најбољом праксом за комитове, гране и ознаке за комплетну историју пројекта. + +Неке од истакнутих функционалности SVN2Git алата су + +- Конвертовање свих SVN конвенција у традиционалне Git структуре +- Обезбеђивање поља SVN корисника за име и и-мејл податке у Git комитовима +- Дозвољавање шаблона за изузимање којима се обезбеђује прецизан садржај Git репозиторијума + +Сазнајте више о SVN2Git на званичној страници пројекта: + +[https://github.com/nirvdrum/svn2git](https://github.com/nirvdrum/svn2git) +{% endcapture %} + +<div class="col-md-6 col-12"> +{{ migration | markdownify }} +</div> + +{% capture bridging %} +## Премошћавање + +### Искоришћавање Git подршке за SVN + +Често је случај, током транзиције на Git, да Subversion инфраструктура остаје активна док се корисници не упознају са интеракцијама са локалним Git репозиторијумом, локалним процесима рада и десктоп апликацијама. + +Команда `git svn` дозвољава корисницима да се синхронизују са централизованим хостом Subversion репозиторијума уз све предности које нуди локална Git командна линији и графички клијенти. + +Да бисте преузели Subversion репозиторијум као конвертовани локални Git repository, преузмите следећом командом комплетан пројекат: + +``` +git svn clone [svn-repo-url] --stdlayout +``` + +Будите сигурни да се упознати са структуром циљног Subversion репозиторијума и тиме да ли он следи стандардни распоред или не. За `trunk`, `branches`, и `tags` распореде који нису традиционални, требало би током `svn clone` да наведете следеће прекидаче опција: + +- `T [trunk]` за алтернативну конвенцију главно извора +- `b [branches]` за алтернативне локације грана +- `t [tags]` за алтернативну локацију структуре ознака + +Једном када се заврши операција клонирања, можете наставити са било каквим локалним Git интеракцијама на командној линији или у графичким клијентима. + +### Синхронизација са Subversion + +Објављивање локалне Git историје назад на Subversion репозиторијум преузет са git svn clone се врши једном командом: + +``` +git svn dcommit +``` + +Ако историја хостованог Subversion репозиторијума поседује комитове који се још увек не налазе у локалном Git репозиторијуму, `dcommit` операција ће се одбацити све док се комитови не дохвате следећом командом: + +``` +git svn rebase +``` + +Имајте на уму да ова акција поново исписује вашу локалну Git историју и идентификатори комита ће бити другачији. +{% endcapture %} + +<div class="col-md-6 col-12"> +{{ bridging | markdownify }} +</div> + + +## Разумевање + +Subversion и Git деле сличне речнике, али често су заједничка само имена команди. Понашање и функционалност су врло различити када се узму у обзир јединствени квалитети које Git обезбеђује као дистрибуирани систем за контролу верзија у односу на централизоване аспекте Subversion система. + + +| SVN команда | Git команда | Git понашање | +| --- | --- | --- | +| `status` | `status` | Извештај о стању радног стабла | +| `add` | `add` | Потребно је за сваку путању пре креирања комита | +| `commit` | `commit` | Чување припремљених измена у локалној историји ревизија | +| `rm`, `delete` | `rm` | Припремање путања за брисање у наредном комиту | +| `move` | `mv` | Припрема премештеног садржаја за наредни комит | +| `checkout` | `clone` | Преузимање комплетне историје пројекта локално по први пут | +| | `branch` | Креирање локалног контекста за комитове | +| | `merge` | Спајање историја грана и измена радног стабла | +| | `log` | Није потребна мрежна веза | +| | `push` | Отпремање историје комитова на Hub/централизовани Git хост | +| | `pull` | Преузимање и интеграција GitHub репозиторијума са локалним | +| | `fetch` | Преузимање историје GitHub репозиторијума без било које друге акције | diff --git a/index.html b/index.html index f8b57bdc4..0be20a01e 100644 --- a/index.html +++ b/index.html @@ -49,6 +49,7 @@ <h2 class="mt-2">Git Cheat Sheets</h2> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/pt_PT/github-git-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> Português (Portugal)</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/ru/github-git-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> Russian</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/sk/github-git-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> Slovenský</a></li> + <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/sr/github-git-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> српски</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/tr/github-git-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> Türkçe</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/ua/github-git-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> Ukrainian</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/zh_CN/github-git-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> 簡體中文</a></li> @@ -63,11 +64,13 @@ <h3 class="mt-2">SVN migration</h3> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/subversion-migration/"><span class="d-flex mr-2">{% octicon download %}</span> English</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/es_ES/subversion-migration/"><span class="d-flex mr-2">{% octicon download %}</span> Español</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/it/subversion-migration/"><span class="d-flex mr-2">{% octicon download %}</span> Italiano</a></li> + <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/sr/subversion-migration/"><span class="d-flex mr-2">{% octicon download %}</span> српски</a></li> </ul> <h3 class="mt-2">Submodules vs. Subtrees</h3> <ul class="list-style-none"> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/submodule-vs-subtree-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> English</a></li> <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/es_ES/submodule-vs-subtree-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> Español</a></li> + <li><a class="d-flex flex-items-center" href="{{ site.baseurl }}/downloads/sr/submodule-vs-subtree-cheat-sheet/"><span class="d-flex mr-2">{% octicon download %}</span> српски</a></li> </ul> <h3 class="mt-2">Manuals</h3> <ul class="list-style-none">