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
Elijah Newren <newren@gmail.com>
Date
Apr 29, 2020, 15:56 UTC
Message-ID
<CABPp-BFt_5-OyOw9YbYJhhu1P4CJLOi65wdyRckOY5_acRejGg@mail.gmail.com>
In-Reply-To
<20200429093811.8475-4-shouryashukla.oo@gmail.com>

On Wed, Apr 29, 2020 at 2:38 AM Shourya Shukla <shouryashukla.oo@gmail.com> wrote:

Show 25 quoted lines
>
> Add an issue in 'Common Issues' section which addresses the confusion
> between performing a 'fetch' and a 'pull'.
>
> Signed-off-by: Shourya Shukla <shouryashukla.oo@gmail.com>
> ---
>  Documentation/gitfaq.txt | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/Documentation/gitfaq.txt b/Documentation/gitfaq.txt
> index 6f32846e3d..e091513639 100644
> --- a/Documentation/gitfaq.txt
> +++ b/Documentation/gitfaq.txt
> @@ -253,6 +253,26 @@ way of cloning it in lesser space?::
>         Any entity which has not been cloned to save space can be cloned
>         on-demand. See linkgit:partial-clone[1].
>
> +[[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.

> +
> +       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}

> ++
> +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.
Previous: Shourya ShuklaNext: Junio C Hamano
Message 14 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.