Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Git Push and Pull Tutorial

Learn how to perform Git PUSH and PULL requests through GitHub Desktop and the Command-Line.
Updated Feb 27, 2026  · 13 min read

In this tutorial, I will guide you through the process of using Git push and pull commands, as well as creating pull requests through both GitHub Desktop and the command line. This guide is practical for anyone managing code repositories.

You can follow along with all of the materials in this tutorial, even if you are a beginner. However, if you are new to Git, have a look at our GitHub and Git Tutorial for Beginners and set up your environment using our Git setup guide.

What Are Git Push and Git Pull?

At a high level, here are the differences:

git push uploads your local commits to a remote repository like GitHub, while git pull downloads changes from a remote repository and merges them into your local branch. Both commands can be used via the command line or GitHub Desktop.

Note: A pull request is a GitHub feature for proposing and reviewing changes before merging — it is not the same as git pull.

To push commits from a local branch to a remote repository, use:

git push <remote_name> <branch_name>

Another Note: GitHub no longer supports password authentication. Use SSH keys or personal access tokens instead.

Learn Git Fundamentals Today

For beginners: Master version control using Git.
Start Learning For Free

Pushing to GitHub

Let's start with the idea of pushing. 

Using the Command Line to Push to GitHub

The best way to learn is by practicing, so let's go through the steps.

1. Creating a new repository

You need to create a new repository and click on the plus sign.

Fill up all the required details, i.e., repository name, description and also make the repository public this time as it is free.

Creating a new repository Creating a new repository 2

2. Open your Git Bash

Git Bash can be downloaded here, and it is a shell used to interface with the operating system, which follows the UNIX command.

3. Create your local project in your desktop directed towards a current working directory

pwd stands for 'print working directory', which is used to print the current directory.

Move to the specific path in your local computer by cd 'path_name'. The cd commands stand for 'change directory' and it is used to change to the working directory in your operating system, and to locate your file, 'path_name', i.e., C:/Users/Dell/Downloads/FaceDetect-main needs to be given. This command can identify the required file that you are looking to work with.

Create your local project in your desktop directed towards a current working directory.

4. Initialize the git repository

Use git init to initialize the repository. This creates a new empty repository with a hidden directory .git is created at the top level of your project, which places all of the revision information in one place.

Initialize the git repository

5. Add the file to the new local repository

Use git add . to stage all files in the current directory. Use git status to view which files are staged and ready for your first commit.

Add the file to the new local repository.
6. Commit the files staged in your local repository by writing a commit message

You can create a commit message by running git commit -m 'your message', which records the staged changes to the local repository. git commit uses -m as a flag for a message to set the commits with the content where the full description is included, and a message is written in an imperative sentence up to 50 characters long and defining "what was changed", and "why was the change made".

Commit the files staged in your local repository by writing a commit message.
7. Copy your remote repository's URL from GitHub

The HTTPS or URL is copied from the given GitHub account, which is the place of the remote repository.

Copy your remote repository's URL from GitHub.

8. Add the URL copied, which is your remote repository, to where your local content from your repository is pushed

git remote add origin 'your_url_name'

In the above code, origin is the remote name, and the remote URL is "https://github.com/Olivia-Smithcoder100/FaceDetection.git". You can see the remote as GitHub in this case, and GitHub provides the URL for adding to the remote repository.

9. Push the code in your local repository to GitHub

git push -u origin main is used for pushing local content to GitHub.

In the code, origin is your default remote repository name and -u flag is upstream, which is equivalent to -set-upstream. main is the branch. name.upstream is the repository from which we have cloned the project.

Authenticate using your GitHub credentials. Note that GitHub no longer supports password authentication for Git operations. You will need to use a personal access token (PAT) or SSH key instead.

Push the code in your local repository to GitHub

10. View your files in your repository hosted on GitHub

You can finally see the file hosted on GitHub.

View your files in your repository hosted on GitHub.

Using GitHub Desktop to Push to GitHub

GitHub Desktop is available to download for any operating system, and it gives the GUI(Graphical User Interface) platform to push your local content from your local repository to a remote repository like GitHub.

You need to open your GitHub account in your browser and the process of creating a new repository, i.e., step 1 is the same as mentioned above in "Using Command line to PUSH to GitHub".

1. Click "Set up in a Desktop"

You need to click on the button, as shown below where a pop up comes, and you click on "Open GitHub desktop".

Click "Set up in a Desktop" 1 Click "Set up in a Desktop" 2

2. Cloning in a GitHub Desktop

You can click the Clone button, as shown below.

Cloning in a GitHub Desktop 1 After cloning a new clone, the folder is created in your local computer where a hidden directory .git is also present. Cloning in a GitHub Desktop 2

