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.

  • Reducing the size of the .svn folder
  • How can I build a git tag in TeamCity?
  • Are there different meanings to the concept of 'tracking' in git?
  • How do I do a pristine checkout with git?
  • Subversion: Can I checkout, modify, and then make it a branch?
  • Settings for Maven for conditional checkout or update from SVN?
  • 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

  • Git environment setup. Advice needed
  • Change the author and committer name and e-mail of multiple commits in Git
  • Vim: Conditionally use fugitive#statusline function in vimrc
  • Hosting Git Repository in Windows
  • Git on windows: Can't switch branch after renaming a file (only changed case)
  • Git: error: RPC failed; result=22, HTTP code = 411
  • 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.