On Wed, Apr 29, 2020 at 2:38 AM Shourya Shukla <shouryashukla.oo@xxxxxxxxx> wrote: > > 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@xxxxxxxxx> > --- > 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.