Git fetch/checkout without creating remote?

How to fetch/checkout remote repository without creating locally remote branch?

Use Case: I have some repo on GitHub, someone forked it and added new feature and initiated pull request.
I can’t automatically merge it because there are some minor problems I would like to fix first.

  • Are “git add file” and “git checkout — file” symmetric?
  • Active Git branch is “(no branch)” on hudson CI
  • How do I only Checkout (pull down) only parts of an SVN tree with TortoiseSVN?
  • Git checkout revision of local repository
  • Checkout the git commit corresponding to a certain revision from the old SVN repository?
  • What does “fatal: You are on a branch yet to be born” mean in this context
  • It’s one-time activity I’ll never need this remote repository, so I don’t want to create local remote branch.

    Basically I would like to do:

    1. copy files from remote repository and rewrite my own (without any git-related information).
    2. see difference with my current head.
    3. fix something and commit it.

    How to do that?

    git checkout git://github.com/xxx/xxx.git doesn’t works at all (fail with error)

    git fetch git://github.com/xxx/xxx.git works but doesn’t update anything

  • How to make TortoiseSVN / TortoiseGit show the executed command?
  • Branch associated with 'Default Task' in IntelliJ
  • How to check real git diff before merging from remote branch?
  • GIT Branch Work Flow
  • How do find out latest clone/fetch/pull from a GitHub repo?
  • Unable to find current origin/master revision in submodule path
  • 3 Solutions collect form web for “Git fetch/checkout without creating remote?”

    You want to use FETCH_HEAD.

    whenever you run git fetch ... a magic reference called FETCH_HEAD is created.

    Try for example:

    git fetch git://github.com/xxx/xxx.git && git merge FETCH_HEAD
    

    Another neat method (at least on/from Github) is fetching like this:

    git fetch repo pull/7324/head:pr-7324
    

    Where:

    repo points to the remote repo, e.g. git://github.com/xxx/xxx.git.

    pull/7324/head is the remote pull request.

    pr-7324 is the local pull-request branch.

    Then you can use the local PR branch to do whatever you want with it.

    Source: adapted from this discussion.

    For any Git server:

    git fetch git://host.com/path/to/repo.git remote-branch-name:local-branch-name
    git checkout local-branch-name
    
    Git Baby is a git and github fan, let's start git clone.