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

Re: help with git usage

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Apr 29, 2008, 18:07 UTC
Message-ID
<alpine.LNX.1.00.0804291354070.19665@iabervon.org>
In-Reply-To
<200804291738.m3THc2hC030601@rs40.luxsci.com>
On Tue, 29 Apr 2008, Daniel Quinlan wrote:
Show 15 quoted lines
> I've been trying to use git for awhile now, (and I've read a lot of
> documentation, though maybe my
> comprehension has not been high enough) but there are several operations which
> I
> can't figure out:
> 
> 1) After cloning a repository from work at home, making some changes and
> committing them,
> I use "git push" to push them back to the work repository.  The changes seem
> to make it to the
> work repository (I see the commit message in git log), but I can't figure out
> how to get the
> changes into the working set at work.  (evidently not merge, checkout or reset
> -- seems like it
> should be merge, but)

You shouldn't push to a non-bare repository. You should, instead, set up a bare repository for publishing your changes, and have all of the repositories you work in be clones of that. The issue is that git doesn't expect something outside of the repository to change the current branch (much like CVS doesn't expect something else to update CVS/Entries in your working directory). Another alternative is, from home, to do:

$ git push origin refs/heads/*:refs/remotes/home/*
Then, at work, you can do:
$ git merge home/master
Show 5 quoted lines
> 2) I can't figure out how to get back the latest (or any other) version of a
> file I've modified (or deleted)
> in the working set.  (Well, I suppose I could checkout the whole tree
> somewhere else and copy the
> relevant file, but I'm hoping there's something simpler).
$ git checkout HEAD -- <filename>
(And you can use any commit instead of HEAD to get other versions)
Show 5 quoted lines
> 3) Similarly, I can't use the little context diffs I can see in git-gui  -- I
> need to see side by side comparisons;
> I've become accustomed to tkdiff.  It seems like git mergetool knows how to do
> that in some restricted
> circumstances, but I want to do it outside the context of a merge.

This I don't know, but you can get particular files from particular commits output with "git show <commit>:<path>", and you can likely wire something up.

	-Daniel
*This .sig left intentionally blank*
Previous: Daniel QuinlanNext: Jakub Narebski
Message 2 of 12 in “help with git usage”
  1. Daniel QuinlanApr 29, 2008
  2. Daniel BarkalowApr 29, 2008
  3. Jakub NarebskiApr 30, 2008
  4. Daniel QuinlanMay 7, 2008
  5. Julian PhillipsMay 8, 2008
  6. Dirk SüsserottMay 8, 2008
  7. Jakub NarebskiMay 8, 2008
  8. Matt GrahamApr 30, 2008
  9. Andreas EricssonApr 30, 2008
  10. Richard QuirkApr 30, 2008
  11. Jakub NarebskiApr 30, 2008
  12. Richard QuirkApr 30, 2008

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.