ഗിറ്റ് #3 - റിമോട്ട് റെപ്പോസിറ്ററികൾ

ബാലശങ്കർ സി on 27 ആഗസ്റ്റ്, 2017

കഴിഞ്ഞ ലക്കത്തിന്റെ അവസാനം പറഞ്ഞിരുന്നത് ഇത്തവണ കമ്മിറ്റുകൾ തിരുത്തുന്നതിനെ പറയാമെന്നാണ്. പക്ഷേ, കമ്മിറ്റുകൾ തിരുത്തുന്നത് മറ്റു പലതിനേയും ബാധിക്കും എന്നതുകൊണ്ട് വേറേ കുറച്ച് കാര്യങ്ങൾ ആദ്യം പറയേണ്ടതുണ്ട്. അതിൽ പ്രധാനപ്പെട്ടതാണ് റിമോട്ട് റെപ്പോസിറ്ററികൾ.

ഈ പരമ്പരയുടെ ആമുഖത്തിൽ പറയുകയുണ്ടായി ഗിറ്റ് സഹകരണപരമായ വികസനത്തിനുവേണ്ടിയുള്ള ഒരു വികേന്ദ്രീകൃത പതിപ്പ് കൈകാര്യ ഉപകരണമാണെന്ന്. അതായത് ഒന്നിലധികം പേർക്ക് സഹകരണപരമായി ഒരേ സമയം ജോലി ചെയ്യാൻ സഹായിക്കുന്ന ഒരു സോഫ്റ്റ്‌വെയർ. കഴിഞ്ഞ ലക്കങ്ങളിൽ നമ്മൾ കണ്ടത് നമ്മുടെ കമ്പ്യൂട്ടറിൽ തന്നെ ഒരു ഗിറ്റ് റെപ്പോ നിർമ്മിച്ച് അതിൽ എങ്ങനെ മാറ്റങ്ങൾ വരുത്താം എന്നായിരുന്നു. പക്ഷേ, ഒരേ സമയം കുറേ ആളുകൾക്ക് ഉപയോഗിക്കണം എന്നുണ്ടെങ്കിൽ എല്ലാവർക്കും ലഭ്യമായ ഒരു സ്ഥലത്തായിരിക്കണം റെപ്പോ ഉണ്ടാവേണ്ടത്. അതിനുള്ള ഏറ്റവും എളുപ്പ വഴി റെപ്പോ ഇന്റർനെറ്റിൽ ലഭ്യമാക്കുക എന്നാണ്. ഇന്റർനെറ്റിൽ ഗിറ്റ് സേവനം നൽകുന്ന ഒട്ടേറെ സേവനദാതാക്കൾ ഉണ്ട്. ഗിറ്റ്‌ലാബ്, ഗിറ്റ്‌ഹബ്, ബിറ്റ്ബക്കറ്റ് എന്നിവ ചില ഉദാഹരണങ്ങൾ മാത്രം. ഈ സേവനങ്ങൾ ഉപയോഗിച്ച് നമുക്ക് ഇന്റർനെറ്റിൽ ഒരു ഗിറ്റ് റെപ്പോ നിർമ്മിക്കുകയും, അതിലേക്ക് നമ്മുടെ കൂട്ടാളികളെ ചേർക്കുകയും ചെയ്യാൻ സാധിക്കും. ഇതിനായി ആദ്യം ചെയ്യേണ്ടത് മേൽപ്പറഞ്ഞ ഏതെങ്കിലും സേവനത്തിൽ ഒരു അക്കൗണ്ട് നിർമ്മിക്കുക എന്നതാണ്.

ഞാനിവിടെ ഉദാഹരണമായി എടുക്കുന്നത് ഫ്രീ സോഫ്റ്റ്‌വെയർ സൊസൈറ്റി ഓഫ് ഇന്ത്യ എന്ന കൂട്ടായ്മ പരിപാലിക്കുന്ന ഒരു സേവനമാണ്. ഗിറ്റ്‌ലാബ് എന്ന സോഫ്റ്റ്‌വെയറിന്റെ സ്വതന്ത്ര പതിപ്പുപയോഗിച്ചാണ് ഈ സേവനം പ്രവർത്തിക്കുന്നത്. ഇവിടെ ഒരു അക്കൗണ്ട് തുടങ്ങാനായി, https://git.fosscommunity.in/users/sign_up എന്ന വിലാസത്തിൽ ചെന്ന് വിവരങ്ങൾ നൽകിയാൽ മതിയാവും.

രജിസ്റ്റർ ചെയ്യാൻ വിവരങ്ങൾ നൽകുക

