I want to load a different version of the files that exist in another branch into my current branch.
git help checkout
says:
DESCRIPTION
Updates files in the working tree to match the version in the index or
the specified tree. If no paths are given, git checkout will also
update HEAD to set the specified branch as the current branch.
Is there a way to checkout all those files, but not update HEAD?
checkout by providing the current path, .
:
git checkout other-branch-name -- .
This operation is similar to switching HEAD to another branch without checking out files, but just from the "other direction".
As @김민준 mentions, this overwrites any uncommitted changes. Remember to either stash or commit them somewhere first if needed.
Similar to @Kache's answer, but using the newer git restore
command (requires Git version 2.23 or above):
git restore --source=<other-branch/tag/commit> <pathspec>
# or
git restore -s <other-branch/tag/commit> <pathspec>
# example: to load all files from branch "other"
git restore -s other .
This new command was introduced to split "checking out a branch" and "checking out files" out of the single git checkout
command. Read more: What is the git restore
command.
Success story sharing
-- .
was a bit hard to find, thanks!--
as a separator between the commands to the left and the file globs to the right.git checkout <other-branch-name> -- C:\path\to\changes\*