I've Googled around, and tried some experiments with likely-looking
tools like git log, git diff, and git ls-remote, but they only seem to
operate on the local repository. In particular, there doesn't seem to be
an obvious way to view the commit logs on a remote repository without
pulling it first.
On an intuitive level, it seems like "git log origin" would allow me to
see what someone has committed to a remote repository so I can decide
whether it's something I want to pull. Even something like "git diff
HEAD origin" would let me know if there were changes I might want to
pull before doing so.
Am I missing something obvious? Is it possible to use the CLI to view
remote logs, or is the only choice to pull everything?
--
"Oh, look: rocks!"
-- Doctor Who, "Destiny of the Daleks"
On Tue, Oct 14, 2008 at 12:19:07AM -0700, Todd A. Jacobs wrote:
I've Googled around, and tried some experiments with likely-looking
tools like git log, git diff, and git ls-remote, but they only seem to
operate on the local repository. In particular, there doesn't seem to be
an obvious way to view the commit logs on a remote repository without
pulling it first.
Remember that pull is really "fetch + merge". So you can do just the
fetch part without affecting your local branches.
On an intuitive level, it seems like "git log origin" would allow me to
see what someone has committed to a remote repository so I can decide
It does. It just uses the remote tracking branch for "origin" instead of
contacting the remote.
whether it's something I want to pull. Even something like "git diff
HEAD origin" would let me know if there were changes I might want to
pull before doing so.
And that works, too. Once fetched, you can use "origin" as you would any
other ref.
-Peff
Todd A. Jacobs venit, vidit, dixit 14.10.2008 09:19:
I've Googled around, and tried some experiments with likely-looking
tools like git log, git diff, and git ls-remote, but they only seem to
operate on the local repository. In particular, there doesn't seem to be
an obvious way to view the commit logs on a remote repository without
pulling it first.
On an intuitive level, it seems like "git log origin" would allow me to
see what someone has committed to a remote repository so I can decide
whether it's something I want to pull. Even something like "git diff
HEAD origin" would let me know if there were changes I might want to
pull before doing so.
Am I missing something obvious? Is it possible to use the CLI to view
remote logs, or is the only choice to pull everything?
You can always fetch (rather than pull) and then decide whether to pull
(i.e. merge or rebase FETCH_HEAD) or not.
The problem with "remote log" is that log can show diffstats, full diffs
etc, so that it would need all new objects anyways.
If you want to avoid fetching new objects the only way is to run git log
etc. on the remote side. You can do this with ssh, but the other
transports (git:, http:) don't support this.
Michael