# Re: 3 question about how to use Git .

3 messages from 2010-01-27 to 2010-01-27. Participants: honglei junan, Crane Cai, Jeff King.
Thread: https://gitlist.dev/t/22407

## honglei junan, 2010-01-27 08:35

Subject: Re: 3 question about how to use Git .
Message-ID: <e78dc7d71001270035p4e235f18o59029b93bea25d4e@mail.gmail.com>
URL: https://gitlist.dev/e/e78dc7d71001270035p4e235f18o59029b93bea25d4e%40mail.gmail.com
In-Reply-To: <e78dc7d71001270034k48e1a386p64e01eb8d6d1187a@mail.gmail.com>

```
hi,i have three questions seem not not appear in GitFaq,yet confuse me much :
*) since I've already commit many patches before telling git my name
and email,should i roll back and recommit all patches to make my name
in repository?
*) i create a new branch ms_port,and then commit several patches like,
    commit 1->commit 2->commit 3->commit 4
now i just want to change commit2,without change any others,how could
i do it?since i only change the local repository,i think this should
be allowed.
*) when cloning a git repository,the network is broken down.How could
i went on the clone process when the network being OK ?
since the download speed is very low, i really don't want to remove
all things and download them again.
Many thanks.

```

## Crane Cai, 2010-01-27 09:32

Subject: Re: 3 question about how to use Git .
Message-ID: <20100127093225.GB3708@crane-desktop>
URL: https://gitlist.dev/e/20100127093225.GB3708%40crane-desktop
In-Reply-To: <e78dc7d71001270035p4e235f18o59029b93bea25d4e@mail.gmail.com>

```
On Wed, Jan 27, 2010 at 04:35:53PM +0800, honglei junan wrote:
> hi,i have three questions seem not not appear in GitFaq,yet confuse me much :
> *) since I've already commit many patches before telling git my name
> and email,should i roll back and recommit all patches to make my name
> in repository?
One way I do:
#checkout your commits
git format-patch since-your-commit
#reset head to begin
git reset --hard since-your-commit
#change your commits in patches, then am
git am your-patches
> *) when cloning a git repository,the network is broken down.How could
> i went on the clone process when the network being OK ?
> since the download speed is very low, i really don't want to remove
> all things and download them again.
you need not to remove, just redo clone.

-- 
Best Regards,
- Crane

```

## Jeff King, 2010-01-27 09:52

Subject: Re: 3 question about how to use Git .
Message-ID: <20100127095253.GC6262@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20100127095253.GC6262%40coredump.intra.peff.net
In-Reply-To: <e78dc7d71001270035p4e235f18o59029b93bea25d4e@mail.gmail.com>

```
On Wed, Jan 27, 2010 at 04:35:53PM +0800, honglei junan wrote:

> hi,i have three questions seem not not appear in GitFaq,yet confuse me much :
> *) since I've already commit many patches before telling git my name
> and email,should i roll back and recommit all patches to make my name
> in repository?

You can use filter-branch to do it automatically. Something like:

  export BAD_EMAIL='The Wrong Email in Your Commits'
  export GOOD_NAME='Your Correct Name'
  export GOOD_EMAIL='Your Correct Email'
  git filter-branch --env-filter '
    if test "$GIT_COMMITTER_EMAIL" = "$BAD_EMAIL"; then
      GIT_COMMITTER_NAME=$GOOD_NAME
      GIT_COMMITTER_EMAIL=$GOOD_EMAIL
    fi
    if test "$GIT_AUTHOR_EMAIL" = "$BAD_EMAIL"; then
      GIT_AUTHOR_NAME=$GOOD_NAME
      GIT_AUTHOR_EMAIL=$GOOD_EMAIL
    fi
  '

which will rewrite just the commits with the problem.  Note that this
will rewrite the history of those commits. If you've shared the old ones
with others, they will see them as entirely new commits instead of
replacements.

> *) i create a new branch ms_port,and then commit several patches like,
>     commit 1->commit 2->commit 3->commit 4
> now i just want to change commit2,without change any others,how could
> i do it?since i only change the local repository,i think this should
> be allowed.

Try "git rebase -i commit1".

> *) when cloning a git repository,the network is broken down.How could
> i went on the clone process when the network being OK ?
> since the download speed is very low, i really don't want to remove
> all things and download them again.

Git doesn't currently support restartable clone. It's something that
would be nice to have, but there are some technical issues that make it
more difficult than simply starting where we left off (namely that the
pack that is being downloaded via the git protocol is generated on the
fly). You can find some previous discussions by searching the list for
"restartable clone".

-Peff

```
