On the host the repository is only local for now. Initialized and have several [local] commits without a single push to remote.
On my host machine I have parent
folder with a Git repository on it.
I have shared parent
folder with the guest machine, after login on the VM the folder is in /media/sf_parent
.
In a terminal I do cd /media/sf_parent
at the moment the content seems to be properly shared.
But when I change to the repo
folder I tried to do a git status
and the output is as everything single file in the repository is tracked but modified.
The strange part is that the git log
delivers the last commit I have made on host.
I tried to visually compare both "versions" of the repository folder with ls
and they the same value for "update date" and "file size" but have different values for "owner", "group" and "permissions".
What could be the problem?
Maybe Virtualbox somehow does not support this?
Might be the conflict on filesystem level with "owner" and "permissions"?
With the help of git config I was able to resolve this problem as I suspected and @g19fanatic suggested this problem seems to be related with "user permissions".
After reading a lot of the properties on the page I tested this two:
git config core.filemode false
git config core.ignorecase false
PS: Their are both true
as default.
Restarted the VM and it worked, now working tree is synced between host and guest.
linux user administration is your problem. Your vm doesn't know what/who the group/users are from your host machine and vice/versa. The can be fixed by using separate authentication servers for user accounts but that answer is out of scope for StackOverflow.
One git
way to fix this would be to host a bare repository on the shared folder and clone locally to the VM. push/pull changes as necessary
from host
cd shared/folder
mkdir <repo name>.git #.git isn't really needed but is typical
cd <repo name>.git
git init --bare
cd <current repo location>
git remote add origin <path to repo.git folder>
git push --all
from vm
cd ~
git clone <path to shared folder bare repo.git>
be sure to set the username and email address when on the VM so that the commits are attributed to the correct people (using git config
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With