The question of the subject relates to what gitguys.com seemS to claim in order to explain that "the output of git status should not change" in an environment of multiple users working off NON-NARE repository (http://www.gitguys.com/topics/shared-repositories-should-be-bare-repositories/)
Within the aforementioned webpage it is explained that if someone created " a non-bare git repository with both the git repository user and remote users updating the git object database. The creator of the non-bare git repository would use the git status command one minute and see this: $ git status
# On branch master
nothing to commit (working directory clean)
The next minute, a remote user could git push a change into the non-bare repository. Then when the creator of the non-bare git repository types git status, git would find a different object database and give different results for this run of git status." The tutorial concludes with the following assertion which I find hard to explain based on what I know: The output of git status should not change unless the user has changed files in the working directory or their object database!
I find this "hard to explain" because this statement is the rationale behind why bare repositories (as opposed to non-bare repositories) should be employed in central repository environment where multiple users share that repository. This statement does not seem to be correct for me and therefore makes it difficult to reason why bare repositories are required in multiple users development environment. It's not correct because it IMPLIES THAT GIT STATUS IS AFFECTED BY THE STATE OF THE SERVER REPOSITORY WHEREAS i THOUGHT/BELIEVED THAT git status takes into consideration only the LOCAL .git file objects and the working directory (i.e., not on the server)
Please note that I have been trying to reason why bare repositories are necessaries without just taking as a given that bare repositories are good for shared environment -- but so far I have not done so with much success (including in this website, perhaps because I did not pose the issue at hand properly; I hope this time I got it right as far as laying out the issue)
can someone explain how could it be that even when dealing with non-bare repositories with multiple users (assume 2 users: USER A and USER B), USER A, for example, might get 2 different results when issuing git status because of a change, followed with git push by USER B