Git ගැන හැමදේම - පළමු කොටස

siri_ayya

Well-known member
  • Feb 1, 2022
    16,966
    1
    29,885
    113
    Thank you for the valuable content

    git ප්‍රශ්නයක් තියෙනව.

    මන් ප්‍රොජෙක්ට් එකක් කරනව කියමුකො. හැමදාම කොමිට්ස්(local) කරනව, ඒත් පුශ් කරන්නෙ මාසෙ අන්තිමට. එත්කොට ගිට් හබ් එකේ මගෙ activity overview වලට මන් හැමදාම කොමිට්ස් කලා කියල වැටෙනවද? නැත්තන් මාසෙ අන්තිම ඇක්ටිවිටි එක විතරද වැටෙන්නෙ?
    ------ Post added on Oct 17, 2022 at 1:00 AM
    Local commits වල commit කරපු වෙලාව තියෙනව නේ.. ඒ නිසා මාසේ අන්තිමට push කරත් actvity overview එකේ හැමදාම commit කරා කියල පෙන්නන්නේ..

    ඔයා මාසෙට පාරක් push කරනවා කියන්නෙ ඕක ඔයා විතරක් වැඩ කරන ප්‍රොජෙක්ට් එකක් වෙන්න ඕන.. එහෙම වුණත් දවසට සැරයක් හරි push කරන එක තමා හොඳ.. මොකද ඔයාගේ changes වල latest copy එකක් හැමතිස්සෙම remotely available නේ එතකොට..
     

    NEMISIS

    Well-known member
  • Nov 13, 2013
    11,400
    19,547
    113
    Colombo
    Thank you for the valuable content

    git ප්‍රශ්නයක් තියෙනව.

    මන් ප්‍රොජෙක්ට් එකක් කරනව කියමුකො. හැමදාම කොමිට්ස්(local) කරනව, ඒත් පුශ් කරන්නෙ මාසෙ අන්තිමට. එත්කොට ගිට් හබ් එකේ මගෙ activity overview වලට මන් හැමදාම කොමිට්ස් කලා කියල වැටෙනවද? නැත්තන් මාසෙ අන්තිම ඇක්ටිවිටි එක විතරද වැටෙන්නෙ?
    ------ Post added on Oct 17, 2022 at 1:00 AM
    oka github eke feature ekak neh, github ekata push karata passe thamai activity eka update wenne.
    View attachment 187178

    SUBVERSION FOR LIFE අපි පරන මිනිස්සු, :D
    Subversion works until you want to merge something…..😝
     
    • Love
    Reactions: thrindo

    HAneo

    Well-known member
  • Jan 30, 2007
    12,970
    29,168
    113
    Homagama
    ආයුබෝවන් කිරි වැසියෝ හැමෝටම..මේ thread එකෙන් අපි කතා කරන්නේ git කියන්නේ මොකක්ද , එක ඕන වෙන්නේ අයි , සහ එක use කරන්නේ කොහොමද කියන දේවල් ගැන..

    විශේෂයෙන් කියන්ටෝන මේක @HAneo මැතිතුමා ගේ #එකටගොඩයමු මෙහෙයුමට අනුපුරකයක් (supplementary ) විදිහට පලකරන නුලක්..ඒ ගැන හානියෝ මහතාටත් ස්තුති කරන ගමන් අපි වැඩේට බහිමු..

    මොකක්ද git කියන්නේ?

    git කියන්නේ version control system එකක්..ගොඩක් සරලව කිව්වොත් digital file එකක versions manage කරගන්න උදව් වෙන ටූල් එකක් ..

    versions manage කරනවා කියන එක තව ටිකක් පැහැදිලි කරන්න පුලුවන්ද?

    එල..අපි පාවිච්චි කරන ඕනෑම file එකක් අපි change කරනවා නේ..එහෙම file එකකට change එකක් කරාම අන්තිම output එක අර file එකේ version එකක් කියල කියන්නේ..

    උදාහරණයකට අපි හිතමු ඔයාගේ computer එකේ ඔයා sample.txt නමෙන් new Text Document එකක් හදනවා කියල ..ඒක ඒ file එකේ first version එක..

    දැන් ඔයා ඒ file එක open කරල මොනවහරි ටයිප් කරලා save කරනවා..දැන් තියෙන text file එකට අපි කියනවා sample.txt file එකේ second version එක කියලා..ඔයා ආයෙම ඒ file එක edit කරල save කරොත් එතකොට sample.txt file එකේ අලුත් version එකක් තමයි හැදෙන්නේ ..

    git වලින් කරන්නේ මේ විදිහට හැදෙන versions, පිළිවෙලට system එකක track කරලා තියාගන්න එක..එතකොට අපිට file versions අතරේ ඕන ඕන විදිහට මාරු වෙන්න පුළුවන්..

    හරි..එත් මට දැනගන්න පුලුවන්ද ඇත්ත ලෝකෙදි git use වෙන විදිහ ගැන ?

    ok ..දැන් ඔයා හිතන්න ඔයා මොකක්හරි ලොකු software එකක වැඩ කරන කෙනෙක් ..files දහස් ගානක් තියෙන app එකක් ..මේ app එකේ ඔයාට ඕන වෙනවා අලුතින් feature එකක් එකතු කරන්න..ඉතින් ඔයා එකට ඔයාට හරි කියල හිතෙන විදිහට වැඩ දාලා code එකත් ලියනවා කියලා අපි හිතමු..මේ වැඩේ දී files 10ක් 15ක් විතර සෑහෙන change වෙනවා කියලත් හිතමු කෝ ..

    ඔන්න දැන් ඔයා code එක ටිකක් ගහල රෑ වෙලා නිසා edit කරපු files ටික save කරල ide එකත් close කරල නිදාගන්නවා..හැබැයි ඔයාට පහුවෙනිදා උදේ කල්පනා වෙනවා ඒ code එක ලියපු විදිහ sampurna වැරදියි කියල..දැන් මොකද කරන්නේ ..files undo කරන්නත් විදිහක් නෑ ..දැන් ඔයාට සිද්ද වෙනවා කරපු සේරම changes manually බල බලා ain කරන්න..

    හැබැයි එහෙම කරලත් වැඩේ හරියයිද sure නෑ ..මොකද ඔයාට සමහර files වල මොනවද edit වුනේ කියල හරියටම මතක නැති වෙන්න පුළුවන්..එහෙම සීන් එකකදී ඔයාට වැඩ දෙකක් සෙට් වෙනවා ..එකක් ara kalin raa ලියපු code එක undo කරන්න ඕන ..දෙවෙනියට එහෙම undo කරලා හදාගත්ත repo එක ඇත්තටම වැඩ ද කියලත් බලන්න ඕන ..

    හැබැයි ඔයා ඔයාගේ project එක git වලින් manage කරන්න set කරගෙන තිබුන නම් ඔය කිසි කරදරයක් නෑ ..එක command එකෙන් සේරම කරපු changes undo වෙලා project එක තිබ්බ තත්වෙටම එනවා ..:P

    මරු නේ..ඕක use කරන්න පුළුවන් software සීන් එකේ ඉන්න අයට විතරද?

    අපෝ නෑ ..හිතන්න ඔයා novel ලියන කෙනෙක් කියල .. එහෙමත් නැත්නම් latex document එකක් ලියන scientist කෙනෙක් කියල .. ඔය මොන file එක වුනත් git වලින් මන් කලින් කියපු විදිහට track කරගන්න පුලුවන් ..

    එහෙනම් graphic design files,images එහෙමත් track කරන්න පුළුවන් ඇති නේද ?

    අන්න ඒවා නම් බෑ පුතේ.. git වලින් images, .psd files track කරන එක නම් එච්චර scalable වැඩක් නෙවෙයි..documents related ඕන file එකක version manage කරගන්න නම් git පංකාදු පහයි..

    හරි අපි දැන් දන්නවනේ git කියන්නේ මොකක්ද කියලා..අපි practical example එකක් බලමුද දැන් ?

    එළම..සේරටම කලින් මෙන්න මේ tutorial එක බලාගෙන මුලින්ම ඔයාගේ computer එකේ git setup කරගෙන ඉන්ටකෝ :)

    https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

    install කරගත්තට පස්සේ බලන්න ඕනේ අපිට command prompt එකෙන් git access කරන්න පුලුවන්ද කියලා ..ඒකට command prompt එකක් open කරලා git කියලා type කරල enter කරන්න..එතකොට මෙන්න මෙහෙම පටන් ගන්න එකක් වැටෙනවා නම් ඒ කියන්නේ ඔයාගේ computer එකේ git install වෙලා තියෙන්නේ දැන්..



    ඊට පස්සේ ?

    දැන් git install වෙලා නිසා අපෙ වැඩේට බහින්න පුළුවන්..

    මුලින්ම ඔයා කැමති තැනක හදාගන්න folder එකක් කැමති නමකින් ..මන් මගේ macbook එකේ Desktop එකේ හදාගන්නවා GitTest කියල folder එකක් ..ඊලග steps ඔක්කොටම මන් example එක විදිහට use කරන්නේ මේ folder එක ..

    දැන් මේ folder එක ඇතුලේ හදන්න text files කීපයක්..text ම වෙන්න ඕනේ නෑ word file එකක් , excel file එකක් උනත් කමක් නෑ ..ඒ හදාගත්ත files වල මොන මොනවහරි ලියල save කරන්න..

    හරිද? ඔන්න දැන් අපි ගාව තියෙනව අපේ project එකේ initial version එක..දැන් අපි git වලට කියන්න ඕනේ මේ folder එකේ files වලට ඉස්සරහට කරන changes track කරන්න කියල..

    මේ වැඩේට git ට අපේ project එක සම්බන්ධ information store කරගන්න තැනක් අපි හදල දෙන්න ඕනේ අපේ project එක ඇතුළේ ..ඒක අපි කරන්නේ අපේ project එකේ git initialize කරන එකෙන්. :yes:

    command prompt එකෙන් ඔයාගේ folder එකට ගිහින්, git init ගහලා git initialize කරගන්න පුළුවන්..



    එතකොට එයි මෙහෙම output එකක්.. මේක ආවා කියන්නේ වැඩේ හරි ..

    Initialized empty Git repository in /Users/OpenSourceIsTheWay/Projects/GitTest/.git/

    මේ විදිහට අපිට අපේ project එකට git දාගන්න පුළුවන් ..හැබැයි ඒ මදි ..අපි තෝර ගන්න ඕනේ git ට track කරන්න බාර දෙන්න ඕනේ මොන files ද කියලා..එකට වෙනම command එකක් තියෙනව ..එක තමා git add..

    ඔයාගේ folder එකේ ඉඳන් command prompt එකේ run කරන්න..



    මේ command එකෙන් අපි git ට බාර දෙන්න ඕනේ files ටික තෝරා ගන්නවා..(මෙතෙන්දි නම් අපේ folder එකේ තියෙන සේරම files මන් තෝරා ගන්නවා..dot එකෙන් කියන්නේ folder එකේ තියෙන සේරම තෝරාගන්න කියල )

    මෙහෙම files තෝරාගන්න එකට අපි කියන්නේ stage කරනවා කියල..දැන් අපේ folder එකේ සේරම files තියෙන්නේ staged area එකේ ..

    දැන් අපිට පුළුවන් තෝරා ගත්ත (stage කරපු) files ටික git ට බාර දෙන්න.. එකටත් වෙනම command එකක් තියෙනව..එක තමයි git commit කියන්නේ..

    ඔයාගේ folder එකේ ඉඳන් command prompt එකේ run කරන්න මේ command එක…



    දැන් ඔයාල බලනවා ඇති අර මොකක්ද -m එකක් ගහල කරේ කියලා..අපි git ට files බාර දෙනකොට ඒ බාරදෙන දේවල් ගැන පොඩි විස්තරයක් එක්ක තමයි බාර දෙන්න ඕන..ඒ විස්තරය තමයි අපි -m ගහල “” ඇතුලේ enter කරන්නේ ..

    ඔන්න දැන් අපේ project setup එක හරි …දැන් තමයි git ගේ නියම වැඩ කෑලි ටික පටන් ගන්න යන්නේ ..but සමහර අයට මේ ටිකත් too complex වෙන්න පුළුවන් ..විශේෂයෙන් command prompt එක පාවිච්චි කරලම නැති අයට ..ඒ අයවත් ඇදගෙන යන්න ඕන නිසා අපි අදට මෙතනින් නවත්වමු.. හෙට ත්‍රෙඩ් එකෙන් බලමු git වලින් අපේ project එකේ දාන්න පුළුවන් වැඩ කෑලි මොනවද කියලා..:P

    මේකේ විස්තර කරලා තියෙන දේවල් වල අපැහැදිලි තැනක් හරි ඉස්සරහට tutorials improve කරන්න suggestions හරි තියෙනවා නම් අනිවාර්යෙන් ම comments වලින් කියන්න :)

    හැමෝටම සුබ දවසක් 🙏

    #එකටගොඩයමු
    මචන් මම මේක අර ත්‍රෙඩ් එකේ ඇමිනුව. එළමකිරි හොදේ :love: :love: :love:
     

    NEMISIS

    Well-known member
  • Nov 13, 2013
    11,400
    19,547
    113
    Colombo
    මං දැන් google කරලා බැලුවෙ මචන්.. Excel files කියන්නෙ binary files ජාතියක් නිසා track කරන්න බැරි ලු..:baffled:
    මචන් එක්සෙල් ෆයිල් පුලුවන්
    ප්‍රශ්නෙ තියෙන්න කෝඩ් වගේ merge කරන්න බැහැ. මොකද ඇතුලෙ තියන කන්ටෙන්ට් එක බලලා අපිට merge කරන්න සහ කන්ෆ්ලික්ට් රිසෝල්ව් කරන්න බැරි නිසා
    තනි කෙනෙක්ට එක්සෙල් ෆයිල් එකක චේන්ජස් වර්ශන් කරගන්න කිසිම අවුලක් නැතිව ගිට් යූස් කරන්න පුලුවන්

    කීප දෙනෙක්ට උනත් කරන්න පුලුවන් හැබැයි අපිට මැනුවලි කන්ෆ්ලික්ට් රිසෝල්ව් කරන්න බැරි නිසා දෙතුන් දෙනෙක් එක සැරේ එඩිට් කරලා කන්ෆ්ලික්ල් එකක් ආවොතින් කාගෙ හරි චේන්ජස් නැති වෙන විදියට merge කරන්න වෙනවා
     

    danne na

    Well-known member
  • Apr 9, 2021
    216
    322
    63
    Sri Lanka
    මචන් එක්සෙල් ෆයිල් පුලුවන්
    ප්‍රශ්නෙ තියෙන්න කෝඩ් වගේ merge කරන්න බැහැ. මොකද ඇතුලෙ තියන කන්ටෙන්ට් එක බලලා අපිට merge කරන්න සහ කන්ෆ්ලික්ට් රිසෝල්ව් කරන්න බැරි නිසා
    තනි කෙනෙක්ට එක්සෙල් ෆයිල් එකක චේන්ජස් වර්ශන් කරගන්න කිසිම අවුලක් නැතිව ගිට් යූස් කරන්න පුලුවන්

    කීප දෙනෙක්ට උනත් කරන්න පුලුවන් හැබැයි අපිට මැනුවලි කන්ෆ්ලික්ට් රිසෝල්ව් කරන්න බැරි නිසා දෙතුන් දෙනෙක් එක සැරේ එඩිට් කරලා කන්ෆ්ලික්ල් එකක් ආවොතින් කාගෙ හරි චේන්ජස් නැති වෙන විදියට merge කරන්න වෙනවා
    csv format එකෙන් පුලුවන්. Formula maintain කරන්න බැහැ එහෙම කරාම.
     
    • Love
    • Like
    Reactions: HAneo and siri_ayya