git pull latest changes from branch code example

Example 1: how to pull the latest changes from git

Case 1: Don’t care about local changes

Solution 1: Get the latest code and reset the code

git fetch origin
git reset --hard origin/[tag/branch/commit-id usually: master]
Solution 2: Delete the folder and clone again :D

rm -rf [project_folder]
git clone [remote_repo]
Case 2: Care about local changes

Solution 1: no conflicts with new-online version

git fetch origin
git status
will report something like:

Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
Then get the latest version

git pull
Solution 2: conflicts with new-online version

git fetch origin
git status
will report something like:

error: Your local changes to the following files would be overwritten by merge:
    file_name
Please, commit your changes or stash them before you can merge.
Aborting
Commit your local changes

git add .
git commit -m ‘Commit msg’
Try to get the changes (will fail)

git pull
will report something like:

Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
Open the conflict file and fix the conflict. Then:

git add .
git commit -m ‘Fix conflicts’
git pull
will report something like:

Already up-to-date.

Example 2: what does git fetch do

The git fetch command downloads commits, files, and refs from a
remote repository into your local repo. Fetching is what you do
when you want to see what everybody else has been working on.
... When downloading content from a remote repo,
git pull and git fetch commands are available to accomplish
the task.