ગિટ સાથે તમારી પોતાની વાર્તાઓ લખવી

બધાને નમસ્તે the ઓર્ડર સૂચિના પાઠો ચાલુ રાખતા પહેલા, હું ગિટ 2.16 ના પ્રકાશનની ઉજવણી કરવા માંગુ છું, જેમણે પેચ મોકલ્યો છે તે દરેકને અને વપરાશકર્તાઓમાંના દરેકનો આભાર માનીએ છીએ, કુલ અમારી પાસે અપડેટ્સ અને સુધારણા વચ્ચે 4000 રેખાઓ જેવી હતી , જે મારા પ્રથમ સંસ્કરણ પર ખૂબ બોલતું નથી, પરંતુ તે તમારી દયા વિશે બોલે છે 🙂 આભાર! હવે, હું તમને થોડું રહસ્ય કહીશ, હવે ત્યાં સુધી એવો સમય નથી આવ્યો જ્યારે હું કોઈ લેખ લખવા બેસતો નથી અને તેના વિશે ઘણું વિચાર્યું છું, સામાન્ય રીતે હું હમણાં જ એક પંક્તિમાં લખીશ, અને પછી સારા ગરોળી દયા લે છે મારી ટાઇપિંગ ભૂલોને સુધારો - તેથી તેનો પણ આભાર.

આ શ્રેષ્ઠ નથી જ્યારે આપણે લેખ લખવાની વાત કરીએ, માનવામાં આવે કે તેનો ઉદ્દેશ હોવો જોઈએ અને એક માળખું મૂકવું જોઈએ, અને નાના મુદ્દાઓ અને સમીક્ષાઓ અને વગેરે ચિહ્નિત કરવા જોઈએ ... હવે, આ ફક્ત સામાન્ય રીતે બ્લોગ્સ પર લાગુ થતું નથી, પરંતુ તે જરૂરી છે સ softwareફ્ટવેર કે જે સારું હોવાનો ડોળ કરે છે 🙂 આ કાર્ય માટે, અને કેટલાક વર્ષો પહેલા કર્નલના વિકાસમાં ઉપયોગમાં લેવાતા સંસ્કરણ નિયંત્રણ સ softwareફ્ટવેરમાં કેટલીક સમસ્યાઓ પછી, તેનો જન્મ થયો હતો git 🙂

ક્યાં શીખવું git?

ગિટની આસપાસના દસ્તાવેજોની માત્રા આશ્ચર્યજનક છે, જો આપણે હમણાં જ ઇન્સ્ટોલેશન સાથે આવેલા મેન પેજ લીધાં હોય, તો પણ અમારી પાસે વાંચન ખૂબ જ વધારે છે. હું વ્યક્તિગત રૂપે શોધી શકું છું ગિટ પુસ્તક તદ્દન સારી રીતે રચાયેલ છે, મેં પણ કલમ of ના કેટલાક ભાગોનું ભાષાંતર કર્યું છે, હું હજી પણ થોડા ગુમ કરું છું, પણ મને સમય આપો - કદાચ આ મહિનામાં હું તે વિભાગની બાકીની ભાષાંતર કરી શકું.

ગિટ શું કરે છે?

ગિટ ઝડપી, કાર્યક્ષમ, સરળ અને મોટા પ્રમાણમાં માહિતીને ટેકો આપવા માટે રચાયેલ છે, છેવટે, કર્નલ સમુદાયે તેને તેના સ softwareફ્ટવેર માટે બનાવ્યું છે, જે વિશ્વના મફત સ softwareફ્ટવેરના સૌથી મોટા સંયુક્ત કાર્યોમાંનું એક છે અને સેંકડો છે. એક કોડ બેઝમાં એક કલાકમાં ફાળો જે એક મિલિયન લીટીઓથી વધુ છે.

ગિટ વિશે રસપ્રદ બાબત એ છે કે તે ડેટાના સંસ્કરણોને જાળવવાની રીત છે. ભૂતકાળમાં (અન્ય સંસ્કરણ નિયંત્રણ પ્રોગ્રામ્સ) ઇતિહાસના એક તબક્કે બધી અસ્તિત્વમાં છે તે ફાઇલોના સંકોચન લે છે, જેમ કે એક બેકઅપ. ગિટ જુદો અભિગમ લે છે, જ્યારે commit ઇતિહાસનો એક મુદ્દો ચિહ્નિત થયેલ છે, ઇતિહાસમાં તે બિંદુએ શ્રેણીબદ્ધ ફેરફારો અને કાર્યો કર્યા છે, દિવસના અંતે, બધા ફેરફારો સમય જતાં એક સાથે મૂકવામાં આવે છે અને ફાઇલોને સંકુચિત કરવામાં અથવા તેના લક્ષ્યો તરીકે ચિહ્નિત કરવા માટે પ્રાપ્ત થાય છે આવૃત્તિઓ. હું જાણું છું કે આ બધા અવાજો જટિલ છે, તેથી હું તમને એક સુપર પાયાના ઉદાહરણમાં જાદુઈ પ્રવાસ પર લઈ જઈશ.

