git-credential-store using git-credential-cache--daemon
I am using git-credential-store with my repository. However I noticed when I run git push it launches git-credential-cache--daemon and will not close it until I close the terminal.
If I am using git-credential-store and my credentials are saved in ~/.git-credentials, why is this program needed?
Even if this program is needed, why doesnt it close after git push completes?
$ git config --global credential.helper store
For the life of me looking at the git source code I cannot figure out why the git-credential-cache--daemon would have started if you configured git to use git-credential-store. Can you describe how you configured your credential helper to be git-credential-store? What you should have done is the following
git config --global credential.helper store
When I used this configuration on my machine, the git-credential-cache--daemon was never launched.
Regarding the second piece of the question, the git-credential-cache--daemon opens when it is called as a helper to fill a credential request and stays open for a default time out period of 900 seconds. You can modify the timeout behavior so it will close quicker by changing the option in your config. It stays open to quickly serve requests from memory for further authentication.
More details on the git credentials API here.
The daemon can be killed like this
kill -7 $(ps | awk /daemon/,NF=1)
However I have noticed with my current version this problem has been resolved.
$ git --version git version 2.0.4