Re: Best single user practice
On Oct 9, 2010, at 3:24 PM, Maaartin wrote:
Show 5 quoted lines
> I've started using git maybe one month ago, and I'd like to use it for many
> things including some one-man projects, browser settings backups, and such
> things. So I always do a local git init, ssh to my server and create a repo
> there. I copy the .git/config from a working project, and change the remote
> URL. It all works, but it's not perfect.
Why do you copy .git/config? Anything that you want to share in all projects should just be put into ~/.gitconfig (this can also be done with `git config --global`). Anything that's put into .git/config should be specific to that particular project.
> - Is it not possible to create a remote repository from my own computer without
> ssh?
If you use a web interface on the server to manage git repos (e.g. Gitorious) you can generally create repos via the web interface.
> - There's only version 1.5.4.3 on the server and I don't want to update it
> unless strongly recommended so. Should I?
1.5.4.3 is roughly 2 years and 8 months old. I would strongly recommend you update.
> - Because of the low version, I can't use "git init --bare" on the server. So I
> create an usual depository and change the configuration to bare=true. Is it OK
> (I really don't mind the repo being placed in DIR/.git instead of DIR itself.)?
`git init --bare` is incorrect anyway. What you really want is `git --bare init`.
> - The very first time I need to do "git push origin master", later "git push"
> suffices. I wonder why.
The very first time, it's creating the master branch on the remote. Subsequent invocations of `git push` will detect the presence of the remote master and push to that. The default mode for `git push` is to push all matching branches (e.g. branches that exist on both the local and remote sides).
Show 11 quoted lines
> - My local repository created by "git init" (version 1.7.2.3 under cygwin)
> contains
> [core]
> repositoryformatversion = 0
> filemode = true
> bare = false
> logallrefupdates = true
> ignorecase = true
> but I'd prefer to specify there as little as possible, since the settings for
> all my repositories should be the same (at least for the moment). What can be
> safely removed?
Why does it matter? These are created by the call to `git init`. There's really no reason to try and remove items from .git/config unless you definitively don't want them. And as I said before, any settings you want in common between your repos should be placed into ~/.gitconfig
> - How can I ensure that everything important gets pushed to the server? Maybe
> by using "git push --mirror"? Obviously and logically, .git/config doesn't get
> pushed, but maybe I miss something more important, too?
What do you consider important besides your branches?
-Kevin Ballard