Re: [PATCH v4 4/4] gitfaq: fetching and pulling a repository
- From
Shourya Shukla <shouryashukla.oo@gmail.com>
- Date
- May 2, 2020, 06:57 UTC
- Message-ID
- <20200502065745.GD5582@konoha>
- In-Reply-To
- <CABPp-BFt_5-OyOw9YbYJhhu1P4CJLOi65wdyRckOY5_acRejGg@mail.gmail.com>
On 29/04 08:56, Elijah Newren wrote:
Show 13 quoted lines
> > +[[fetching-and-pulling]] > > +How do I know if I want to do a fetch or a pull?:: > > + A fetch brings in the latest changes made upstream (i.e., the > > + remote repository we are working on). This allows us to inspect > > + the changes made upstream and integrate all those changes (if > > + and only if we want to) or only cherry pick certain changes. > > + Fetching does not have any immediate effects on the local > > + repository. > > Maybe change that last sentence to "Fetching does not modify the > current branch"? The local repository certainly gets bigger, and the > remote tracking branches are updated as well as their reflogs, and it > might trigger a gc, all of which sound like immediate effects to me.
I meant changes in terms of the user's code. Yep you are right, I need to be precise here.
Show 16 quoted lines
> > +
> > + A pull is a wrapper for a fetch and merge. This means that doing
>
> ...for a fetch and merge or a fetch and rebase. This means...
>
> > + a `git pull` will not only fetch the changes made upstream but
> > + integrate them as well with our local repository. The merge may
>
> ...with our current branch. The merge or rebase...
>
> > + go smoothly or have merge conflicts depending on the case. A pull
> > + does not allow you to review any changes made upstream but rather
> > + merge those changes on their own.
>
> I don't understand this last sentence. You can definitely review
> changes made upstream after a pull; e.g. git log @{u}@{1}..@{u}I meant that the pull will apply the changes right away and one does not get the chance to review what is being applied before it has been applied (something a fetch does). I need to be more clear here, understood.
Show 6 quoted lines
> > ++ > > +This is the reason why it is sometimes advised to fetch the changes > > +first and then merge them accordingly because not every change might > > +be of utility to the user. > > I don't understand the purpose of this paragraph.
I intended to emphasise the difference between a fetch and a pull; the fact that fetch just brings in the changes from the remote and doesnot apply them to our code/files right away, while a pull does so.
Also, a nit but, we are supposed to use 1 SP or 2 SP after a full stop(.)? In India we use 1 SP, is it different in other countries?