You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/sr/1-getting-started-lessons/2-github-basics/README.md

56 KiB

Увод у GitHub

Здраво, будући програмеру! 👋 Спреман/на да се придружиш милионима кодера широм света? Искрено сам узбуђен/а што ти представљам GitHub замисли га као друштвену мрежу за програмере, само што уместо да делимо фотографије ручка, делимо код и заједно градимо невероватне ствари!

Ево шта ме апсолутно одушевљава: свака апликација на твом телефону, сваки сајт који посећујеш и већина алата које ћеш научити да користиш направљени су од стране тимова програмера који сарађују на платформама попут GitHub-а. Она музичка апликација коју обожаваш? Неко попут тебе је допринео њеном развоју. Она игра коју не можеш да оставиш? Да, вероватно је направљена уз сарадњу на GitHub-у. А сада ЋЕШ ТИ научити како да будеш део те невероватне заједнице!

Знам да ти све ово можда изгледа превише на први поглед сећам се када сам први пут гледао/ла страницу на GitHub-у и мислио/ла "Шта ово све значи?" Али ево у чему је ствар: сваки програмер је почео тачно тамо где си ти сада. До краја овог часа, имаћеш свој сопствени GitHub репозиторијум (замисли га као свој лични пројекат у облаку), и знаћеш како да сачуваш свој рад, поделиш га са другима, па чак и да допринесеш пројектима које милиони људи користе.

Кренућемо на ово путовање заједно, корак по корак. Без журбе, без притиска само ти, ја и неки стварно кул алати који ће постати твоји нови најбољи пријатељи!

Увод у GitHub

Скетч од Tomomi Imura

Квиз пре предавања

Квиз пре предавања

Увод

Пре него што заронимо у стварно узбудљиве ствари, хајде да припремимо твој рачунар за мало GitHub магије! Замисли ово као организовање својих уметничких материјала пре него што направиш ремек-дело када имаш праве алате спремне, све иде много глатко и много је забавније.

Проћи ћу кроз сваки корак припреме лично, и обећавам да није ни приближно застрашујуће како можда изгледа на први поглед. Ако нешто не буде јасно одмах, то је потпуно нормално! Сећам се када сам први пут постављао/ла своје окружење за развој и осећао/ла се као да покушавам да читам древне хијероглифе. Сваки програмер је био тачно тамо где си ти сада, питајући се да ли ради исправно. Спојлер: ако си овде и учиш, већ радиш исправно! 🌟

У овом часу, покрићемо:

  • праћење рада који обављаш на свом рачунару
  • рад на пројектима са другима
  • како да допринесеш софтверу отвореног кода

Предуслови

Хајде да припремимо твој рачунар за мало GitHub магије! Не брини овај сетап је нешто што треба да урадиш само једном, а онда си спреман/на за цело своје путовање у програмирању.

Добро, хајде да почнемо са основама! Прво, треба да проверимо да ли је Git већ инсталиран на твом рачунару. Git је као супер паметни асистент који памти сваку промену коју направиш у свом коду много боље него да панично притискаш Ctrl+S свака два секунде (сви смо били тамо!).

Провери да ли је Git већ инсталиран тако што ћеш укуцати ову магичну команду у терминал: git --version

Ако Git још није ту, нема проблема! Само посети download Git и преузми га. Када га инсталираш, треба да представиш Git-у ко си:

💡 Прво подешавање: Ове команде говоре Git-у ко си. Ове информације ће бити приложене сваком commit-у који направиш, па изабери име и имејл који си спреман/на да делиш јавно.

git config --global user.name "your-name"
git config --global user.email "your-email"

Да провериш да ли је Git већ конфигурисан, можеш укуцати:

git config --list

Такође ће ти бити потребан GitHub налог, уређивач кода (као што је Visual Studio Code), и требаће да отвориш свој терминал (или: командну линију).

Посети github.com и направи налог ако га већ немаш, или се пријави и попуни свој профил.

💡 Модеран савет: Размисли о подешавању SSH кључева или коришћењу GitHub CLI за лакшу аутентификацију без лозинки.

