# 本地拉取远程指定分支代码 $ git checkout -b feat_adminuser origin/feat_adminuser Branch 'feat_adminuser' set up to track remote branch 'feat_adminuser' from 'origin'. Switched to a new branch 'feat_adminuser' # 切换分支 $ git checkout master Switched to branch 'master' Your branch is up to date with 'origin/master'.
branch
代码分支管理。
查看所有分支:git branch -a
删除分支:git branch -d <BRANCH>
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# 查看所有分支 $ git branch -a * feat_adminuser master remotes/origin/HEAD -> origin/master remotes/origin/feat_adminuser remotes/origin/feat_build remotes/origin/master # 删除分支 $ git branch -d feat_adminuser warning: deleting branch 'feat_adminuser' that has been merged to 'refs/remotes/origin/feat_adminuser', but not yet merged to HEAD. Deleted branch feat_adminuser (was 3110aa8).
# 无任何修改或提交的工作区状态查询 $ git status On branch master Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean # 有修改为提交的工作区状态查询 $ git status On branch master Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits)
Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: gw/cmd/main.go deleted: gw/internal/info/version.go
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: go.mod
Untracked files: (use "git add <file>..." to include in what will be committed) ReadMe.md # 有提交未推送的工作区状态查询 $ git status On branch master Your branch is ahead of 'origin/master' by 3 commits. (use "git push" to publish your local commits)
nothing to commit, working tree clean
reset
重置工作区指向的提交,即可以回退版本也可以撤销回退。
强制重置工作区:git reset --hard <ID>
工作区回退N次提交:git reset --hard HEAD~<N>
撤销工作区提交:git reset --soft <ID>
工作区撤销N次提交:git reset --soft HEAD~<N>
使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# 强制重置工作区 $ git reset --hard 82f2ba7b82fa91335f3d226e3fee61cedea65945 HEAD is now at 82f2ba7 fix696: 修复修改用户名都为常量的问题 $ git reset --hard v1.2.3 HEAD is now at 3110aa8 feat698: 新增创建管理员用户和查询用户信息功能; $ git reset --hard origin/master HEAD is now at bbb843b feat1599: 新增修改用户名称的功能 # 工作区回退2次提交 $ git reset --hard HEAD~2 HEAD is now at 82f2ba7 fix696: 修复修改用户名都为常量的问题 # 撤销工作区提交 $ git reset --soft 82f2ba7b82fa91335f3d226e3fee61cedea65945 # 工作区撤销2次提交 $ git reset --soft HEAD~2