Question: I am beginner to git and trying some hands on with it on Windows.

I made a repository on Bitbucket. Added Three files ( SAY A , B , C ) to the master branch via Bitbucket online .

Now i have folder on my local PC , where i used `git fetch` for getting those three file. Three files are now in local repository.

Now , i added one other file (SAY D ) on bitbucket , and changed the content of all three files (A , B , C ) .

Now if i try to fetch the changes via `git fetch MY_REMOTE master` , I am not getting any changes in my local. but

* with `git pull MY_REMOTE master` , I am able to see the changes.
* with `git checkout MY_REMOTE/master` , I am able to see the changes.

So the doubt i have ,
* `git fetch` simply copies the changes those are not on the local to the local repo except Local repo have changed the same copy. Why `git fetch` is not working here ?
* I don't understand the purpose of doing `git checkout MY_REMOTE/master` on Local . Why should i do that ?

Answer: 
As you mentioned, [`git fetch`](https://git-scm.com/docs/git-fetch) simply fetches the changes from the remote to your local machine. It doesn't apply them.

`git checkout MY_REMOTE/master` applies the fetched changes to your local copy of the files. **Warning**: If your local files have been modified (and not commited) your local changes will be lost when you type `git checkout MY_REMOTE/master`.

To apply both the remote and local changes

* Commit your local changes: `git commit -a -m "my commit"`
* Apply the remote changes: `git pull origin master`

This will merge the two change sets (local and remote)

Alternatively, you can use `pull --rebase origin master` to first apply your local commits, *then* apply the remote commits.

See also [this answer](https://stackoverflow.com/a/38361930/1370722)
Make sure you add all files and commit.
`git add . && git commit -m "<your_message>"`

also check any setting at coc-setting.json