GitHub-ൽ വേർപെടുത്തിയ ഒറിജിൻ/മെയിൻ എങ്ങനെ ശരിയാക്കാം

GitHub-ൽ വേർപെടുത്തിയ ഒറിജിൻ/മെയിൻ എങ്ങനെ ശരിയാക്കാം
GitHub-ൽ വേർപെടുത്തിയ ഒറിജിൻ/മെയിൻ എങ്ങനെ ശരിയാക്കാം

GitHub-ൽ ഡിറ്റാച്ച്ഡ് ഒറിജിൻ/മെയിൻ മനസ്സിലാക്കുന്നു

Git, GitHub എന്നിവയ്‌ക്കൊപ്പം പ്രവർത്തിക്കുന്നത് ചിലപ്പോൾ ആശയക്കുഴപ്പമുണ്ടാക്കാം, പ്രത്യേകിച്ചും വേർപിരിഞ്ഞ ഉത്ഭവം/പ്രധാന ബ്രാഞ്ച് പോലുള്ള പ്രശ്‌നങ്ങൾ നേരിടുമ്പോൾ. നിങ്ങളുടെ ഏറ്റവും പുതിയ പ്രതിബദ്ധതകളുമായി നിങ്ങളുടെ പ്രധാന ബ്രാഞ്ച് അപ്‌ഡേറ്റ് ചെയ്യാത്തപ്പോൾ ഈ സാഹചര്യം പലപ്പോഴും ഉണ്ടാകാറുണ്ട്, ഇത് ബന്ധമില്ലാത്ത ഒരു റിപ്പോസിറ്ററി അവസ്ഥയിലേക്ക് നയിക്കുന്നു.

ഈ ഗൈഡിൽ, വേർപെടുത്തിയ ഉത്ഭവം/പ്രധാന പ്രശ്നം എങ്ങനെ പരിഹരിക്കാമെന്ന് ഞങ്ങൾ പര്യവേക്ഷണം ചെയ്യും, നിങ്ങളുടെ പ്രോജക്റ്റിൻ്റെ പ്രധാന ബ്രാഞ്ച് ഏറ്റവും പുതിയ മാറ്റങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കും. നിങ്ങൾ കമാൻഡ് ലൈൻ Git അല്ലെങ്കിൽ SourceTree ഉപയോഗിച്ചാലും, GitHub-ൽ വൃത്തിയുള്ളതും ബന്ധിപ്പിച്ചതുമായ ഒരു ശേഖരം നിലനിർത്താൻ ഈ ഘട്ടങ്ങൾ നിങ്ങളെ സഹായിക്കും.

കമാൻഡ് വിവരണം
git merge --allow-unrelated-histories ഈ കമാൻഡ് വ്യത്യസ്ത ചരിത്രങ്ങളുള്ള ശാഖകൾ ലയിപ്പിക്കാൻ അനുവദിക്കുന്നു, ബന്ധമില്ലാത്ത ശേഖരണങ്ങൾ സംയോജിപ്പിക്കുന്നതിന് ഉപയോഗപ്രദമാണ്.
git push origin --delete ഈ കമാൻഡ് റിമോട്ട് റിപ്പോസിറ്ററിയിലെ ഒരു ബ്രാഞ്ച് ഇല്ലാതാക്കുന്നു, ഇത് അനാവശ്യ ശാഖകൾ വൃത്തിയാക്കാൻ ഉപയോഗിക്കുന്നു.
git branch -d ഈ കമാൻഡ് ഒരു ലോക്കൽ ബ്രാഞ്ച് ഇല്ലാതാക്കുന്നു, ഇത് ലോക്കൽ റിപ്പോസിറ്ററി വൃത്തിയായി സൂക്ഷിക്കാൻ സഹായിക്കുന്നു.
git checkout -b ഈ കമാൻഡ് ഒരു പുതിയ ബ്രാഞ്ച് സൃഷ്ടിക്കുകയും ഒരു ഘട്ടത്തിൽ അത് പരിശോധിക്കുകയും ചെയ്യുന്നു, ഇത് ബ്രാഞ്ച് മാനേജ്മെൻ്റിന് ഉപയോഗപ്രദമാണ്.
git pull origin ഈ കമാൻഡ് റിമോട്ട് റിപ്പോസിറ്ററിയിൽ നിന്ന് മാറ്റങ്ങൾ ലഭ്യമാക്കുകയും സംയോജിപ്പിക്കുകയും ചെയ്യുന്നു, പ്രാദേശിക ബ്രാഞ്ച് കാലികമാണെന്ന് ഉറപ്പാക്കുന്നു.
git checkout ഈ കമാൻഡ് ശാഖകൾക്കിടയിൽ മാറുന്നു, വിവിധ വികസന ലൈനുകൾ നാവിഗേറ്റ് ചെയ്യുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനും അത്യാവശ്യമാണ്.