લિટલ કેલ્ક્યુલેટીક્સ પ્રોજેક્ટ

કેલ્ક્યુલેમેટીક્સ એક પ્રોગ્રામ હશે જે આપેલ સંખ્યાના ચોરસ શોધી શકશે, અમે તે સીમાં કરીશું અને તે શક્ય તેટલું સરળ હશે, તેથી મારી પાસેથી ઘણી સુરક્ષા તપાસની અપેક્ષા રાખશો નહીં. પહેલા આપણે એક ભંડાર બનાવવાની છે, હું એક પત્થરથી બે પક્ષીઓને મારી નાખવા ગીથુબ સાથે કરીશ:

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

અમે લાઇસન્સ જેવી ઘણી સરળ વસ્તુઓ ઉમેરી છે (જો તમે તમારા કાર્યને સુરક્ષિત કરવા માંગતા હોવ તો ખૂબ જ મહત્વપૂર્ણ, મારા કિસ્સામાં, જો તેઓ તેનો આધાર તરીકે ઉપયોગ કરવા માંગતા હોય તો પરિણામ શેર કરવા દબાણ કરો: પી)

ચાલો હવે આપણા પ્રિય ટર્મિનલ પર જઈએ, git clone એ આદેશ છે કે જે સ્થિત થયેલ રીપોઝીટરીને ડાઉનલોડ કરવા માટે જવાબદાર છે url સોંપેલ છે અને આપણા કમ્પ્યુટર પર સ્થાનિક ક createપિ બનાવો.

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

હવે સાથે તપાસો git log અમારા પ્રોજેક્ટના ઇતિહાસમાં શું બન્યું છે:

અહીં અમારી પાસે વિવિધ રંગોમાં ઘણી બધી માહિતી છે - ચાલો આપણે તેને સમજાવવાનો પ્રયત્ન કરીએ:

પ્રથમ પીળી લીટી એ "કમિટ બારકોડ" છે દરેક કમિટનો પોતાનો એક અનોખો ઓળખકર્તા હોય છે, જેની સાથે તમે થોડી વસ્તુઓ કરી શકો છો, પરંતુ અમે તેને પછીથી સાચવીશું. હવે અમારી પાસે છે HEAD સેલેસ્ટ અને master લીલા. આ તે "પોઇન્ટર" છે જેનું કાર્ય આપણા ઇતિહાસના વર્તમાન સ્થાન પર નિર્દેશિત કરવાનું છે (HEAD) અને જે શાખા અમે આપણા કમ્પ્યુટર પર કાર્ય કરી રહ્યા છીએ (master).

origin/master ઇન્ટરનેટનો પ્રતિરૂપ છે, origin ડિફ defaultલ્ટ નામ છે જે આપણને સોંપેલ છે URLઅને master તે શાખા છે જેમાં તમે કામ કરી રહ્યાં છો ... તેને સરળ રાખવા માટે, જેમની પાસે એ / તે છે જે અમારી ટીમમાં નથી, પરંતુ ઇન્ટરનેટ પર જે છે તેના સંદર્ભો છે.

પછી અમારી પાસે લેખક, તારીખ અને સમય અને પ્રતિબદ્ધતા સારાંશ છે. ઇતિહાસમાં તે સમયે જે બન્યું તેની આ એક નાનકડી સમીક્ષા છે, ઘણા પ્રોજેક્ટ્સમાં તે ખૂબ જ મહત્વપૂર્ણ છે અને ઘણી માહિતીની નિંદા કરવામાં આવી છે. ચાલો આદેશ સાથેની પ્રતિબદ્ધતામાં શું બન્યું તેની નજીકથી નજર કરીએ git show <código-de-commit>

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

ગિટ શો કમાન્ડ અમને પેચ ફોર્મેટમાં આ સ્ક્રીન પર લઈ જશે, જ્યાં તમે જોઈ શકો છો કે ઇતિહાસમાં તે સમયે શું ઉમેરવામાં આવ્યું હતું અને શું દૂર કરવામાં આવ્યું હતું (જો કંઈક કા removedી નાખ્યું હોત), તો હજી સુધી તે ફક્ત અમને બતાવે છે કે રેકોર્ડ્સ .gitignore,README.mdLICENSE.

