git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: Kyle Rose <krose@krose.org>
Cc: git mailing list <git@vger.kernel.org>
Subject: Re: new to git
Date: Mon, 27 Aug 2007 22:22:40 +0200	[thread overview]
Message-ID: <46D33290.20405@op5.se> (raw)
In-Reply-To: <46D32973.8030104@krose.org>

First of all, welcome to git :)

Having been away from the mailing list for too long, I can't answer all
your questions. I'll take a stab at the ones I've got a clue about though.

I also recommend that you upgrade your git installation to at least 1.5.3,
as most of the people figuring on this list will most likely give advice
that matches that version.

For reference, the git documentation can be found at
http://www.kernel.org/pub/software/scm/git/docs/

J. Bruce Fields et al have written some really excellent introductory
documents which are a must to anyone who wishes to flatten the initial
learning curve a bit.

Kyle Rose wrote:
> After many years of dissatisfaction with the limitations of CVS, and
> after getting fed up with the complexity of configuring and maintaining
> a SVN setup, I just started using git for my own personal projects.  I
> have to say it's quite nice and fits the UNIX philosophy well: fast,
> simple, powerful.
> 
> I've been playing with it for a few weeks and generally understand what
> is going on, but I do have a few usage questions that I couldn't find
> answered in the docs:
> 
> (1) Let's say I:
> 
> git clone something
> git branch foo
> git checkout foo
> <make some changes>
> git commit -a
> git checkout master
> git pull . foo
> git push
> git pull
> 
> what is actually happening?  The pull appears to do something (i.e., I get:
> 

git pull = git fetch + git merge. The notation you use above is obsoleted
and no longer works in git 1.5.3. Instead you'd have to replace

	git pull . foo

with

	git merge foo

which will most likely clear up some confusion.

> * refs/remotes/origin/master: fast forward to branch 'master' of
> /home/krose/git-repository/baz/
>   old..new: 7cf088c..d344f98
> 
> ), but makes no changes locally since I have the latest revision. 
> Another subsequent git pull does, in fact, say everything is up to date.
> 

It should have made changes to your local tree, namely the ones you added
to branch foo that weren't in master before you merged.

The fact that it turned out to be a fast forward only means that you had
no additional commits on top of master, so the history in foo could be
applied on top of master without any file-level merging taking place.

> (2) Any way to disable this warning:
> 
> Warning: No merge candidate found because value of config option
>          "branch.local.merge" does not match any remote branch fetched.
> 

Yes. Edit your .git/config file to add a merge candidate for your local
branch.

> (3) I notice I can't reset --hard a single file.  So, if I want to
> revert a single file to some revision, blowing away my changes, what is
> the accepted way of doing this?  Is there a way to do the equivalent of
> a p4 print foo@some_revision?
> 

	git checkout treeish path/to/file

according to the man-page at least. "treeish" here can be substituted
for a revision, which in git is represented by a 40 byte SHA1 hash, but
also has a lot of short-hand options. See "git help rev-list" for more
info on that.

> (4) I'm still not clear on when a dst should and should not be used in a
> refspec.  It appears that one can only do non-fast forward updates to
> the branch that is checked out (which makes sense, since you may need to
> resolve), but other than that, what is the difference between
> 
> git checkout foo
> git pull . master
> 
> and
> 
> git checkout master
> git push . master:foo
> 
> ?
> 

Here I'm clueless, except that this matches old syntax which is no longer
valid. I'd recommend you to upgrade to 1.5.3 so that you get to use
git-merge for local merges. The "use push/pull for merging" has caused
enough confusion, I think.

> (5) Are there any tools for managing some of the metadata (e.g., the
> origin URL) or is it expected that one edit it directly?
> 

See the git-remote man page. It's available online if you don't have it.

> Thanks for all your work on this: git fills a need I didn't know I had
> until I actually found myself using it: a completely decentralized patch
> management system.
> 

It's more than that, but many of us share your feeling about it filling
a need we didn't know we had.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

  parent reply	other threads:[~2007-08-27 20:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-27 19:43 new to git Kyle Rose
2007-08-27 20:11 ` J. Bruce Fields
2007-08-27 20:22 ` Andreas Ericsson [this message]
2007-08-27 20:36   ` Kyle Rose
2007-08-27 20:39   ` Junio C Hamano
2007-08-27 21:14     ` Andreas Ericsson
2007-09-05  5:56 ` Jan Hudec
2007-09-05  6:54 ` Junio C Hamano
  -- strict thread matches above, loose matches on Subject: below --
2011-04-08 19:43 New " Marco Maggesi
2011-04-08 20:10 ` Jeff King
2011-04-09 19:15   ` Marco Maggesi
2011-04-09 19:35     ` Dmitry Potapov
2011-04-09 22:41     ` Matthieu Moy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46D33290.20405@op5.se \
    --to=ae@op5.se \
    --cc=git@vger.kernel.org \
    --cc=krose@krose.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).