bugl
bugl
HomeLearnPatternsSearch
HomeLearnPatternsSearch

Loading lesson path

Learn/Git/Git and {{title}}
Git•Git and {{title}}

Git Pull from {{title}}

Change Platform:

GitHub

Bitbucket

GitLab

Pull from Remote

In the last chapters, we made an account on and set up SSH. Then we made some changes directly on . Now we want to update our local repository with the changes from .

Key Pull Commands

Fetch

Merge

Pull

Fetch, Pull and Merge When working as a team on a project, it is important that everyone stays up to date. Any time you start working on a project, you should get the most recent changes to your local copy. With Git, you can do that with pull. pull is a combination of 2 different commands: fetch merge Let's take a closer look into how fetch, merge, and pull works. Git Fetch git fetch downloads new data from a remote repository, but does not change your working files or branches. It lets you see what others have pushed before you merge or pull.

Example git fetch origin remote: Enumerating objects: 5, done.

Formula

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), 733 bytes | 3.00 KiB/s, done.
From https://.com/w3schools - test/hello - world e0b6038..d29d69f master -> origin/master

Now that we have the recent changes, we can check our status

Example git status

On branch master

Formula

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

Formula

We are behind the origin/master by 1 commit. That should be the updated

README.md, but lets double check by viewing the log

Example git log origin/master commit d29d69ffe2ee9e6df6fa0d313bb0592b50f3b853 (origin/master)

Formula

Author: w3schools - test < 77673807 + w3schools - test@users.noreply..com >
Date: Fri Mar 26 14:59:14 2021 + 0100

Updated README.md with a line about

commit e0b6038b1345e50aca8885d8fd322fc0e5765c3b (HEAD -> master) Merge: dfa79db 1f1584e

Formula

Author: w3schools - test < test@w3schools.com >
Date: Fri Mar 26 12:42:56 2021 + 0100

Formula

merged with hello - world - images after fixing conflicts

......

Formula

That looks as expected, but we can also verify by showing the differences between our local master and origin/master

Example git diff origin/master diff --git a/README.md b/README.md index 23a0122..a980c39 100644

Formula

--- a/README.md
+++ b/README.md
@@ - 2,6 + 2,4 @@

Hello World repository for Git tutorial

This is an example repository for the Git tutoial on https://www.w3schools.com

-This repository is built step by step in the tutorial.

-It now includes steps for +This repository is built step by step in the tutorial. \ No newline at end of file That looks precisely as expected! Now we can safely merge. Git Merge merge combines the current branch, with a specified branch. We have confirmed that the updates are as expected, and we can merge our current branch ( master

Formula

) with origin/master

Example git merge origin/master

Updating e0b6038..d29d69f

Fast-forward

README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Check our status again to confirm we are up to date:

Example git status

On branch master

Formula

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

nothing to commit, working tree clean There! Your local git is up to date!

Git Pull

But what if you just want to update your local repository, without going through all those steps? pull is a combination of fetch and merge. It is used to pull all changes from a remote repository into the branch you are working on. Make another change to the Readme.md file on . Use pull to update our local Git:

Example git pull origin remote: Enumerating objects: 5, done.

Formula

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://.com/w3schools - test/hello - world a7cdd4b..ab6b4ed master -> origin/master

Updating a7cdd4b..ab6b4ed

Fast-forward

README.md | 2 ++ 1 file changed, 2 insertions(+) That is how you keep your local Git up to date from a remote repository. In the next chapter, we will look closer at how push works on .

Previous

Git {{title}} Edit Code

Next

Git Push to {{title}}