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

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?

Previous: Junio C HamanoNext: Elijah Newren
Message 16 of 21 in “gitfaq: files in .gitignore are tracked”
  1. 1/4 gitfaq: files in .gitignore are trackedShourya Shukla, Apr 29, 2020
  2. 2/4 gitfaq: changing the remote of a repositoryShourya Shukla, Apr 29, 2020
  3. Elijah NewrenApr 29, 2020
  4. Junio C HamanoApr 29, 2020
  5. 3/4 gitfaq: shallow cloning a repositoryShourya Shukla, Apr 29, 2020
  6. Elijah NewrenApr 29, 2020
  7. Shourya ShuklaMay 2, 2020
  8. Junio C HamanoApr 29, 2020
  9. Shourya ShuklaMay 2, 2020
  10. Junio C HamanoMay 4, 2020
  11. Derrick StoleeMay 5, 2020
  12. dyrone tengMay 6, 2021
  13. 4/4 gitfaq: fetching and pulling a repositoryShourya Shukla, Apr 29, 2020
  14. Elijah NewrenApr 29, 2020
  15. Junio C HamanoApr 29, 2020
  16. Shourya ShuklaMay 2, 2020
  17. Elijah NewrenMay 2, 2020
  18. Junio C HamanoMay 3, 2020
  19. Elijah NewrenApr 29, 2020
  20. Shourya ShuklaMay 2, 2020
  21. Junio C HamanoApr 29, 2020

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.