git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Why is there no force pull?

From
Elijah Newren <newren@gmail.com>
Date
Jun 9, 2018, 20:04 UTC
Message-ID
<CABPp-BG9HQ4O8h7-b4oL7KLu+boe6-QV1fvcfW_4O3Rax3W_Hw@mail.gmail.com>
In-Reply-To
<20180609190154.yl4ig6dxfihgm5qi@christoph-lap>

On Sat, Jun 9, 2018 at 12:01 PM, Christoph Böhmwalder <christoph@boehmwalder.at> wrote:

Show 19 quoted lines
> Hi,
>
> Since this is a use case that actually comes up quite often in
> day-to-day use, especially among git beginners, I was wondering: is
> there a specific reason why a command like "fetch changes from remote,
> overwriting everything in my current working directory including all
> commits I've made" doesn't exist? Now, I'm quite aware that something
> like
>
>     $ git fetch origin/branch
>     $ git reset --hard origin/branch
>
> will do the trick just fine, but (like I mentioned, especially for
> beginners) this kind of seems like a crook. Why not have a single
> command for accomplishing this? Afterall we do have a `--force` flag on
> `git push`, which practically does the same thing in reverse.
>
> Just reaching out to get some input on this, as it seems like a quite
> curious inconsistency to me.

Upon reading the subject and before reading the body, I assumed you were going to ask for a 'git pull --force' that would throw away *uncommitted* changes (i.e. do a 'git reset --hard HEAD' before the rest of the pull). But then you asked for both uncommitted and committed changes to be thrown away. That difference isn't something you have to consider with a push.

That might be a reason such an option would be confusing, or it might just be a warning to document the option carefully. Anyway, thought I'd mention it.

Previous: Christoph BöhmwalderNext: Christoph Böhmwalder
Message 2 of 5 in “Why is there no force pull?”
  1. Christoph BöhmwalderJun 9, 2018
  2. Elijah NewrenJun 9, 2018
  3. Christoph BöhmwalderJun 9, 2018
  4. Ævar Arnfjörð BjarmasonJun 9, 2018
  5. Torsten BögershausenJun 10, 2018

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.