3. Copy all the required files from your local computer into the clone folder on your computer

You need to copy all the required files, images, README files, etc., to the clone folder.

Copy all the required files from your local computer into the clone folder on your computer.

4. Move to GitHub Desktop and commit to main

You can see the files that are added into the clone folder are seen in GitHub Desktop too. Finally, write your message and push Commit to main.

Move to GitHub Desktop and commit to master

5. Publish branch in GitHub Desktop to upload your all files to GitHub

You can click on Publish Branch to publish all your local content to GitHub.

Publish branch in GitHub Desktop to upload your all files to GitHub.
You can view your repository in GitHub after you have completed all steps.

You can view your repository in GitHub after you have completed all steps.

Git PULL Request

A pull request is a GitHub feature that lets you notify project maintainers about changes you have pushed to a repository. It is not the same as the git pull command—a pull request is a way to propose and review changes before they are merged into the main branch.

The simple command to pull from a branch is:

git pull 'remote_name' 'branch_name'

The git pull command is a combination of git fetch which fetches the recent commits in the local repository and git merge, which will merge the branch from a remote to a local branch. Also, remote_name is the repository name and branch_name is the name of the specific branch.

You'll be looking at two different ways to use thePULL request.

PULL Request through Command Line

You can see the README files below, which contain a typo. The README file has the word "contain" misspelled as "containnns". The owner of this repository is MNALO, and Olivia is the collaborator. She will solve the error and submit a PULL Request. You'll see the process for making a PULL Request through a particular example given below.

PULL Request through Command Line. In the file above, you can see a typo in the word "containnns".

1. Fork the Repository

"The "Fork" is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project. (Source)

1. Fork the Repository.

2. Open your bash in your computer

You need to move to the required path or folder by using the cd command, and the content can be viewed by using the ls command, which will list all of the present files in the directory, and in our case, you can see the 'README.md' is present.

Open your bash in your computer.

3. Make a new branch

You can create a new branch by using the git checkout -b 'branch_name'. In the above code, -b flag is used to create a new branch, and branch_name is used to give the branch a specific name, and with checkout, the branch is switched to the newly created branch.

Make a new branch.

4. Make a change by using vim from bash or direct replacement from the original README file

You can change the word "containnns" to "contains" in the README file, and the changes with the current status can be viewed by using the following command.

Make a change by using vim from bash or direct replacement from the original README file.

5. Adding and Committing a file to the repository

You need to add and commit by using the following commands.

Adding and Committing a file to the repository.

6. Push the repository to the GitHub

You need to push the content by git push origin 'branch_name'. In the above code, origin is the remote repository, and 'branch_name' is the required branch where you need to upload your local content.

Push the repository to the GitHub.

7. PULL request for a specific branch on GitHub

You can move to your repository in GitHub and see that there is a new branch.

You can now move to step 8, but there is a need for a local repository update with the upstream repository. 

Alternatively, you can dogit pull-request in the command line and complete the PULL Request to GitHub, where it will force you to push your current branch to a remote repository.

PULL request for a specific branch on GitHub.

8. Open a Pull request

You need to click the Create pull request button to finish the action.

Open a Pull request

Deleting a Branch after the PULL Request is Merged

You need to move to the main page of the repository and click Pull requests.

Deleting a Branch after the PULL Request is Merged.

You need to click Closed to see the lists of all the PULL Requests that you've made, but there is only one at the moment that needs to be selected. It is the one related to your branch that you want to delete.

Deleting a Branch after the PULL Request is Merged. 2

You can now click Delete branch to complete the action.

Deleting a Branch after the PULL Request is Merged. 3

The owner of the repository can view all the commits, pull request, etc., made by collaborators and others. The changes made by someone can be significant, quick fixes for a bug, errors, etc., and are added to the project.

Deleting a Branch after the PULL Request is Merged. 4

The owner now clicks "Merge pull request". Also, he/she will click "Confirm merge" through the following process.

Deleting a Branch after the PULL Request is Merged. 5

Deleting a Branch after the PULL Request is Merged. 6

The last change made to the README.md file with a corrected typo is below.

Deleting a Branch after the PULL Request is Merged. 7

PULL Request through GitHub Desktop

The file "imp" contains a typo where MNALO is the owner and Olivia is collaborator follows the following process to create a PULL request from GitHub Desktop.

1. Cloning and opening to desktop

A project is cloned and click to "Open in Desktop".

PULL Request through GitHub Desktop

2. Create a new branch

A new branch, "fix-typo-imp" is created.

Create a new branch.

3. Make a change in the imp file from the text editor

You can change the content of the imp file, fix a typo, and add some text.

4. Commit the changes

A commit message written and "Commit to fix-typo-imp" is clicked.