GitHub није једини код репозиторијум на свету; постоје и други, али GitHub је најпознатији.

Припрема

Требаће ти и фасцикла са код пројектом на твом локалном рачунару (лаптопу или ПЦ-ју), и јавни репозиторијум на GitHub-у, који ће служити као пример како да допринесеш пројектима других.

Чување твог кода

Хајде да причамо о безбедности на тренутак али не брини, нећемо те преплавити страшним стварима! Замисли ове праксе безбедности као закључавање аутомобила или куће. То су једноставне навике које постају природне и чувају твој труд.

Показаћемо ти модерне, сигурне начине рада са GitHub-ом од самог почетка. На овај начин, развићеш добре навике које ће ти служити током целе каријере у програмирању.

Када радиш са GitHub-ом, важно је да следиш најбоље праксе безбедности:

Област безбедности Најбоља пракса Зашто је важно
Аутентификација Користи SSH кључеве или Personal Access Tokens Лозинке су мање сигурне и постепено се укидају
Двофакторска аутентификација Омогући 2FA на свом GitHub налогу Додаје додатни слој заштите налога
Безбедност репозиторијума Никада не commit-уј осетљиве информације API кључеви и лозинке никада не би требало да буду у јавним репозиторијумима
Управљање зависностима Омогући Dependabot за ажурирања Чува твоје зависности безбедним и ажурним

⚠️ Критичан подсетник о безбедности: Никада не commit-уј API кључеве, лозинке или друге осетљиве информације у било који репозиторијум. Користи environment variables и .gitignore фајлове за заштиту осетљивих података.

Модерно подешавање аутентификације:

# Generate SSH key (modern ed25519 algorithm)
ssh-keygen -t ed25519 -C "your_email@example.com"

# Set up Git to use SSH
git remote set-url origin git@github.com:username/repository.git

💡 Савет професионалаца: SSH кључеви елиминишу потребу за уносом лозинки изнова и изнова и сигурнији су од традиционалних метода аутентификације.


Управљање твојим кодом као професионалац

Добро, ОВО је део где ствари постају стварно узбудљиве! 🎉 Ускоро ћемо научити како да пратиш и управљаш својим кодом као професионалци, и искрено, ово је једна од мојих омиљених ствари за предавање јер је то права промена у игри.

Замисли ово: пишеш невероватну причу и желиш да пратиш сваки нацрт, сваки бриљантан уређивање и сваки "чекај, ово је генијално!" тренутак успут. То је управо оно што Git ради за твој код! То је као да имаш најневероватнију бележницу која путује кроз време и памти СВЕ сваки притисак тастера, сваку промену, сваки "упс, ово је све покварило" тренутак који можеш тренутно да поништиш.

Бићу искрен/на ово може изгледати као превише на почетку. Када сам почео/ла, мислио/ла сам "Зашто једноставно не могу да сачувам своје фајлове као обично?" Али веруј ми на реч: када ти Git постане јасан (а хоће!), имаћеш један од оних тренутака када помислиш "Како сам ИКАДА програмирао/ла без овога?" То је као да откријеш да можеш да летиш, а до сада си свуда ишао/ла пешке!

Рецимо да имаш фасциклу локално са неким код пројектом и желиш да почнеш да пратиш свој напредак користећи git - систем за контролу верзија. Неки људи пореде коришћење git-а са писањем љубавног писма свом будућем себи. Читајући своје commit поруке данима, недељама или месецима касније, моћи ћеш да се сетиш зашто си донео/ла одређену одлуку, или да "вратиш" промену - то јест, када пишеш добре "commit поруке".

Задатак: Направи свој први репозиторијум!

🎯 Твој задатак (и баш сам узбуђен/на због тебе!): Направићемо твој први GitHub репозиторијум заједно! До краја овог задатка, имаћеш свој мали кутак на интернету где ће твој код живети, и направићеш свој први "commit" (то је програмерски речник за паметно чување твог рада).

Ово је заиста посебан тренутак званично се придружујеш глобалној заједници програмера! Још увек се сећам узбуђења када сам направио/ла свој први репозиторијум и помислио/ла "Вау, стварно ово радим!"