അക്കൗണ്ട് നിർമ്മിക്കാനായി നിങ്ങൾ നൽകിയ ഈമെയിൽ ഐഡിയിലേക്ക് ഒരു ഉറപ്പാക്കൽ സന്ദേശം വരും. അതിൽ കൊടുത്തിട്ടുള്ള കണ്ണിയിൽ ക്ലിക്ക് ചെയ്താൽ നിങ്ങൾക്ക് അക്കൗണ്ട് ഉപയോഗിച്ച് തുടങ്ങാവുന്നതാണ്. ലോഗിൻ ചെയ്താൽ താഴെ കാണുന്ന പോലുള്ള ഒരു സ്ക്രീനിലേക്ക് നിങ്ങൾ എത്തിച്ചേരും.

പ്രൊജക്റ്റ് നിർമ്മിക്കുക

അതിലുള്ള “New Project” എന്ന ബട്ടൺ അമർത്തിയാൽ പുതിയ ഒരു പ്രൊജക്റ്റ് തുടങ്ങാനുള്ള ഫോം നിങ്ങൾക്ക് കാണാം. അവിടെ നിങ്ങളുടെ പ്രൊജക്റ്റിന്റെ പേരു്, പ്രൊജക്റ്റിനെ പറ്റിയുള്ള ഒരു ചെറിയ വിവരണം എന്നിവ കൊടുക്കണം. കൂടാതെ പ്രൊജക്റ്റ് കാണാൻ ആരെയൊക്കെ അനുവദിക്കണം എന്നും നിങ്ങൾക്ക് തീരുമാനിക്കാം.

പ്രൊജക്റ്റിന്റെ പൂമുഖം

പ്രൊജക്റ്റ് നിർമ്മിച്ചു കഴിഞ്ഞാൽ കിട്ടുന്ന പേജിൽ നിങ്ങൾക്ക് എങ്ങനെയൊക്കെ അത് ഉപയോഗിക്കാം എന്ന് നൽകിയിട്ടുണ്ടാവും. ഇവിടെ നിങ്ങൾക്ക് രണ്ട് ഓപ്ഷനുകൾ ലഭിക്കും

  1. പുതിയ ഒരു റെപ്പോസിറ്ററി നിർമ്മിക്കുക
  2. നിലവിലുള്ള ഒരു റെപ്പോസിറ്ററിയിലേക്ക് ബന്ധിപ്പിക്കുക

ആദ്യം നമുക്ക് പുതിയ് ഒരു റെപ്പോസിറ്ററി നിർമ്മിക്കുന്നത് എങ്ങനെയെന്ന് നോക്കാം. അതിനായി ഇന്റർനെറ്റിൽ ലഭ്യമായ ഈ റെപ്പോസിറ്ററിയുടെ ഒരു പകർപ്പിനെ നിങ്ങളൂടെ കമ്പ്യൂട്ടറിലേക്ക് എത്തിക്കണം. നേരത്തേ കണ്ട പേജിന്റെ മുകളിലായി, ഈ റെപ്പോസിറ്ററിയുടെ വിലാസം കാണാൻ സാധിക്കുന്നതാണ്. ഉദാ: https://git.fosscommunity.in/gopalankutty/hello-world.git.

ഇന്റർനെറ്റിൽ ലഭ്യമായ ഒരു റെപ്പോസിറ്ററിയെ നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ എത്തിക്കുന്നതിന് “റെപ്പോസിറ്ററി ക്ലോൺ ചെയ്യുക” എന്നാണ് പറയുന്നത്. ഈ റെപ്പോസിറ്ററി ക്ലോൺ ചെയ്യാനായി git clone എന്ന ആജ്ഞ ഉപയോഗിക്കാവുന്നതാണ്:

$ git clone https://git.fosscommunity.in/gopalankutty/hello-world.git
Cloning into 'hello-world'...
warning: You appear to have cloned an empty repository.

