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?