Хајде да прођемо кроз ову авантуру заједно, корак по корак. Узми своје време за сваки део нема награде за журбу, и обећавам да ће сваки корак имати смисла. Запамти, свака програмерска звезда коју обожаваш је једном седела тачно тамо где си ти, спремна да направи свој први репозиторијум. Колико је то кул?

Погледај видео

Видео о основама Git-а и GitHub-а

Хајде да то урадимо заједно:

  1. Направи свој репозиторијум на GitHub-у. Посети GitHub.com и потражи светло зелено дугме New (или знак + у горњем десном углу). Кликни на њега и изабери New repository.

    Ево шта треба да урадиш:

    1. Дај свом репозиторијуму име нека буде нешто значајно за тебе!
    2. Додај опис ако желиш (ово помаже другима да разумеју о чему је твој пројекат)
    3. Одлучи да ли желиш да буде јаван (да сви могу да га виде) или приватан (само за тебе)
    4. Препоручујем да означиш кућицу за додавање README фајла то је као насловна страна твог пројекта
    5. Кликни Create repository и прослави управо си направио/ла свој први репозиторијум! 🎉
  2. Навигирај до своје фасцикле са пројектом. Сада хајде да отворимо твој терминал (не брини, није толико страшан како изгледа!). Треба да кажемо твом рачунару где се налазе твоји фајлови пројекта. Укуцај ову команду:

    cd [name of your folder]
    

    Шта овде радимо:

    • У суштини кажемо "Хеј рачунару, одведи ме до моје фасцикле са пројектом"
    • Ово је као да отвараш одређену фасциклу на свом десктопу, али то радимо текстуалним командама
    • Замени [name of your folder] стварним именом твоје фасцикле са пројектом
  3. Претвори своју фасциклу у Git репозиторијум. Овде се дешава магија! Укуцај:

    git init
    

    Ево шта се управо догодило (прилично кул ствар!):

    • Git је управо направио скривену .git фасциклу у твом пројекту нећеш је видети, али је ту!
    • Твоја обична фасцикла је сада "репозиторијум" који може да прати сваку промену коју направиш
    • Замисли то као да дајеш својој фасцикли супермоћи да памти све
  4. Провери шта се дешава. Хајде да видимо шта Git мисли о твом пројекту тренутно:

    git status
    

    Разумевање онога што ти Git говори:

    Можда ћеш видети нешто што изгледа овако:

    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
    
         modified:   file.txt
         modified:   file2.txt
    

    Не паничи! Ево шта то значи:

    • Фајлови у црвеној боји су фајлови који имају промене, али још нису спремни за чување
    • Фајлови у зеленој боји (када их видиш) су спремни за чување
    • Git је користан јер ти тачно каже шта можеш да урадиш следеће

    💡 Савет професионалаца: Команда git status је твој најбољи пријатељ! Користи је кад год си збуњен/а око тога шта се дешава. То је као да питаш Git "Хеј, која је ситуација тренутно?"

  5. Припреми своје фајлове за чување (ово се зове "staging"):

    git add .
    

    Шта смо управо урадили:

    • Рекли смо Git-у "Хеј, желим да укључим СВЕ своје фајлове у следеће чување"
    • . је као да кажеш "све у овој фасцикли"
    • Сада су твоји фајлови "staged" и спремни за следећи корак

    Желиш да будеш селективнији? Можеш додати само одређене фајлове:

    git add [file or folder name]
    

    Зашто би то желео/ла?

    • Понекад желиш да сачуваш повезане промене заједно
    • Помаже ти да организујеш свој рад у логичне целине
    • Олакшава разумевање шта се променило и када

    Променио/ла си мишљење? Нема проблема! Можеш уклонити фајлове из стања "спремно за чување" овако:

    # Unstage everything
    git reset
    
    # Unstage just one file
    git reset [file name]
    

    Не брини ово не брише твој рад, само уклања фајлове из "спремно за чување" гомиле.

  6. **Сачувај

    • Направили смо везу између вашег локалног пројекта и вашег GitHub репозиторијума
    • "Origin" је само надимак за ваш GitHub репозиторијум као да додајете контакт у свој телефон
    • Сада ваш локални Git зна где да пошаље ваш код када будете спремни да га поделите

    💡 Лакши начин: Ако имате инсталиран GitHub CLI, ово можете урадити једном командом:

    gh repo create my-repo --public --push --source=.
    
  7. Пошаљите свој код на GitHub (велики тренутак!):

    git push -u origin main
    

    🚀 То је то! Отпремате свој код на GitHub!

    Шта се дешава:

    • Ваши commit-и путују са вашег рачунара на GitHub
    • Ознака -u успоставља трајну везу како би будући push-еви били лакши
    • "main" је назив вашег примарног branch-а (као главни фолдер)
    • Након овога, можете само укуцати git push за будуће отпреме!

    💡 Брза напомена: Ако се ваш branch зове другачије (нпр. "master"), користите то име. Можете проверити са git branch --show-current.

  8. Ваш нови дневни ритам кодирања (овде постаје заразно!):

    Од сада, кад год направите промене у свом пројекту, имате овај једноставан тростепени плес:

    git add .
    git commit -m "describe what you changed"
    git push
    

    Ово постаје ваш ритам кодирања:

    • Направите неке сјајне промене у свом коду
    • Stage-ујте их са git add ("Хеј Git, обрати пажњу на ове промене!")
    • Сачувајте их са git commit и описном поруком (будући ви ће вам бити захвални!)
    • Поделите их са светом користећи git push 🚀
    • Поновите озбиљно, ово постаје природно као дисање!

    Обожавам овај радни ток јер је као да имате више тачака за чување у видео игри. Направили сте промену коју волите? Commit-ујте је! Желите да пробате нешто ризично? Нема проблема увек можете да се вратите на последњи commit ако ствари крену наопако!

    💡 Савет: Можда ћете желети да усвојите .gitignore фајл како бисте спречили да фајлови које не желите да пратите заврше на GitHub-у - као онај фајл са белешкама који чувате у истом фолдеру, али нема места у јавном репозиторијуму. Можете пронаћи шаблоне за .gitignore фајлове на .gitignore templates или направити један користећи gitignore.io.