വേർപെടുത്തിയ ഉത്ഭവം/പ്രധാന പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു

ഒരു വേർപിരിയലിൻ്റെ പ്രശ്നം പരിഹരിക്കാൻ സ്ക്രിപ്റ്റുകൾ സഹായിച്ചു origin/main ഒരു Git ശേഖരത്തിൽ. കമാൻഡ് ലൈൻ ഉപയോഗിച്ച്, ആദ്യത്തെ സ്ക്രിപ്റ്റ് ഏറ്റവും പുതിയ മാറ്റങ്ങളോടെ ബ്രാഞ്ച് പരിശോധിക്കുകയും റിമോട്ടിൽ നിന്ന് അപ്ഡേറ്റുകൾ പിൻവലിക്കുകയും ഒരു താൽക്കാലിക ബ്രാഞ്ച് സൃഷ്ടിക്കുകയും ചെയ്യുന്നു. ഈ ശാഖ പിന്നീട് പ്രധാന ശാഖയുമായി ലയിപ്പിക്കുന്നു --allow-unrelated-histories വ്യത്യസ്ത ചരിത്രങ്ങൾക്കിടയിലും ലയനം അനുവദിക്കുന്ന പതാക. എല്ലാ മാറ്റങ്ങളും ഉൾപ്പെടുത്തിയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കിക്കൊണ്ട് ഈ പ്രക്രിയ പ്രത്യേക പ്രതിബദ്ധതയുള്ള ചരിത്രങ്ങളെ ഫലപ്രദമായി സംയോജിപ്പിക്കുന്നു.

താൽക്കാലിക ബ്രാഞ്ച് ലയിച്ചുകഴിഞ്ഞാൽ, സ്‌ക്രിപ്റ്റ് വീണ്ടും പ്രധാന ബ്രാഞ്ചിലേക്ക് മാറുകയും താൽക്കാലിക ബ്രാഞ്ചിനെ അതിലേക്ക് ലയിപ്പിക്കുകയും ചെയ്യുന്നു, പ്രധാന ബ്രാഞ്ച് സമീപകാല അപ്‌ഡേറ്റുകളെല്ലാം പ്രതിഫലിപ്പിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുന്നു. അവസാനമായി, റിപ്പോസിറ്ററി വൃത്തിയാക്കാൻ താൽക്കാലിക ബ്രാഞ്ച് പ്രാദേശികമായും വിദൂരമായും ഇല്ലാതാക്കുന്നു. ഈ രീതി പ്രധാന ബ്രാഞ്ച് ഒരു ജോലിയും നഷ്‌ടപ്പെടാതെ അപ്‌ഡേറ്റ് ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കുന്നു, കൂടാതെ റിപ്പോസിറ്ററി ഓർഗനൈസ് ചെയ്‌തിരിക്കുന്നു. SourceTree ഉപയോക്താക്കൾക്ക് സമാനമായ ഘട്ടങ്ങൾ സ്വമേധയാ പിന്തുടരാനാകും, അതേ ഫലം നേടുന്നതിന് ഗ്രാഫിക്കൽ ഇൻ്റർഫേസ് പ്രയോജനപ്പെടുത്തുന്നു.

Git കമാൻഡ് ലൈൻ ഉപയോഗിച്ച് വേർപെടുത്തിയ ഉത്ഭവം/പ്രധാനം പരിഹരിക്കാനുള്ള സ്‌ക്രിപ്റ്റ്

Git കമാൻഡ് ലൈൻ സ്ക്രിപ്റ്റ്

git checkout Branch_ndimage.grey_closing
git pull origin Branch_ndimage.grey_closing
git checkout -b temp-branch
git merge --allow-unrelated-histories main
git checkout main
git merge temp-branch
git push origin main
git branch -d temp-branch
# Optional cleanup
git push origin --delete Branch_ndimage.grey_closing

സോഴ്‌സ്‌ട്രീ ഉപയോഗിച്ച് വേർപെടുത്തിയ ഉത്ഭവം/പ്രധാനം പരിഹരിക്കാനുള്ള സ്‌ക്രിപ്റ്റ്

