关系图
git checkout
git checkout -- filename # 放弃 cached 中 对 target 文件内容已作的修改
git checkout . # 放弃当前目录下对于 cached 的所有修改。
git rm filename # 删除 cached 中的已 tracked 的整个targe文件
git checkout branchname # 切换分支
git diff
git diff --cache # 查看 cached 与 local repositorty 的差别
git diff HEAD # 查看 workspace 和 local repository 的差别
git reset
git reset --mixed <commit_id> # 默认方式,不带任何参数的git reset,它回退到某个版本,只保留工作区,回退 local repositorty 和 cached 信息
git reset --soft <commit_id> # 回退到某个版本,只回退了 local repositorty 的信息,不会恢复到 cached 一级。如果还要提交,直接commit即可
git reset --hard <commit_id> # 彻底回退到某个版本,本地的工作区也会变为上一个版本的内容
git revert <commit_id>
撤销指定的提交,该操作会产生一个新的提交, 用于撤销 commitID 的提交,版本会递增,不会影响之前的提交内容。
git cherry-pick
git cherry-pick <commit_id> # 拣选命令:从众多的提交中选出一个提交应用在当前的工作分支中,操作过程相当于将该提交,然后在当前HEAD上重放,形成内容和提交说明都一致的提交.
git cherry-pick --abort # 放弃当前进行的拣选操作
Git解决冲突流程:
- git status 查看当前的状态
- 手动解决冲突的文件
- git add 将更改添加到缓冲区
- git commit 提交更改