Модерни Git радни токови

Размислите о усвајању ових модерних пракси:

  • Conventional Commits: Користите стандардизован формат порука commit-а као што су feat:, fix:, docs: итд. Сазнајте више на conventionalcommits.org
  • Атомски commit-и: Нека сваки commit представља једну логичну промену
  • Чести commit-и: Често commit-ујте са описним порукама уместо великих, ретких commit-а

Поруке commit-а

Сјајна порука у Git commit-у завршава следећу реченицу: Ако се примени, овај commit ће <ваша порука овде>

За поруку користите императив, садашње време: "промени" уместо "промењено" или "мења". Као и у поруци, у телу (опционо) такође користите императив, садашње време. Тело треба да укључује мотивацију за промену и да упореди то са претходним понашањем. Објашњавате зашто, а не како.

Одвојите неколико минута да истражите GitHub. Можете ли пронаћи заиста сјајну поруку commit-а? Можете ли пронаћи заиста минималну? Које информације мислите да су најважније и најкорисније за преношење у поруци commit-а?

Рад са другима (Забавни део!)

Држите се, јер ОВО је место где GitHub постаје апсолутно магичан! 🪄 Савладали сте управљање сопственим кодом, али сада улазимо у мој апсолутно омиљени део сарадњу са невероватним људима из целог света.

Замислите ово: пробудите се сутра и видите да је неко у Токију побољшао ваш код док сте спавали. Затим неко у Берлину поправи грешку на којој сте запели. До поподнева, програмер у Сао Паулу дода функцију о којој нисте ни размишљали. То није научна фантастика то је само уобичајен дан у GitHub универзуму!

Оно што ме заиста узбуђује је да су вештине сарадње које ћете научити? То су ИСТЕ радне процедуре које тимови у Google-у, Microsoft-у и вашим омиљеним стартапима користе сваког дана. Не учите само кул алат учите тајни језик који омогућава целом свету софтвера да ради заједно.