Commit the changes.

5. Publish the branch

You can now publish the branch, which pushes the commit to GitHub.

Publish the branch

6. Create a PULL request

You can now make a PULL request by clicking Create pull request.

You can also now write a message and then click Create pull request again.

Create a PULL Request 1. Create a PULL Request 2.

The process afterward is the same as above in "PULL Request through Command Line".

Conclusion

As a next step, try ourGitHub Conceptscourse to keep practicing with everyday tasks. I would also obtain our GitHub Foundations Certification, which was built as a result of our GitHub partnership. Completing it looks great on a resume, plus there's a big discount on the exam cost when you finish the course.Finally, I would check out GitHub Actions, as they are increasingly used in CI/CD workflows, which relate to push/pull operations.

Get certified in your dream Data Engineer role

Our certification programs help you stand out and prove your skills are job-ready to potential employers.

Get your Certification
Timeline mobile.png

FAQs

What is a Git push command?

The git push command is used to upload content from your local repository to a remote repository like GitHub. This is essential for sharing your changes with others or for syncing your local development with a public or shared repository.

How do I perform a Git pull request?

A Git pull request is not just a direct Git command but a feature provided by GitHub to notify project maintainers about changes you’ve pushed to a repository on GitHub. You initiate this by making changes in your fork of the repository, pushing these changes, and then submitting a pull request through GitHub’s web interface.

What is the difference between git pull and git fetch?

git pull does two things: it fetches changes from a remote branch and then immediately merges them into your current branch. git fetch, on the other hand, only fetches the changes from the remote repository but does not merge them, allowing you to review these changes before integrating them into your branch.

Can I delete a branch after merging a pull request?

Yes, after a pull request is merged, you can safely delete the branch as it has served its purpose. Deleting the branch helps keep the repository clean and manageable.

What are the prerequisites for using GitHub Desktop for Git operations?

To use GitHub Desktop, you need to download and install the application on your system, have a GitHub account, and ideally some familiarity with GitHub’s workflow. It is a user-friendly interface that simplifies many Git commands into clickable actions.

How do I resolve conflicts during a Git pull request?

Conflicts occur when changes in one branch overlap with changes in another where they can’t be automatically merged. To resolve these, you must manually edit the files to decide what the final content should be, update the changes, and then complete the merge process. Tools within GitHub and GitHub Desktop can help identify and resolve these conflicts.

What prompted GitHub to change the default branch name from master to main?

GitHub changed the default branch name to align with inclusive language practices. The term "master" was seen by some as potentially insensitive, and "main" was chosen as a neutral and descriptive alternative. 

Topics

Data Science Courses

Course

Introduction to R

4 hr
3M
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.
See DetailsRight Arrow
Start Course
See MoreRight Arrow
Related

Tutorial

Git Fetch vs Pull: Understanding The Differences

Learn the differences between Git Fetch and Git Pull in this comparison guide.

Austin Chia

Tutorial

Pull Request in Git: Your Guide to How It Works

Learn how pull requests streamline code reviews, boost collaboration, and keep your development workflow clean and efficient.
Allan Ouko's photo

Allan Ouko

Tutorial

Git Merge Tutorial: A Comprehensive Guide with Examples

Learn how to merge branches efficiently in Git with this step-by-step tutorial. Explore different merge strategies, resolve conflicts, and apply best practices to keep your Git history clean.
Srujana Maddula's photo

Srujana Maddula

Tutorial

Git Rename Branch: How to Rename Local or Remote Branch

Learn how to rename local and remote Git branches using either the terminal or the graphical user interface (GUI) of popular clients like GitHub.
François Aubry's photo

François Aubry

Tutorial

How to Install Git For Windows

A quick setup guide on how to install Git on Windows via GUI and CLI.
Oluseye Jeremiah's photo

Oluseye Jeremiah

Tutorial

Git Pull: Keeping Your Local Repository Up to Date

The git pull command retrieves updates from a remote repository and merges them into your current branch. Keep reading to learn to avoid unnecessary merge conflicts.
Oluseye Jeremiah's photo

Oluseye Jeremiah

See MoreSee More

Grow your data skills with DataCamp for Mobile

Make progress on the go with our mobile courses and daily 5-minute coding challenges.

Learn
Learn PythonLearn AILearn Power BILearn Data EngineeringAssessmentsCareer TracksSkill TracksCoursesData Science Roadmap
Plans
PricingFor StudentsFor BusinessFor UniversitiesDiscounts, Promos & SalesExpense DataCampDataCamp Donates
Privacy PolicyCookie NoticeDo Not Sell My Personal InformationAccessibilitySecurityTerms of Use

© 2026 DataCamp, Inc. All Rights Reserved.