താങ്കളുടെ കമ്പ്യൂട്ടറിൽ “hello-world” എന്ന പേരിൽ ഒരു ഫോൾഡർ നിർമ്മിക്കപ്പെട്ടതായി കാണാം. ആദ്യ ലേഖനത്തിൽ നമ്മൾ git init ഉപയോഗിച്ച് നിർമ്മിച്ച ഒരു റെപ്പോസിറ്ററി പോലെ തന്നെയാണ് ഈ ഫോൾഡറും. ഒരു വ്യത്യാസം മാത്രമേയുള്ളൂ - ഈ റെപ്പോസിറ്ററി ഇന്റർനെറ്റിൽ ഉള്ള ഒരു റെപ്പോസിറ്ററിയുമായി ബന്ധിക്കപ്പെട്ടിരിക്കുന്നു. ഇത്തരം ഒരു ബന്ധത്തിൽ, ഇന്റർനെറ്റിൽ ഉള്ള റെപ്പോസിറ്ററിയെ “remote” എന്നും നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഉള്ള അതിന്റെ മറുപാതിയെ “local” എന്നും വിളിക്കും. ഒരു ലോക്കൽ റെപ്പോ ഒന്നിലധികം റിമോട്ട് റെപ്പോകളുമായി ബന്ധിക്കാവുന്നതാണ്. അതെങ്ങനെ എന്ന് പിന്നീട് കാണാം. നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ ഒരു റെപ്പോയുടെ റിമോട്ടുകൾ കാണാനായി git remote എന്ന ആജ്ഞ ഉപയോഗിക്കാവുന്നതാണ്.

$ git remote -v
origin	https://git.fosscommunity.in/gopalankutty/hello-world.git (fetch)
origin	https://git.fosscommunity.in/gopalankutty/hello-world.git (push)

ഒരു റെപ്പോസിറ്ററിയുടെ റിമോട്ടിന് സ്വതേ ഉണ്ടാവുന്ന പേരാണ് “origin” എന്നതു്.


ഇപ്പോൾ നമ്മൾ കണ്ടത് നമ്മൾ ഇന്റർനെറ്റിൽ നിർമ്മിച്ച റെപ്പോസിറ്ററി ഉപയോഗിച്ച് കമ്പ്യൂട്ടറിൽ ഒരു പുതിയ ലോക്കൽ റെപ്പോ ഉണ്ടാക്കുന്നതെങ്ങനെയെന്നാണ്. എന്നാൽ ഇതിനുപകരം നമുക്ക് വേണമെങ്കിൽ നമ്മുടെ കമ്പ്യൂട്ടറിൽ നിലവിലുള്ള ഒരു റെപ്പോയിലേക്ക് ഈ റിമോട്ട് റെപ്പോയെ ചേർക്കാവുന്നതാണ്. അതെങ്ങനെയെന്ന് നോക്കാം.

ആദ്യം തന്നെ, നിങ്ങളുടെ ലോക്കൽ റെപ്പോയിലേക്ക് എത്തുക. നമ്മൾ ആദ്യലക്കത്തിൽ കണ്ട “myapp” എന്ന റെപ്പോ നമുക്ക് ഇതിനായി ഉപയോഗിക്കാം.

$ cd myapp
$ git status
On branch master
nothing to commit, working directory clean

ഇനി നമ്മൾ ഇപ്പോൾ നിർമ്മിച്ച റിമോട്ട് റെപ്പോയെ ഈ ലോക്കൽ റെപ്പോയിലേക്ക് ബന്ധിപ്പിക്കാം

$ git remote add origin https://git.fosscommunity.in/gopalankutty/hello-world.git

ഇവിടെ “origin” എന്നതു് നമ്മൾ കൊടുത്ത ഒരു പേരാണു്. അതിനുപകരം നമുക്ക് ഇഷ്ടമുള്ള എന്ത് പേരും കൊടുക്കാം. എങ്കിലും കീഴ്‌വഴക്കം “origin” എന്ന് ഉപയോഗിക്കുന്നതാണ്.

ഇനി നേരത്തെ കൊടുത്ത git remote ആജ്ഞ നൽകിയാൽ റിമോട്ട് റെപ്പോ ക്രമീകരിച്ചതായി ഉറപ്പാക്കാം

$ git remote -v
origin	https://git.fosscommunity.in/gopalankutty/hello-world.git (fetch)
origin	https://git.fosscommunity.in/gopalankutty/hello-world.git (push)

ഒന്നിലധികം റിമോട്ടുകൾ ചേർക്കാനായി git remote add ആജ്ഞ തന്നെ ഉപയോഗിക്കാം. ഓരോ റിമോട്ടിനും ഓരോ പേരായിരിക്കണമെന്ന് മാത്രം.

അടുത്ത ലക്കത്തിൽ റിമോട്ട് റെപ്പോസിറ്ററിയിലേക്ക് ലോക്കൽ റെപ്പോസിറ്ററിയിലെ മാറ്റങ്ങൾ എങ്ങനെ ചേർക്കാമെന്ന് കാണാം. കൂടാതെ മറ്റുള്ളവർ വരുത്തിയ മാറ്റങ്ങൾ നമ്മുടെ ലോക്കൽ റെപ്പോസിറ്ററിയിലേക്ക് എത്തിക്കുന്നതെങ്ങനെ എന്നും.