Озбиљно, када искусите узбуђење када неко прихвати ваш први pull request, схватићете зашто програмери постају толико страствени око open source-а. То је као да сте део највећег, најкреативнијег тимског пројекта на свету!

Погледајте видео

Git и GitHub основни видео

Главни разлог за постављање ствари на GitHub био је да се омогући сарадња са другим програмерима.

У вашем репозиторијуму, идите на Insights > Community да видите како се ваш пројекат упоређује са препорученим стандардима заједнице.

Желите да ваш репозиторијум изгледа професионално и привлачно? Идите на свој репозиторијум и кликните на Insights > Community. Ова занимљива функција вам показује како се ваш пројекат упоређује са оним што GitHub заједница сматра "добрим праксама за репозиторијум".

🎯 Учини свој пројекат сјајним: Добро организован репозиторијум са добром документацијом је као да имате чисту, привлачну продавницу. То показује људима да вам је стало до вашег рада и чини да други желе да допринесу!

Ево шта чини репозиторијум одличним:

Шта додати Зашто је важно Шта вам доноси
Опис Први утисак је важан! Људи одмах знају шта ваш пројекат ради
README Почетна страница вашег пројекта Као љубазни водич за нове посетиоце
Упутства за допринос Показује да сте отворени за помоћ Људи знају тачно како могу да вам помогну
Кодекс понашања Ствара пријатељски простор Сви се осећају добродошло да учествују
Лиценца Правна јасноћа Други знају како могу да користе ваш код
Политика безбедности Показује да сте одговорни Демонстрира професионалне праксе

💡 Про савет: GitHub пружа шаблоне за све ове фајлове. Када креирате нови репозиторијум, означите кућице да аутоматски генеришете ове фајлове.

Модерне функције GitHub-а за истраживање:

🤖 Аутоматизација и CI/CD:

  • GitHub Actions за аутоматско тестирање и имплементацију
  • Dependabot за аутоматско ажурирање зависности

💬 Заједница и управљање пројектима:

  • GitHub Discussions за разговоре у заједници ван оквира проблема
  • GitHub Projects за управљање пројектима у стилу канбан табле
  • Правила заштите branch-ева за спровођење стандарда квалитета кода

Сви ови ресурси ће бити корисни за увођење нових чланова тима. А то су обично ствари које нови доприносиоци гледају пре него што уопште погледају ваш код, како би утврдили да ли је ваш пројекат право место за њих да проведу своје време.

README фајлови, иако захтевају време за припрему, често се занемарују од стране заузетих одржавалаца. Можете ли пронаћи пример посебно описног README-а? Напомена: постоје неки алати за креирање добрих README-ова које бисте могли да пробате.

Задатак: Спојите код

Документација за допринос помаже људима да допринесу пројекту. Она објашњава које врсте доприноса тражите и како процес функционише. Доприносиоци ће морати да прођу кроз низ корака како би могли да допринесу вашем репозиторијуму на GitHub-у:

  1. Fork-овање вашег репозиторијума Вероватно ћете желети да људи fork-ују ваш пројекат. Fork-овање значи креирање реплике вашег репозиторијума на њиховом GitHub профилу.
  2. Clone. Одатле ће clone-овати пројекат на свој локални рачунар.
  3. Креирање branch-а. Желите да их замолите да креирају branch за свој рад.
  4. Фокусирање промене на једну област. Замолите доприносиоце да се концентришу на једну ствар у исто време - на тај начин шансе да можете спојити њихов рад су веће. Замислите да напишу исправку грешке, додају нову функцију и ажурирају неколико тестова - шта ако желите, или можете да имплементирате само 2 од 3, или 1 од 3 промене?

Замислите ситуацију где су branch-еви посебно критични за писање и испоруку доброг кода. Које случајеве употребе можете замислити?

Напомена, будите промена коју желите да видите у свету, и креирајте branch-еве за свој рад. Сваки commit који направите биће направљен на branch-у на којем сте тренутно "checked out". Користите git status да видите који је то branch.

