本文仅作为个人梳理,如有问题或疑问,还请批评指出,感谢支持~
在进行Coding代码管理过程中,会涉及一些常用的GIT命令,而每个GIT命令都会涉及相应的区域。本文通过关系图的方式,对常用GIT命令及其涉及的区域进行梳理与展示,便于理清每个指令后代码移动至的区域,从而更加了解指令作用以及代码移动的过程。
将命令分成4类型,从而分别展示命令和区域的关系图,
命令分类包括:推送、拉取、修改、多分支。
区域包括:工作区、暂存区、本地仓库、远端仓库
代码推送到远端过程中,使用的命令,比较常用,包括:status、add、commit、push
将代码从远端拉取下来的相关命令,包括:fetch、pull、clone
代码在本端进行修改的相关命令,比如代码比较、撤销、删除等,包括:checkout --、diff(diff、diff HEAD、diff --cached)、reset(reset -- file、reset HEAD file、reset --hard、reset --soft)、rm
涉及多个分支的相关命令,比如merge的不同分支或拉取合并、checkout branch切换分支、stash切换分支前保存修改,命令包括:merge、checkout branch/commitID、stash(stash、stash pop、stash pop --index)
下面对4种命令分类及其区域关系图进行展示。
推送和拉取分类部分GIT命令和区域的关系图如下,补充如下说明文字:
git status:用于查看工作区和暂存区状态,判断当前内容是否已被放到暂存区以及是否已被提交
git pull:将远端仓库同步到本地仓库和工作区
git fetch:将远端仓库拉取到本地,但是不进行同步,需要使用merge等命令进行同步更新至本地和工作区
修改分类部分GIT命令和区域的关系图如下,补充如下说明文字:
git diff XXX:diff系列比较不同区域之间的文件差异,也可以比较不同branch/commitID差异,这里暂未列出
git reset HEAD:add的被撤销,工作区也看不到
git reset --hard:commit之前,工作区和暂存区改动全部废弃,找不到,在commit之后会产生不同步问题
git reset --soft:commit之后的都会撤回到暂存区,可继续commit
多分支分类部分GIT命令和区域的关系图如下,补充如下说明文字:
checkout branch/commitID:将某branch或提交commitID切换到工作区中
stash:在切换分支前,将未提交的工作区和暂存区修改保存
stash pop:只恢复工作区,不恢复暂存区
stash pop --index:恢复工作和暂存区
merge:pull后的merge冲突,冲突的文件
在Coding代码管理过程中,GIT命令较多,做到知其然也知所以然。理清GIT命令和各作用区域的关系,以及代码移动的过程,可以提高GIT命令的理解程度和使用效率,也可以避免出现操作错误,导致代码丢失。
本文仅作为个人梳理,如有问题或疑问,还请批评指出,感谢支持~
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。