Pull GitHub

git pull, lokal repomuza yeni değişiklikler eklemek için uzak bir repodan (GitHub) değişiklikleri almak için kullanılan bir Git komutudur. Genellikle bir proje üzerinde ekip olarak çalışmaya başladığımızda, en son değişiklikleri lokal kopyamıza almak için kullanırız.

Pull komut, git fetch ve git merge komutlarını birleştirir ve tek bir adımda uzak repodan değişiklikleri alır ve lokal çalışma dizinine birleştirir.

Şimdi Merge, Fetch ve Pull işlemlerinin nasıl çalıştığına daha yakından bakalım.

Git Fetch

git fetch komutu, lokal repodaki bilgileri güncellemek için kullanılır, ancak lokal çalışma dizininde değişiklik yapmaz. Yani, mevcut çalışma dizinizdeki dosyaları değiştirmez veya güncellemez. Sadece uzak repodaki değişiklikleri sizin lokal repoya indirir ve burada saklar.

Özellikle, başka bir geliştiricinin yaptığı değişiklikleri görmek istediğinizde veya uzak depodaki güncellemeleri takip etmek istediğinizde git fetch komutunu kullanabilirsiniz.

git fetch origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 993 bytes | 165.00 KiB/s, done.
From https://github.com/alkanfatih/merhaba-git
   1c7a147..32be517  master     -> origin/master

Artık son değişiklikleri aldığımıza göre durumumuzu kontrol edebiliriz:

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’ın 1 commit gerisindeyiz. Bu güncellenmiş olduğumuz Index.html dosyası sonra gerçekleştirdiğimiz commit işlemi olmalı, ancak log görüntüleyerek tekrar kontrol edelim:

git log origin/master
commit 32be517d36c77a580ce72de3ed301ef9f2d2de4e (origin/master)
Author: alkanfatih <alkanfatih87@gmail.com>
Date:   Tue Feb 27 20:29:13 2024 +0300

    Update index.html
    
    Yeni bir satır eklendi
...
...

Yukarıdaki çıktıdan da anlaşıldığı gibi bizim GitHub üzerinden gerçekleştirdiğimiz commit olduğunu anlamış olduk. Şimdi lokal master ile origin/margin arasındaki farkları inceleyebiliriz.

Not: “origin” uzak repoyu (genellikle GitHub reposunu) temsil eder.

git diff origin/master
diff --git a/index.html b/index.html
index 898382b..eddba7c 100644
--- a/index.html
+++ b/index.html
@@ -8,9 +8,8 @@
 </head>
 <body>
     <h1>Hello world!</h1>
-    <p>Git Hub Üzerinden Kod Düzenlendi</p>
     <p>Yeni Bir Satır Kod Eklendi</p>
     <p>Ikinci Bir Satır Eklendi</p>
     <img src="https://via.placeholder.com/300x200" alt="Yeni Bir Resim" style="width:100%;">
 </body>
-</html>
+</html>
\ No newline at end of file

 Tam olarak beklendiği gibi! Artık güvenli bir şekilde birleştirebiliriz.

Git Merge

git merge, farklı branch’lardaki değişiklikleri birleştirmek için kullanılan bir Git komutudur. Bu komut, iki veya daha fazla branch’lardaki değişiklikleri bir araya getirir ve birleştirir. Genellikle, birleştirme işlemi, farklı geliştiricilerin veya geliştirme branch’ların çalışmalarını birleştirmek için kullanılır.

Yukarıdaki işlemlerde güncellemelerin beklendiği gibi olduğunu kontrol ettik. Artık lokalde mevcut olan branch’ımızı (master) Origin/master ile birleştirelim:

git merge origin/master
Updating 1c7a147..32be517
Fast-forward
 index.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
fatih-MacBook-Air:gitdeneme alkanfatih$ 

Şu anda editor üzerinden projenizi kontrol ederseniz GitHub üzerinden yaptığımız değişikliklerin lokaldeki projemize yansıdığını görecekseniz. Şimdi güncel durumumuzu tekrar kontrol edelim.

git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Her şeyin güncel olduğunu kontrol etmiş olduk.

Git Pull

git pull, git fetch ve git merge komutlarının birleşimidir. Tek bir komut ile uzak repodan değişiklikleri alır ve lokal çalışma dizinine birleştirir.

git pull, lokal Repoya yeni değişiklikler eklemek için uzak bir repodan (GitHub) değişiklikleri almak için kullanılan bir Git komutudur. Genellikle, başka bir geliştiricinin yaptığı değişiklikleri lokal depoya çekmek veya güncellemeleri almak için kullanılır.

GitHub üzerinden yeni bir değişiklik gerçekleştirin.

Şimdi git pull komutunu kullanalım.

git pull origin master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 974 bytes | 162.00 KiB/s, done.
From https://github.com/alkanfatih/merhaba-git
   32be517..6036f6f  master     -> origin/master
Updating 32be517..6036f6f
Fast-forward
 index.html | 1 +
 1 file changed, 1 insertion(+)

Bu komut, “origin” adlı uzak depodan (“origin” genellikle GitHub deposunu temsil eder) “master” branch’ındaki değişiklikleri alır ve bu değişiklikleri lokal çalışma dizinine birleştirir.

Eğer lokal branch’ınız ve remote branch’ınız ile aynı isme sahipse, tek bir parametre ile git pull komutunu kullanabilirsiniz.

git pull
Last Updated : 28/02/2024

GitHub Edit Kod

Push GitHub

2023 © Coding, Developed by alkanfatih.com