Хајде да прођемо кроз workflow доприносиоца. Претпоставимо да је доприносилац већ fork-овао и clone-овао репозиторијум тако да има Git репозиторијум спреман за рад на свом локалном рачунару:

  1. Креирање branch-а. Користите команду git branch да креирате branch који ће садржати промене које намеравају да допринесу:

    git branch [branch-name]
    

    💡 Модеран приступ: Можете такође креирати и пребацити се на нови branch једном командом:

    git switch -c [branch-name]
    
  2. Пребацивање на радни branch. Пребаците се на одређени branch и ажурирајте радни директоријум са git switch:

    git switch [branch-name]
    

    💡 Модерна напомена: git switch је модерна замена за git checkout када мењате branch-еве. Јасније је и сигурније за почетнике.

  3. Радите на променама. У овом тренутку желите да додате своје промене. Не заборавите да кажете Git-у о томе следећим командама:

    git add .
    git commit -m "my changes"
    

    ⚠️ Квалитет поруке commit-а: Уверите се да сте дали добар назив свом commit-у, како за вас, тако и за одржаваоца репозиторијума на којем помажете. Будите конкретни о томе шта сте променили!

  4. Комбинујте свој рад са main branch-ом. У неком тренутку завршавате рад и желите да комбинујете свој рад са оним на main branch-у. main branch је можда промењен у међувремену, па се уверите да сте га прво ажурирали на најновије са следећим командама:

    git switch main
    git pull
    

    У овом тренутку желите да се уверите да се било какви конфликти, ситуације где Git не може лако да комбинује промене, дешавају у вашем радном branch-у. Зато покрените следеће команде:

    git switch [branch_name]
    git merge main
    

    Команда git merge main ће донети све промене из main у ваш branch. Надамо се да можете само наставити. Ако не, VS Code ће вам показати где је Git збуњен и само измените погођене фајлове да кажете који садржај је најтачнији.

    💡 Модерна алтернатива: Размислите о коришћењу git rebase за чистију историју:

    git rebase main
    

    Ово репродукује ваше commit-е на врху најновијег main branch-а, стварајући линеарну историју.

  5. Пошаљите свој рад на GitHub. Слање вашег рада на GitHub значи две ствари. Push-овање вашег branch-а на ваш репозиторијум и затим отварање PR-а, Pull Request-а.

    git push --set-upstream origin [branch-name]
    

    Горња команда креира branch на вашем fork-ованом репозиторијуму.

  6. Отворите PR. Затим, желите да отворите PR. То радите тако што одете на fork-овани репозиторијум на GitHub-у. Видећете индикацију на GitHub-у где вас пита да ли желите да креирате нови PR, кликнете на то и бићете одведени на интерфејс где можете променити наслов commit поруке, дати јој прикладнији опис. Сада ће одржавалац репозиторијума који сте fork-овали видети овај PR и држите палчеве да ће ценити и спојити ваш PR. Сада сте доприносилац, ура :)

    💡 Модеран савет: PR-ове можете креирати и користећи GitHub CLI:

    gh pr create --title "Your PR title" --body "Description of changes"
    

    🔧 Најбоље праксе за PR-ове:

    • Линкујте повезане проблеме користећи кључне речи као што је "Fixes #123"
    • Додајте снимке екрана за промене у интерфејсу
    • Затражите одређене рецензенте
    • Користите draft PR-ове за рад у току
    • Уверите се да су сви CI тестови прошли пре него што затражите рецензију
  7. Очистите. Сматра се добром праксом да очистите након што успешно спојите PR. Желите да очистите и свој локални branch и branch који сте push-овали на GitHub. Прво га обришите локално следећом командом: 🤞Држимо палчеве да све провере прођу и да власник(ци) пројекта прихвате ваше измене у пројекат🤞

Ажурирајте вашу тренутну локалну радну грану са свим новим комитима са одговарајуће удаљене гране на GitHub-у:

git pull

Допринос отвореном коду (Ваша шанса да оставите траг!)

Да ли сте спремни за нешто што ће вас апсолутно одушевити? 🤯 Хајде да причамо о доприносу пројектима отвореног кода и већ добијам језу само размишљајући о томе да ово поделим са вама!