സോഴ്സ്ട്രീ പടികൾ

# 1. Open SourceTree and switch to Branch_ndimage.grey_closing
# 2. Pull the latest changes from origin
# 3. Create a new branch 'temp-branch' from Branch_ndimage.grey_closing
# 4. Switch to 'main' branch
# 5. Merge 'temp-branch' into 'main' allowing unrelated histories
# 6. Push 'main' branch to origin
# 7. Delete 'temp-branch' locally and remotely
# Optional cleanup
# 8. Delete 'Branch_ndimage.grey_closing' remotely

ഒരു ഷെൽ സ്‌ക്രിപ്റ്റ് ഉപയോഗിച്ച് വേർപെടുത്തിയ ഉത്ഭവം/പ്രധാനം പരിഹരിക്കാനുള്ള സ്‌ക്രിപ്റ്റ്

ഓട്ടോമേഷനുള്ള ഷെൽ സ്ക്രിപ്റ്റ്

#!/bin/bash
git checkout Branch_ndimage.grey_closing
git pull origin Branch_ndimage.grey_closing
git checkout -b temp-branch
git merge --allow-unrelated-histories main
git checkout main
git merge temp-branch
git push origin main
git branch -d temp-branch
# Optional cleanup
git push origin --delete Branch_ndimage.grey_closing

GitHub-ലെ ഡിറ്റാച്ച്ഡ് ബ്രാഞ്ച് പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു

വേർപിരിഞ്ഞത് ശരിയാക്കുമ്പോൾ പരിഗണിക്കേണ്ട മറ്റൊരു വശം origin/main നിങ്ങളുടെ പ്രാദേശിക മാറ്റങ്ങളുമായി റിമോട്ട് റിപ്പോസിറ്ററി സമന്വയിപ്പിച്ചിട്ടുണ്ടെന്ന് GitHub ഉറപ്പാക്കുന്നു. നിങ്ങളുടെ ഏറ്റവും പുതിയ പ്രതിബദ്ധതയിൽ നിന്ന് ഒരു പുതിയ ബ്രാഞ്ച് സൃഷ്ടിക്കുക, തുടർന്ന് അത് റിമോട്ട് മെയിൻ ബ്രാഞ്ചിലേക്ക് നിർബന്ധിക്കുക എന്നതാണ് ഒരു പൊതു സമീപനം. നിങ്ങളുടെ ജോലി നഷ്‌ടപ്പെടാതെ ചരിത്രങ്ങളെ വിന്യസിക്കാൻ ഈ രീതി സഹായിക്കും.

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

