# Question regarding: git pull --no-commit origin

5 messages from 2007-03-25 to 2007-03-26. Participants: Geoff Russell, Shawn O. Pearce, Jeff King.
Thread: https://gitlist.dev/t/7397

## Geoff Russell, 2007-03-25 23:32

Subject: Question regarding: git pull --no-commit origin
Message-ID: <93c3eada0703251632s3be48b60na03728ce72b8ab8c@mail.gmail.com>
URL: https://gitlist.dev/e/93c3eada0703251632s3be48b60na03728ce72b8ab8c%40mail.gmail.com

```
Hi,

I'm using version 1.5.0.5

I do: git pull --no-commit origin

Receive messages ending in:

        ...
       Updating 6a29cdd..b7ba33d
       Fast forward
       interface/testfile |    1 +
       1 files changed, 1 insertions(+), 0 deletions(-)
       create mode 100644 interface/testfile

My working directory is correctly updated. I assume that I can make further mods
and then commit.

However when I do: git commit -a

I'm told: nothing to commit (working directory clean)

Am I misunderstanding something?

Cheers,
Geoff Russell

```

## Shawn O. Pearce, 2007-03-25 23:38

Subject: Re: Question regarding: git pull --no-commit origin
Message-ID: <20070325233823.GA13247@spearce.org>
URL: https://gitlist.dev/e/20070325233823.GA13247%40spearce.org
In-Reply-To: <93c3eada0703251632s3be48b60na03728ce72b8ab8c@mail.gmail.com>

```
Geoff Russell <geoffrey.russell@gmail.com> wrote:
> I do: git pull --no-commit origin
> 
> Receive messages ending in:
> 
>        ...
>       Updating 6a29cdd..b7ba33d
>       Fast forward
>       interface/testfile |    1 +
>       1 files changed, 1 insertions(+), 0 deletions(-)
>       create mode 100644 interface/testfile
...
> However when I do: git commit -a
> 
> I'm told: nothing to commit (working directory clean)
> 
> Am I misunderstanding something?

The pull was strictly a fast-forward.  No merge commit was necessary
to record the merge, so we didn't actually honor the --no-commit
argument.

In other words, your current branch did not contain any commits
that were not in the origin branch you were pulling from.  So
a real merge wasn't required here.

-- 
Shawn.

```

## Geoff Russell, 2007-03-26 01:16

Subject: Re: Question regarding: git pull --no-commit origin
Message-ID: <93c3eada0703251816lc430e03l71ee2ffaa3d8796@mail.gmail.com>
URL: https://gitlist.dev/e/93c3eada0703251816lc430e03l71ee2ffaa3d8796%40mail.gmail.com
In-Reply-To: <20070325233823.GA13247@spearce.org>

```
On 3/26/07, Shawn O. Pearce <spearce@spearce.org> wrote:
> Geoff Russell <geoffrey.russell@gmail.com> wrote:
> > I do: git pull --no-commit origin
> >
> > Receive messages ending in:
> >
> >        ...
> >       Updating 6a29cdd..b7ba33d
> >       Fast forward
> >       interface/testfile |    1 +
> >       1 files changed, 1 insertions(+), 0 deletions(-)
> >       create mode 100644 interface/testfile
> ...
> > However when I do: git commit -a
> >
> > I'm told: nothing to commit (working directory clean)
> >
> > Am I misunderstanding something?
>
> The pull was strictly a fast-forward.  No merge commit was necessary
> to record the merge, so we didn't actually honor the --no-commit
> argument.
>
> In other words, your current branch did not contain any commits
> that were not in the origin branch you were pulling from.  So
> a real merge wasn't required here.

Thanks Shawn, but my situation is I have the MASTER repository and I'm
pulling from a TEST repository. I want to double
check the updates other people have done
on the TEST repository, and if they are okay, then commit them.

If --no-commit won't let me do this then perhaps I need something like:

          git pull origin:testing
          git checkout testing
           .... test
          git checkout master ; git pull . testing

i.e., make a branch for the test changes and then merge this branch.

Cheers,
Geoff
>
> --
> Shawn.
>

```

## Jeff King, 2007-03-26 01:47

Subject: Re: Question regarding: git pull --no-commit origin
Message-ID: <20070326014757.GA28592@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20070326014757.GA28592%40coredump.intra.peff.net
In-Reply-To: <93c3eada0703251816lc430e03l71ee2ffaa3d8796@mail.gmail.com>

```
On Mon, Mar 26, 2007 at 10:46:09AM +0930, Geoff Russell wrote:

> If --no-commit won't let me do this then perhaps I need something like:
> 
>          git pull origin:testing
>          git checkout testing
>           .... test
>          git checkout master ; git pull . testing

Close.  Remember that a pull is basically a fetch + merge; so your first
command is just the fetch:

  # fetches everything from origin
  git fetch
  # see what they have that we don't
  git whatchanged HEAD..origin/testing
  # check out their code in more detail
  git checkout origin/testing
  # or even make our own branch in case we have tweaks to make
  git checkout -b testing origin/testing
  # and once we're OK, do the merge
  git checkout master; git merge origin/testing

All of that assumes git 1.5 or greater, which uses the separate remote
layout and has some interface improvements. For older versions, their
'testing' branch will be pulled into your 'testing' branch, and I
believe you will need to 'git pull . testing' to merge it.

-Peff

```

## Geoff Russell, 2007-03-26 02:17

Subject: Re: Question regarding: git pull --no-commit origin
Message-ID: <93c3eada0703251917j3ed8702dvc622bb94a1e5e8af@mail.gmail.com>
URL: https://gitlist.dev/e/93c3eada0703251917j3ed8702dvc622bb94a1e5e8af%40mail.gmail.com
In-Reply-To: <20070326014757.GA28592@coredump.intra.peff.net>

```
On 3/26/07, Jeff King <peff@peff.net> wrote:
> On Mon, Mar 26, 2007 at 10:46:09AM +0930, Geoff Russell wrote:
>
> > If --no-commit won't let me do this then perhaps I need something like:
> >
> >          git pull origin:testing
> >          git checkout testing
> >           .... test
> >          git checkout master ; git pull . testing
>
> Close.  Remember that a pull is basically a fetch + merge; so your first
> command is just the fetch:
>
>   # fetches everything from origin
>   git fetch
>   # see what they have that we don't
>   git whatchanged HEAD..origin/testing
>   # check out their code in more detail
>   git checkout origin/testing
>   # or even make our own branch in case we have tweaks to make
>   git checkout -b testing origin/testing
>   # and once we're OK, do the merge
>   git checkout master; git merge origin/testing
>
> All of that assumes git 1.5 or greater, which uses the separate remote
> layout and has some interface improvements. For older versions, their
> 'testing' branch will be pulled into your 'testing' branch, and I
> believe you will need to 'git pull . testing' to merge it.
>
> -Peff
>

Ok, that's all nice and clear now. Many thanks.

Geoff.

```