ચાલો હવે વ્યવસાય તરફ નીચે ઉતારીએ, ચાલો એક ફાઇલ લખો - આપણે આપણા ઇતિહાસનો પ્રથમ માઇલસ્ટોન બનાવીશું 😀:

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

સંક્ષિપ્તમાં, અમે એક પ્રોગ્રામ બનાવવા જઈ રહ્યા છીએ જે આપણને સરળ 🙂 ચલાવતા સમયે પસાર થતી દલીલોની સંખ્યા દર્શાવે છે

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

તે સરળ હતું - હવે ચાલો નીચે આપેલ ઉપયોગી આદેશ જોઈએ: git status

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

કેટલાક દયાળુ આત્માએ તેનું અનુસરવાનું સરળ બનાવવા માટે ગિટનું ભાષાંતર કર્યું છે, અહીં આપણી પાસે ઘણી ઉપયોગી માહિતી છે, આપણે જાણીએ છીએ કે આપણે માસ્ટર શાખામાં છીએ, જેની સાથે અમે અપડેટ થયા છીએ origin/master(ગિથબ શાખા), અમારી પાસે અનટ્રેક કરેલી ફાઇલો છે! અને તે ઉમેરવા માટે અમારે ઉપયોગ કરવો પડશે git add, ચાલો પ્રયત્ન કરીએ 🙂

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

હવે આપણી પાસે નવી લીલી જગ્યા છે, જેમાં આપણે કાર્ય ક્ષેત્રમાં ઉમેર્યું છે તે ફાઇલ પ્રદર્શિત થાય છે. આ જગ્યાએ આપણે પ્રતિબદ્ધતા કરવામાં સક્ષમ થવા માટે અમારા ફેરફારોને જૂથબદ્ધ કરી શકીએ છીએ, પ્રતિબદ્ધતામાં આપણા પ્રોજેક્ટના સમગ્ર ઇતિહાસમાં એક સીમાચિહ્ન સમાયેલ છે, અમે પ્રતિબદ્ધતા બનાવીશું 🙂 git commit

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

સંક્ષિપ્તમાં સમજાવ્યું, પીળી લીટી એ આપણી કટિબદ્ધતાનું શીર્ષક છે, હું ફક્ત દ્રશ્ય સંદર્ભ માટે મેઇન.સી. કાળો ટેક્સ્ટ એ પાછલા કમિટથી અત્યાર સુધી કરવામાં આવેલા ફેરફારોનું ખુલાસો છે - આપણે ફાઇલ સાચવીએ છીએ અને આપણે રજિસ્ટ્રીમાં આપણી કટિબદ્ધતા જોશું.

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

હવે અમે આ સાથે અમારા પ્રોજેક્ટનો ઇતિહાસ જોવા જઈશું git log

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

ફરીથી લ Againગમાં, હવે આપણે જોઈ શકીએ કે લીલી અને લાલ લીટીઓનો તફાવત છે, આ તે છે કારણ કે આપણા કમ્પ્યુટર પર, આપણે ઇન્ટરનેટ પર સંગ્રહિત કરતા ઉપર એક પ્રતિબદ્ધ છીએ - આપણે કામ ચાલુ રાખીએ છીએ, ધારો કે હવે હું બતાવવા માંગું છું સંદેશ કેસમાં વપરાશકર્તા પ્રોગ્રામમાં એક કરતા વધુ દલીલો મૂકે છે (જે કેલ્ક્યુલેટરને મૂંઝવણમાં મૂકે છે 🙂)

