git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Zorba" <cr@altmore.co.uk>
To: git@vger.kernel.org
Subject: Re: getting started, happy with cmd line on windows [Scanned]
Date: Fri, 26 Dec 2008 23:13:20 -0000	[thread overview]
Message-ID: <gj3of4$pr3$3@ger.gmane.org> (raw)
In-Reply-To: 495508B9.7070103@lsrfire.ath.cx

> I then deleted all files from the working directory, so I can pull out
> ONLY the ones in version A.
> I tried both fetch and checkout - but nothing was copied into working
> dir How do I do this ?

git treats deleted files just like edited files: as having been changed
in preparation for the next commit.  You can get back all of the tracked
files using this command:

$ git reset --hard

It undoes _all_ changes: tracked edited files will be reverted to their
in-repository state, deleted files created again.  You can also check
out individual files like this:

$ git checkout ABC.txt

If you just want to get rid of untracked files, you'd use the command
"git clean".

In general, if you switch your work tree from one revision to another
(git checkout), git tries to minimize the I/O needed.  Files that are
the same in both aren't touched.

>>>>>>>>>>>>>>>>>>>

Hi Rene,

Thanks for taking the time.

My workflow is such that I inherit projects that are hard to debug and I 
need to hack around a lot changing a lot of files to output tracking msgs 
just to learn the code's functionality (e,g, PHP on a webserver), but these 
changes I never intend to keep. After learning the code, I want to go back 
to a "last known good". I.e. a previous stable version and start making 
proper changes.

In other SCMs, there was a way to "discard" all local changes, after the 
hacking phase, without EVER having had to commit.

For a while it seemed like you were telling me I had to COMMIT my hacked 
code (against all my instincts :-), and THEN rollback ($ git reset --hard).

Now, I went back and read the manual pages for git-checkout and think I see 
how to do it....

$ <import code>
$ git init
$ git commit
$ git tag versionA <commitID>
$ hack hack hack
...
now ready to start coding, want "last known good"
$ rm *.*
$ git checkout versionA .

This worked fine when versionA had only files and no dirs - but will it work 
ok still if versionA is a proper tree ?
(more of a unix question I suppose - will "." suffice as the path ?) 

  reply	other threads:[~2008-12-26 23:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-26 13:52 getting started, happy with cmd line on windows [Scanned] Conor Rafferty
2008-12-26 16:39 ` René Scharfe
2008-12-26 23:13   ` Zorba [this message]
2008-12-26 23:50     ` Junio C Hamano
2008-12-27  2:18       ` Zorba
2008-12-28 18:39 ` Daniel Barkalow
2008-12-30  1:22   ` Zorba

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

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

  git send-email \
    --in-reply-to='gj3of4$pr3$3@ger.gmane.org' \
    --to=cr@altmore.co.uk \
    --cc=git@vger.kernel.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.
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 NNTP newsgroup(s).