GitHub-ல் இருந்து Pull செய்தல்

உங்கள் உள்ளூர் களஞ்சியத்தை GitHub-ல் உள்ள மாற்றங்களுடன் புதுப்பிப்பது எப்படி

தொலை மூலத்தில் இருந்து Pull செய்தல்

கடந்த அத்தியாயங்களில், நாங்கள் GitHub-ல் ஒரு கணக்கை உருவாக்கி SSH-ஐ அமைத்தோம்.

பின்னர் நாங்கள் GitHub-ல் நேரடியாக சில மாற்றங்களைச் செய்தோம்.

இப்போது நாம் GitHub-ல் இருந்து மாற்றங்களுடன் எங்கள் உள்ளூர் களஞ்சியத்தைப் புதுப்பிக்க விரும்புகிறோம்.

முக்கிய Pull கட்டளைகள்

Fetch

தரவைப் பதிவிறக்கவும் ஆனால் இணைக்காதீர்கள்

Merge

மாற்றங்களை இணைக்கவும்

Pull

Fetch + Merge ஒரே கட்டளையில்

Fetch, Pull மற்றும் Merge

ஒரு திட்டத்தில் குழுவாகப் பணிபுரியும் போது, அனைவரும் தற்போதைய நிலையில் இருக்க வேண்டியது முக்கியம்.

எந்த நேரத்தில் நீங்கள் ஒரு திட்டத்தில் பணிபுரியத் தொடங்கினாலும், உங்கள் உள்ளூர் நகலுக்கு சமீபத்திய மாற்றங்களைப் பெற வேண்டும்.

Git-உடன், நீங்கள் அதை pull மூலம் செய்யலாம்.

pull என்பது 2 வெவ்வேறு கட்டளைகளின் கலவையாகும்:

  • fetch
  • merge

Fetch, merge, மற்றும் pull எவ்வாறு செயல்படுகின்றன என்பதைக் கூர்ந்து கவனிப்போம்.

1

Git Fetch

git fetch ஒரு தொலை களஞ்சியத்தில் இருந்து புதிய தரவைப் பதிவிறக்குகிறது, ஆனால் உங்கள் வேலை கோப்புகள் அல்லது கிளைகளை மாற்றாது. நீங்கள் merge அல்லது pull செய்வதற்கு முன் மற்றவர்கள் என்ன push செய்தார்கள் என்பதைப் பார்க்க இது உங்களை அனுமதிக்கிறது.

கட்டளை: Fetch செய்யவும்
git fetch origin

இப்போது நமக்கு சமீபத்திய மாற்றங்கள் கிடைத்துள்ளன, நமது நிலையைச் சரிபார்க்கலாம்:

கட்டளை: நிலையைச் சரிபார்க்கவும்
git status
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

nothing to commit, working tree clean

நாங்கள் origin/master-க்கு 1 கமிட்டால் பின்தங்கியுள்ளோம். அது புதுப்பிக்கப்பட்ட README.md ஆக இருக்க வேண்டும், ஆனால் log-ஐப் பார்த்து இரட்டை சரிபார்க்கலாம்:

கட்டளை: Log-ஐப் பார்க்கவும்
git log origin/master
commit d29d69ffe2ee9e6df6fa0d313bb0592b50f3b853 (origin/master)
Author: username 
Date:   Fri Mar 26 14:59:14 2021 +0100

    Updated README.md with a line about GitHub

அது எதிர்பார்த்ததுபோல் தெரிகிறது, ஆனால் நமது உள்ளூர் master மற்றும் origin/master-க்கு இடையே உள்ள வேறுபாடுகளைக் காட்டுவதன் மூலமும் சரிபார்க்கலாம்:

கட்டளை: வேறுபாடுகளைப் பார்க்கவும்
git diff origin/master
diff --git a/README.md b/README.md
index 23a0122..a980c39 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,4 @@
 Hello World repository for Git tutorial
 This is an example repository for the Git tutorial

-This repository is built step by step in the tutorial.
-
-It now includes steps for GitHub
+This repository is built step by step in the tutorial.

சரிபார்ப்பு முடிந்தது!

அது துல்லியமாக எதிர்பார்த்ததுபோல் தெரிகிறது! இப்போது நாம் பாதுகாப்பாக merge செய்யலாம்.

2

Git Merge

merge தற்போதைய கிளையை, ஒரு குறிப்பிட்ட கிளையுடன் இணைக்கிறது.

புதுப்பிப்புகள் எதிர்பார்த்ததுபோல் உள்ளன என உறுதிப்படுத்தியுள்ளோம், மேலும் நமது தற்போதைய கிளையை (master) origin/master- உடன் இணைக்கலாம்:

கட்டளை: Merge செய்யவும்
git merge origin/master
Updating e0b6038..d29d69f
Fast-forward
 README.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

தற்போதைய நிலையில் இருப்பதை உறுதிப்படுத்த நமது நிலையை மீண்டும் சரிபார்க்கவும்:

கட்டளை: இறுதி நிலை சரிபார்ப்பு
git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

🎉 முடிந்தது!

அங்கே! உங்கள் உள்ளூர் git தற்போதைய நிலையில் உள்ளது!

3

Git Pull

ஆனால் அந்த எல்லாப் படிகளையும் கடந்து செல்லாமல் உங்கள் உள்ளூர் களஞ்சியத்தைப் புதுப்பிக்க விரும்பினால் என்ன செய்வது?

pull என்பது fetch மற்றும் merge-இன் கலவையாகும்.

நீங்கள் பணிபுரியும் கிளையில் ஒரு தொலை களஞ்சியத்தில் இருந்து அனைத்து மாற்றங்களையும் இழுக்க இது பயன்படுத்தப்படுகிறது.

GitHub-ல் Readme.md கோப்பில் மற்றொரு மாற்றத்தைச் செய்யவும்.

GitHub Update Readme

GitHub-ல் Readme கோப்பைப் புதுப்பித்தல்

எங்கள் உள்ளூர் Git-ஐப் புதுப்பிக்க pull-ஐப் பயன்படுத்தவும்:

கட்டளை: Pull செய்யவும்
git pull origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 794 bytes | 1024 bytes/s, done.
From https://github.com/username/hello-world
    a7cdd4b..ab6b4ed  master       -> origin/master
Updating a7cdd4b..ab6b4ed
Fast-forward
  README.md | 2 ++
  1 file changed, 2 insertions(+)

🚀 முடிந்தது!

ஒரு தொலை களஞ்சியத்தில் இருந்து உங்கள் உள்ளூர் Git-ஐ தற்போதைய நிலையில் வைத்திருப்பது எப்படி என்பதுதான் இது. அடுத்த அத்தியாயத்தில், GitHub-ல் push எவ்வாறு செயல்படுகிறது என்பதைக் கூர்ந்து கவனிப்போம்.

விரைவு குறிப்பு

Fetch

மாற்றங்களைப் பதிவிறக்கவும்

git fetch

Merge

மாற்றங்களை இணைக்கவும்

git merge

Pull

இரண்டையும் ஒரே கட்டளையில்

git pull