આપણે જોઈ શકીએ છીએ, આપણો પ્રોગ્રામ ઘણો વધ્યો છે, હવે આપણું ફંક્શન છે imprimir_ayuda() જે ગણતરીઓનો ઉપયોગ કેવી રીતે કરવો તે પર અને બ્લોકમાં સંદેશ દર્શાવે છે main() હવે અમે સાથે સમીક્ષા કરીએ છીએ if(કંઈક કે જે આપણે બીજા સમયે પ્રોગ્રામિંગ ટ્યુટોરિયલમાં જોશું, હમણાં તે જાણવું જરૂરી છે કે જો કેલ્ક્યુલેમેટિક્સમાં 2 થી વધુ દલીલો દાખલ કરવામાં આવે છે, તો પ્રોગ્રામ સમાપ્ત થાય છે અને સહાય પ્રદર્શિત થાય છે. ચાલો તેને એક્ઝીક્યુટ કરીએ:

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

જેમ તમે જોઈ શકો છો, હવે તે દલીલોની સંખ્યાને બદલે વિતરિત થયેલ નંબરને છાપે છે, પરંતુ વિચિત્ર માટે મેં તમને પહેલાં કહ્યું નહોતું echo $? એક્ઝિક્યુટ કરેલા છેલ્લા પ્રોગ્રામનો એક્ઝિટ કોડ બતાવે છે, જે છે 1 કારણ કે તે ભૂલથી સમાપ્ત થઈ ગયું છે. હવે ચાલો સમીક્ષા કરીએ કે અમારી વાર્તા કેવી રીતે જાય છે:

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

હવે આપણે જાણીએ છીએ કે ફાઈલ, આપણે ગીથબની આગળ 1 પ્રતિબદ્ધ છીએ main.c સુધારી દેવામાં આવ્યો છે, ચાલો આગળની કમિટ બનાવીને કરીએ git add main.c  અને પછી git commit🙂

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

હવે આપણે થોડું વધારે વિશિષ્ટ રહીએ છીએ, કારણ કે આપણે ફંકશન લાગુ કર્યું છે અને માન્યતા કોડમાં ફેરફાર કર્યો છે. હવે તે સાચવવામાં આવ્યું છે, ચાલો આપણે આપણા છેલ્લા ફેરફારની સમીક્ષા કરીએ. આપણે તેની સાથે જોઈ શકીએ છીએ git show HEAD

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

હવે તમે લાલ અને લીલી લીટીઓ જોઈ શકો છો, અમે પુસ્તકાલય ઉમેર્યું છે stdlib.h, ઘણા કોડમાં ફેરફાર કર્યા અને અમારી વાર્તામાં કાર્ય ઉમેર્યું.

હવે અમે લોગ જોવા જઈ રહ્યા છીએ: (git log)

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

આપણે જોઈ શકીએ છીએ કે ગીથબ વર્ઝન કરતા આપણે બે કમિટ્સ કરીયે છીએ, અમે માર્કરને થોડી બરાબર કરીશું - તેના માટે આપણે ઉપયોગ કરીએ છીએ git push origin master

આ સાથે અમે કહીએ છીએ, મારા કમિટ્સને યુઆરએલ પર મોકલો origin શાખા પર master

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

અભિનંદન! હવે તમારા ફેરફારો ગીથબ પર છે, શું તમે મને વિશ્વાસ નથી કરતા? ચાલો તેની સમીક્ષા કરીએ 😉

પોતાની. ક્રિસ્ટોફર ડાયઝ રિવરોઝ

હવે અમારી પાસે ગીથબ 🙂 પર 3 કમિટ છે

સારાંશ

અમે સૌથી મૂળભૂત પાસાંઓને સ્પર્શ્યા છે git, હવે તેઓ તેમના પ્રોજેક્ટ્સમાં એક સરળ વર્કફ્લો બનાવી શકે છે, આ બધી વસ્તુઓની વિવિધતામાંથી લગભગ કંઈ નથી જે ગિટ સાથે થઈ શકે છે, પરંતુ વિકાસકર્તા અથવા બ્લોગર માટે તે ચોક્કસપણે સૌથી વ્યવહારિક અને રોજિંદા વસ્તુ છે. અમે કેલ્ક્યુલેટરના અંત સુધી પહોંચ્યા નથી, પરંતુ અમે છોડી દઈશું મોમેન્ટો અહીં આવવા માટે ખૂબ ખૂબ આભાર અને મને આશા છે કે તે તમને અનેક પ્રોજેક્ટ્સમાં ભાગ લેવામાં મદદ કરશે et શુભેચ્છાઓ


7 ટિપ્પણીઓ, તમારી છોડી દો

તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.

  1.   પાબ્લો જણાવ્યું હતું કે

    હાય ... મને ખબર નથી કે તમે છો કે નહીં, પરંતુ હું આ અહેવાલમાં છબીઓને જોઈ શકતો નથી ...

    સાદર

  2.   પાબ્લો જણાવ્યું હતું કે

    તે મારા બ્રાઉઝરમાં સમસ્યા હતી. અસુવીધી બદલ માફી.

  3.   ટેકપ્રોગ વર્લ્ડ જણાવ્યું હતું કે

    મારે હજી તેને વધુ વિગતવાર વાંચવું પડશે, હું નવી છું.

  4.   ગુઈલેર્મો જણાવ્યું હતું કે

    ગિટ સાથે પ્રારંભ કરવા માટે ઉત્તમ લેખ, જો કે હું વિગતવાર સમજવા માટે નોંધ લેવાની ભલામણ કરું છું.
    કેટલીક બાબતો મારા માટે સ્પષ્ટ થઈ નથી:
    શું માટે વિકલ્પ છે .Gitignore સી ઉમેરોતેમ છતાં હું માનું છું કે હું તેનો અભ્યાસ કરું છું ત્યારે,
    આગલી ગિટ કમિટ કરતા પહેલા તમારે ગિટ mainડ મેઇન.સી.ને ફરીથી કેમ કરવું પડશે, મેઇન.એક ફાઇલને નેટવર્ક વર્ઝન સાથે તુલના કરવાનું કહો છો? શું તે ટ્રેકિંગ માટે બધી ઉમેરવામાં આવેલી ફાઇલોની આપમેળે સરખામણી કરતું નથી?

    1.    ક્રિસાડઆર જણાવ્યું હતું કે

      હેલો ગિલ્લેર્મો - તમારા સવાલોના જવાબો આપવા માટે, તે તમને ઉપયોગી લાગ્યું તે સારું છે:

      .gitignore એ એક ફાઇલ છે જે ગિટને કહે છે કે કયા ફોર્મેટ્સ અથવા દાખલાઓને અવગણવા જોઈએ, આ કિસ્સામાં સી પસંદ કરવાથી .o ફાઇલોને અવગણવાનું કારણ બને છે અને સંકલન સમયે ઉત્પન્ન થયેલી અન્ય, જે સારી છે કારણ કે અન્યથા તમારી ગિટ દરેક સંકલનમાં તરત ઉન્મત્ત થઈ જાય છે. અને ફોલો-અપ - તમે બિલાડી કરીને અથવા ટેક્સ્ટ સંપાદક દ્વારા તેના સી ટેમ્પલેટમાં મોટા પ્રમાણમાં બંધારણો બંધ કરી શકો છો.

      તેમ છતાં, ગિટ કાર્યકારી વૃક્ષમાં ઉમેરવામાં આવેલી દરેક ફાઇલનો ટ્ર trackક રાખશે, તે વિશેષરૂપે તે પસંદ કરવાનું જરૂરી છે કે કઈ ફાઇલો આગામી પ્રતિબદ્ધતામાં પ્રવેશ કરશે, એક ઉદાહરણ આપવા માટે, ચાલો ધારો કે તમારું કાર્ય તમને સક્ષમ થવા પહેલાં 5 જુદી જુદી ફાઇલોમાં ફેરફાર કરવા માટે દોરી ગયું છે પરિણામ જોવા માટે. જો તમે થોડી વધુ વિશિષ્ટ બનવા માંગતા હો અને દરેકમાં શું થાય છે તે સમજાવવા માંગતા હો, તો તમે git fileડ ફાઇલ1 કરી શકો છો; ગિટ કમિટ; ગિટ એડ ફાઇલ 2; ગિટ કમિટ… .3,4,5; ગિટ કમિટ આ રીતે તમારી વાર્તા સ્વચ્છ છે અને ફેરફારોની વ્યાખ્યા સારી છે. અને જો તમારે કંઈક બદલવું પડશે, અથવા પાછું ફેરવવું પડશે (વધુ પ્રગત વિષયો) તમે વિશિષ્ટ વસ્તુઓ પરિવર્તિત કરી શકો છો અથવા બાકીની વસ્તુઓને બદલ્યા વિના ચોક્કસ વસ્તુઓ ઉમેરી શકો છો.

      આશા છે કે તે મદદ કરશે 🙂 શુભેચ્છાઓ અને પૂછવા માટે આભાર

    2.    ક્રિસાડઆર જણાવ્યું હતું કે

      પીએસ: ગિટ એડ એ નેટવર્ક પરના સંસ્કરણ સાથે તુલના કરવાનું કહેતું નથી, પરંતુ તમારી કાર્યની લાઇનમાં અગાઉની પ્રતિબદ્ધતા સાથે, જો તે સ્થાનિક (લીલું) રહ્યું હોય, તો તે તેની સાથે તેની તુલના કરશે, જો તે દૂરસ્થ હોય (લાલ) ) તે અન્ય સાથે સરખામણી કરશે. ફક્ત સ્પષ્ટ કરવા 😉

      1.    ગુઈલેર્મો જણાવ્યું હતું કે

        પરફેક્ટ, અલબત્ત તે સ્પષ્ટ કરે છે.