Why there is Fetch option when I haven't touch my code

I am using GitHub Desktop. I haven’t touched my code from the last 2 months. Today when I try to push commit. It pop-up with msg:
“there are commits on the remote that are not present on your local branch. Fetch these new commit in order to reconcile them with your local commits.”
The repositories only contain my exercise I did when I am learning c-sharp (not any project).
So, I have to first pull commit and then push it, in order to make my push.

My question are:
How the change occurs when no one touch my repository(include me) in remote repository???
By pull does the code change in my machine??
How I know what is change before or after that pull?

Thanks in advance.

:wave: Welcome!

If you’re unsure what changes have occurred in your repository, you can simply check the commit history.

 https://github.com/BurairAbbas/REPONAME/commits/main

That will list all your commits in that repository. You can click on the commit reference on the right hand side to see the changes that were made in that commit.