On Thu, 10 Mar 2016 23:27:01 +0100 Pablo Rodríguez <[email protected]> wrote:
[...] > > If we suppose we're talking about the branch "master", and the > > remote server is known as "origin", then you'd do something like > > this: > > > > First do > > > > git fetch origin > > > > to have origin/master updated to the state of "master" at "origin". > > > > Then either do > > > > git branch temp master > > Probably I prefer creating a branch. But isn’t it better to create the > branch before fetching contents from the remote server? It's irrelevant: the command above creates a local branch named "temp" which points to the same commit a local branch "master" currently points at. That is, at this point, the data from the remote server is not involved at all. The reason for the execution of this command is to have "something" -- a branch in this case -- to point to whatever "master" currently points at. This is needed because we're about to "retarget" the branch "master" with the next few commands. > > Next, reset your local "master" to "origin/master": > > > > git checkout master > > git reset --hard origin/master This `git reset` command accesses the so-called "remote-tracking branch" named "origin/master" which does indeed track the state of the "master" branch as found in the remote repository known as "origin". To have it in an up-to-date state, running `git fetch` is needed. So, fetching the contents from the remote repository is needed before running this command. Contrary to this, operations which only touch local branches do not care about the state of the remote repository. > > You might also consider rebasing. If your original problem was to > > deal with the case where you have a series of local commits on a > > branch you'd like to push "upstream" but the upstream version of > > your branch got updated so your commits can't be used to > > fast-forward it (don't push cleanly) then you might use `git > > rebase`: [...] > Fine, but too complex for me. And origin hasn’t been updated. That's a bit surprising to read because, as I understood it, your situation was exactly the "origin" having been updated compared to your local case. ;-) I'd honestly recommend you to read a book on Git: it helps to have a clear vision of what a tool can do for you, so, when confronting with a problem you have a good overview of which methods can be used to deal with it. Please refer to [1] (other good books exist as well). 1. http://git-scm.com/book -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
