前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图解腾讯云Coding代码管理中,git命令与各区域的关系

图解腾讯云Coding代码管理中,git命令与各区域的关系

原创
作者头像
首席搬砖师
修改2021-10-30 21:18:37
1.9K0
修改2021-10-30 21:18:37
举报
文章被收录于专栏:首席搬砖师首席搬砖师

本文仅作为个人梳理,如有问题或疑问,还请批评指出,感谢支持~

1. 为什么

在进行Coding代码管理过程中,会涉及一些常用的GIT命令,而每个GIT命令都会涉及相应的区域。本文通过关系图的方式,对常用GIT命令及其涉及的区域进行梳理与展示,便于理清每个指令后代码移动至的区域,从而更加了解指令作用以及代码移动的过程

2. 做什么

将命令分成4类型,从而分别展示命令和区域的关系图,

命令分类包括:推送、拉取、修改、多分支。

区域包括:工作区、暂存区、本地仓库、远端仓库

其中命令分类如下

1) 推送

代码推送到远端过程中,使用的命令,比较常用,包括:status、add、commit、push

2) 拉取

将代码从远端拉取下来的相关命令,包括:fetch、pull、clone

3) 修改

代码在本端进行修改的相关命令,比如代码比较、撤销、删除等,包括:checkout --、diff(diff、diff HEAD、diff --cached)、reset(reset -- file、reset HEAD file、reset --hard、reset --soft)、rm

4) 多分支

涉及多个分支的相关命令,比如merge的不同分支或拉取合并、checkout branch切换分支、stash切换分支前保存修改,命令包括:merge、checkout branch/commitID、stash(stash、stash pop、stash pop --index)

3. 怎么样

下面对4种命令分类及其区域关系图进行展示。

3.1 推送和拉取

推送和拉取分类部分GIT命令和区域的关系图如下,补充如下说明文字:

git status:用于查看工作区和暂存区状态,判断当前内容是否已被放到暂存区以及是否已被提交

git pull:将远端仓库同步到本地仓库和工作区

git fetch:将远端仓库拉取到本地,但是不进行同步,需要使用merge等命令进行同步更新至本地和工作区

3.2 修改

修改分类部分GIT命令和区域的关系图如下,补充如下说明文字:

git diff XXX:diff系列比较不同区域之间的文件差异,也可以比较不同branch/commitID差异,这里暂未列出

git reset HEAD:add的被撤销,工作区也看不到

git reset --hard:commit之前,工作区和暂存区改动全部废弃,找不到,在commit之后会产生不同步问题

git reset --soft:commit之后的都会撤回到暂存区,可继续commit

3.3 多分支

多分支分类部分GIT命令和区域的关系图如下,补充如下说明文字:

checkout branch/commitID:将某branch或提交commitID切换到工作区中

stash:在切换分支前,将未提交的工作区和暂存区修改保存

stash pop:只恢复工作区,不恢复暂存区

stash pop --index:恢复工作和暂存区

merge:pull后的merge冲突,冲突的文件

4. 小结

在Coding代码管理过程中,GIT命令较多,做到知其然也知所以然。理清GIT命令和各作用区域的关系,以及代码移动的过程,可以提高GIT命令的理解程度和使用效率,也可以避免出现操作错误,导致代码丢失。

本文仅作为个人梳理,如有问题或疑问,还请批评指出,感谢支持~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 为什么
  • 2. 做什么
    • 其中命令分类如下
      • 1) 推送
      • 2) 拉取
      • 3) 修改
      • 4) 多分支
  • 3. 怎么样
    • 3.1 推送和拉取
      • 3.2 修改
        • 3.3 多分支
        • 4. 小结
        相关产品与服务
        CODING DevOps
        CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档