വേർപെടുത്തിയ ഒറിജിൻ/മെയിൻ പരിഹരിക്കുന്നതിനെക്കുറിച്ച് പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ

  1. "വേർപെടുത്തിയ ഉത്ഭവം/പ്രധാനം" എന്താണ് അർത്ഥമാക്കുന്നത്?
  2. നിങ്ങളുടെ പ്രാദേശിക ബ്രാഞ്ചിലെ ഏറ്റവും പുതിയ കമ്മിറ്റുകളുമായി റിമോട്ട് മെയിൻ ബ്രാഞ്ച് ബന്ധിപ്പിച്ചിട്ടില്ല എന്നാണ് ഇതിനർത്ഥം.
  3. ബന്ധമില്ലാത്ത ചരിത്രങ്ങൾ ഞാൻ എങ്ങനെ ലയിപ്പിക്കും?
  4. ഉപയോഗിക്കുക git merge --allow-unrelated-histories വ്യത്യസ്ത ചരിത്രങ്ങളുമായി ശാഖകൾ സംയോജിപ്പിക്കാൻ കമാൻഡ്.
  5. എന്താണ് Git-ൽ ബലം തള്ളുന്നത്?
  6. ഫോഴ്സ് പുഷിംഗ് ഉപയോഗിക്കുന്നു git push --force നിങ്ങളുടെ പ്രാദേശിക ബ്രാഞ്ചിനൊപ്പം റിമോട്ട് ബ്രാഞ്ച് തിരുത്തിയെഴുതാനുള്ള കമാൻഡ്.
  7. ഒരു റിമോട്ട് ബ്രാഞ്ച് എങ്ങനെ ഇല്ലാതാക്കാം?
  8. ഉപയോഗിക്കുക git push origin --delete branch_name റിമോട്ട് റിപ്പോസിറ്ററിയിൽ നിന്ന് ഒരു ബ്രാഞ്ച് നീക്കം ചെയ്യാനുള്ള കമാൻഡ്.
  9. ബലപ്രയോഗത്തിൽ നിന്ന് എനിക്ക് വീണ്ടെടുക്കാൻ കഴിയുമോ?
  10. അതെ, നിങ്ങൾക്ക് ബാക്കപ്പുകൾ ഉണ്ടെങ്കിലോ ഫോഴ്‌സ് പുഷിന് മുമ്പുള്ള മുൻ കമ്മിറ്റുകൾ കണ്ടെത്താൻ Git reflog ഉപയോഗിക്കുകയോ ചെയ്യുക.
  11. ഫോഴ്സ് പുഷിംഗിന് മുമ്പ് ഞാൻ എന്തിന് ഒരു ബാക്കപ്പ് സൃഷ്ടിക്കണം?
  12. ഫോഴ്‌സ് പുഷിംഗിന് മാറ്റങ്ങൾ പുനരാലേഖനം ചെയ്യാൻ കഴിയും, അതിനാൽ ഒരു ബാക്കപ്പ് ഉള്ളത് നിങ്ങൾക്ക് പ്രധാനപ്പെട്ട ജോലി നഷ്‌ടപ്പെടുന്നില്ലെന്ന് ഉറപ്പാക്കുന്നു.
  13. ഞാൻ എങ്ങനെയാണ് Git-ൽ ശാഖകൾ മാറുന്നത്?
  14. ഉപയോഗിക്കുക git checkout branch_name ശാഖകൾക്കിടയിൽ മാറാനുള്ള കമാൻഡ്.
  15. എന്താണ് ഒരു വേർപെടുത്തിയ HEAD അവസ്ഥ?
  16. ഒരു ശാഖയ്ക്ക് പകരം HEAD ഒരു പ്രതിബദ്ധതയിലേക്ക് വിരൽ ചൂണ്ടുമ്പോൾ ഇത് സംഭവിക്കുന്നു, ഇത് പലപ്പോഴും ഒറ്റപ്പെട്ട മാറ്റങ്ങളിലേക്ക് നയിക്കുന്നു.
  17. Git-ൽ എനിക്ക് എങ്ങനെ ഒരു പുതിയ ബ്രാഞ്ച് സൃഷ്ടിക്കാനാകും?
  18. ഉപയോഗിക്കുക git checkout -b new_branch_name ഒരു പുതിയ ബ്രാഞ്ച് സൃഷ്ടിക്കാനും അതിലേക്ക് മാറാനുമുള്ള കമാൻഡ്.

ഫിക്സ് പൊതിയുന്നു

വേർപിരിഞ്ഞത് പരിഹരിക്കാൻ origin/main GitHub-ൽ, നിങ്ങളുടെ ബ്രാഞ്ചുകൾ ശരിയായി ലയിപ്പിക്കുകയോ റീബേസ് ചെയ്യുകയോ ചെയ്യേണ്ടത് നിർണായകമാണ്, കൂടാതെ നിങ്ങളുടെ റിമോട്ട് റിപ്പോസിറ്ററി ഏറ്റവും പുതിയ മാറ്റങ്ങൾ പ്രതിഫലിപ്പിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക. കമാൻഡ് ലൈൻ Git അല്ലെങ്കിൽ SourceTree പോലുള്ള ടൂളുകൾ ഉപയോഗിച്ച്, നിങ്ങൾക്ക് നിങ്ങളുടെ ശാഖകൾ ഫലപ്രദമായി സമന്വയിപ്പിക്കാൻ കഴിയും. ഡാറ്റ നഷ്‌ടപ്പെടുന്നത് തടയാൻ നിർബന്ധിതമായി തള്ളുന്നതിന് മുമ്പ് നിങ്ങളുടെ ജോലി ബാക്കപ്പ് ചെയ്യാൻ ഓർമ്മിക്കുക. ഔട്ട്ലൈൻ ചെയ്ത ഘട്ടങ്ങൾ പിന്തുടരുന്നത് വൃത്തിയുള്ളതും ബന്ധിപ്പിച്ചതുമായ ഒരു ശേഖരം നിലനിർത്താൻ സഹായിക്കും, നിങ്ങളുടെ പ്രോജക്റ്റിൻ്റെ പ്രധാന ബ്രാഞ്ച് നിങ്ങളുടെ ഏറ്റവും പുതിയ പ്രതിബദ്ധതകളുമായി എപ്പോഴും കാലികമാണെന്ന് ഉറപ്പാക്കുന്നു.