git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Best single user practice

From
Jakub Narebski <jnareb@gmail.com>
Date
Oct 9, 2010, 22:49 UTC
Message-ID
<m31v7zf0e0.fsf@localhost.localdomain>
In-Reply-To
<loom.20101009T233356-82@post.gmane.org>
Maaartin <grajcar1@seznam.cz> writes:
Show 8 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.
> 
> - Is it not possible to create a remote repository from my own computer without 
> ssh?

No, it isn't. "git push --create" / remote "git init" is one of requested features for quite some time, but it isn't yet implemented.

IIRC the problem is that without being able to log in to remote machine there are situations when yoy can't resolve problems without it.

You can always use "ssh <user>@<machine> git init <directory>" (though it is not a solution in your case, at least not as given, because "git init <directory>" is quite new invention).

> - 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?
Well, with 1.5.4.3 you can't use "smart" HTTP protocol, but git is
deliberately interoperable between different versions of client and
server software.
 
> - 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.)?
This should be O.K.  And you can always rename DIR/.git ro DIR.git...
> 
> - The very first time I need to do "git push origin master", later "git push" 
> suffices. I wonder why.

It is because default git behavior is to push matching branches, i.e. all branches having the same name in both ends (you can change it using `push.default` config option, see git-config and git-push manpages).

This is the default behavior, because it allows you to easily control which branches you want to have visible in remote repository.

[...]
> - Sometimes, I use "git push --force", how do I clean up the resulting garbage 
> on the server?
"git gc" on server.
> 
> - 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?

You can always change `push.default`, or you can provide push refspecs which pushes all branches, like remote.origin.push = +refs/heads/*:refs/heads/*

Note that the opissite side of the coin is ensuing that nothing that doesn't have to be pushed didn't get to be pushed.

HTH (Hope That Helps)
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Andreas Schwab
Message 4 of 4 in “Best single user practice”
  1. MaaartinOct 9, 2010
  2. Kevin BallardOct 9, 2010
  3. Andreas SchwabOct 10, 2010
  4. Jakub NarebskiOct 9, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.