Ово је ваша шанса да постанете део нечег заиста изузетног. Замислите да побољшавате алате које милиони програмера користе свакодневно, или да поправите грешку у апликацији коју ваши пријатељи обожавају. То није само сан то је оно што допринос отвореном коду представља!

Ево шта ми увек изазива узбуђење: сваки алат који сте до сада користили ваш едитор кода, оквири које ћемо истраживати, па чак и прегледач у коме ово читате започео је са неким ко је баш као ви направио свој први допринос. Онај сјајни програмер који је направио вашу омиљену екстензију за VS Code? И он је некада био почетник који је са дрхтавим рукама кликнуо на "create pull request", баш као што ћете и ви ускоро.

А ево најлепшег дела: заједница отвореног кода је као највећи загрљај на интернету. Већина пројеката активно тражи новајлије и имају проблеме означене као "good first issue" посебно за људе као што сте ви! Одржаваоци се искрено радују када виде нове доприносе јер се сећају својих првих корака.

Овде не учите само програмирање припремате се да се придружите глобалној породици градитеља који се сваког дана буде са мишљу "Како можемо учинити дигитални свет мало бољим?" Добродошли у клуб! 🌟

Прво, хајде да пронађемо репозиторијум (или repo) на GitHub-у који вас интересује и коме бисте желели да допринесете. Желите да копирате његов садржај на ваш рачунар.

Добар начин да пронађете репозиторијуме прилагођене почетницима је претрага по ознаци 'good-first-issue'.

Копирање репозиторијума локално

Постоји неколико начина за копирање кода. Један од начина је "клонирање" садржаја репозиторијума, користећи HTTPS, SSH или GitHub CLI (Command Line Interface).

Отворите ваш терминал и клонирајте репозиторијум овако:

# Using HTTPS
git clone https://github.com/ProjectURL

# Using SSH (requires SSH key setup)
git clone git@github.com:username/repository.git

# Using GitHub CLI
gh repo clone username/repository

Да бисте радили на пројекту, промените директоријум: cd ProjectURL

Такође можете отворити цео пројекат користећи:

  • GitHub Codespaces - GitHub-ово облачно окружење за развој са VS Code-ом у прегледачу
  • GitHub Desktop - GUI апликација за Git операције
  • GitHub.dev - Притисните тастер . на било ком GitHub репозиторијуму да бисте отворили VS Code у прегледачу
  • VS Code са екстензијом GitHub Pull Requests

На крају, можете преузети код у компресованом фолдеру.

Неколико занимљивих ствари о GitHub-у

Можете означити звездицом, пратити и/или "fork"-овати било који јавни репозиторијум на GitHub-у. Ваше означене репозиторијуме можете пронаћи у падајућем менију у горњем десном углу. То је као обележавање, али за код.

Пројекти имају трагач за проблеме, углавном на GitHub-у у картици "Issues", осим ако није другачије назначено, где људи дискутују о проблемима везаним за пројекат. А картица Pull Requests је место где људи дискутују и прегледају измене које су у току.

Пројекти могу имати дискусије у форумима, мејлинг листама или каналима за ћаскање као што су Slack, Discord или IRC.

🔧 Модерне GitHub функције:

  • GitHub Discussions - Уграђени форум за разговоре у заједници
  • GitHub Sponsors - Финансијска подршка одржаваоцима
  • Security tab - Извештаји о рањивостима и безбедносне препоруке
  • Actions tab - Погледајте аутоматизоване радне токове и CI/CD процесе
  • Insights tab - Аналитика о доприносима, комитима и здрављу пројекта
  • Projects tab - Уграђени алати за управљање пројектима на GitHub-у

Погледајте ваш нови GitHub репозиторијум и испробајте неколико ствари, као што су уређивање подешавања, додавање информација у ваш репозиторијум, креирање пројекта (као што је Канбан табла) и подешавање GitHub Actions за аутоматизацију. Постоји много тога што можете да урадите!


🚀 Изазов

Добро, време је да ставите ваше нове GitHub супермоћи на тест! 🚀 Ево изазова који ће учинити да све кликне на најзадовољавајући начин:

Позовите пријатеља (или члана породице који вас увек пита шта радите са свим тим "компјутерским стварима") и упустите се у заједничку авантуру кодирања! Овде се дешава права магија направите пројекат, дозволите им да га "fork"-ују, направите неке гране и спојите измене као професионалци какви постајете.

Нећу да лажем вероватно ћете се смејати у неком тренутку (посебно када обоје покушате да измените исту линију), можда ћете се и мало почесати по глави у конфузији, али дефинитивно ћете имати оне невероватне "аха!" тренутке који чине да се сав труд исплати. Плус, постоји нешто посебно у томе да поделите први успешан merge са неким другим то је као мала прослава вашег напретка!

Још немате партнера за кодирање? Нема проблема! Заједница на GitHub-у је пуна невероватно пријатних људи који се сећају како је било бити новајлија. Потражите репозиторијуме са ознакама "good first issue" они вам у суштини поручују "Хеј почетници, дођите да учите са нама!" Зар то није сјајно?

Квиз након предавања

Квиз након предавања

Преглед и наставак учења

Ух! 🎉 Погледајте вас управо сте савладали основе GitHub-а као прави шампион! Ако вам мозак сада изгледа мало преоптерећен, то је потпуно нормално и искрено добар знак. Управо сте научили алате за које је мени требало недеља да се осећам удобно са њима када сам почео.

Git и GitHub су невероватно моћни (озбиљно моћни), и сваки програмер ког познајем укључујући и оне који сада изгледају као прави мађионичари морао је да вежба и да се мало мучи пре него што је све кликнуло. Чињеница да сте прошли кроз ову лекцију значи да сте већ на путу ка савладавању неких од најважнијих алата у програмерском алатнику.

Ево неких апсолутно фантастичних ресурса који ће вам помоћи да вежбате и постанете још бољи:

И запамтите: пракса чини напредак, а не савршенство! Што више користите Git и GitHub, то ће вам бити природније. GitHub је направио неке невероватне интерактивне курсеве који вам омогућавају да вежбате у безбедном окружењу:

Желите ли да истражите нешто ново? Погледајте ове модерне алате:

Изазов са GitHub Copilot Agent 🚀

Користите Agent мод за завршетак следећег изазова:

Опис: Направите заједнички пројекат веб развоја који демонстрира комплетан GitHub радни ток који сте научили у овој лекцији. Овај изазов ће вам помоћи да вежбате креирање репозиторијума, функције сарадње и модерне Git радне токове у реалном сценарију.

Задатак: Направите нови јавни GitHub репозиторијум за једноставан пројекат "Ресурси за веб развој". Репозиторијум треба да садржи добро структуриран README.md фајл који наводи корисне алате и ресурсе за веб развој, организоване по категоријама (HTML, CSS, JavaScript, итд.). Подесите репозиторијум са одговарајућим стандардима заједнице, укључујући лиценцу, смернице за допринос и кодекс понашања. Направите најмање две гране за функције: једну за додавање CSS ресурса и другу за JavaScript ресурсе. Направите комите за сваку грану са описним порукама комита, а затим направите pull requests за спајање измена назад у главну грану. Омогућите GitHub функције као што су Issues, Discussions и подесите основни GitHub Actions радни ток за аутоматске провере.

Задатак

Ваша мисија, ако је прихватите: Завршите курс Увод у GitHub на GitHub Skills. Овај интерактивни курс ће вам омогућити да вежбате све што сте научили у безбедном, вођеном окружењу. Плус, добићете кул значку када завршите! 🏅

Спремни сте за још изазова?

  • Подесите SSH аутентификацију за ваш GitHub налог (без више лозинки!)
  • Покушајте да користите GitHub CLI за ваше свакодневне Git операције
  • Направите репозиторијум са GitHub Actions радним током
  • Истражите GitHub Codespaces тако што ћете отворити овај репозиторијум у облачној уређивачкој околини

Запамтите: сваки експерт је некада био почетник. Можете ви то! 💪


Одрицање од одговорности:
Овај документ је преведен помоћу услуге за превођење вештачке интелигенције Co-op Translator. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.