git checkout
git-checkout - Switch branches or restore working tree files
将HEAD移到一个新的分支,然后更新工作目录。
git checkout [-q] [-f] [-m] [<branch>]
git checkout [-q] [-f] [-m] --detach [<branch>]
git checkout [-q] [-f] [-m] [--detach] <commit>
git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>…
git checkout [<tree-ish>] [--] <pathspec>…
git checkout (-p|--patch) [<tree-ish>] [--] [<paths>…]
对于整体
git checkout branch # 将HEAD移动到branch,注意git reset branch则会将本仓库也指向branch,HEAD不变。
对于文件
git checkout file_name # 取出当前指针指向的file,更改工作区(reset 更改的是缓存区)
git checkout ID file_name # 取出对应提交id的file
- checkout只移动Head指针,reset则是Head指针Branch指针一起移动
- checkout会检查合并,reset不会