Thread (12 messages) 12 messages, 2 authors, 2020-05-02

Re: [PATCH v4 4/4] gitfaq: fetching and pulling a repository

From: Shourya Shukla <hidden>
Date: 2020-05-02 07:00:35

On 29/04 08:56, Elijah Newren wrote:
quoted
+[[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.
quoted
+
+       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...
quoted
+       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...
quoted
+       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.
quoted
++
+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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help