commit 和 push 的临界点
估计很多使用 git 的同学把握不住什么时候应该 commit, 什么时候又应该把未提交的 commits 都 push 上去, 今天我就把我的理解说一说。
首先,有一条原则应该是要遵循的: 提交描述 = 提交的修改。
凡是违背这一原则的都构成欺诈:
提交描述 < 提交的修改
这种情况是这次提交中 实际修改的内容比提交描述中介绍的要多, 难道你想添个后门?
提交描述 > 提交的修改
这种情况是实际修改的内容比提交描述中介绍的要少, 那不是偷工减料吗,我们不要做豆腐渣工程。
所以,提交的描述一定要精准。 git 的提交描述可以是多行的,描述的内容可以非常详细, 在不填写描述的情况下提交 git 弹出的这个对话框就介绍了这一点:
commit 是一次目的性明确的改动, 但改动的地方不宜过多(否则看起来会晕o(╯□╰)o), 我们应该将一个功能分解为几个 commit, 一个 commit 负责一个部分的改动, 当这几个 commit 都完成了再 push。
这样做是因为没有 push 上去的提交保存在本地, 万一有什么当时没想好的,还可以修改 (未 push 的 commit 是有办法修改的,后续文章会讲), 要是 push 上去了,最好就不要改了, 而是用新的 commit 来弥补 (git 允许冲掉以前 push 的变更:git push -f)。
照以上的建议来做的话,可以保证每个 commit 的质量,以致提高每个功能的质量。
最近学 SVN 版本管理,SVN 是直接 commit 到远程的, 也就是说它不允许像 git 这样收集几个 commit, 等觉得没问题了,再推送到远程,这样就不太好了。
commit 和 push 的临界点相关推荐
- 理解Git的设计思想,详解git文件夹,以及详解add、commit、push,fetch、pull、merge指令
在项目目录执行git init,此目录将纳入git管理,git将会自动生成.git文件夹,用以记录git配置(.git/config)和版本信息(commit-id)和文件集合.下面是.git文件夹的 ...
- Git中pull,commit和push的概念
简而言之: pull:将代码托管平台上的代码下载到本地代码仓库 push:将本地代码仓库的代码上传到代码托管平台 commit:将我们编辑或正在编辑的代码提交到我们的本地代码仓库 参考文章:Git中p ...
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...
Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...
- Git得基本使用方法add、commit、push、checkout以及Pull
一.Git是什么? Git是目前世界上最先进的分布式版本控制系统. Working Directory:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remo ...
- Git commit/pull/push的操作步骤
1.操作步骤需要严格执行如下顺序:commit->pull->push 2.commit:将代码提交到本地仓库. 3.pull:将远程仓库代码同步到本地仓库.如遇冲突,解决冲突,重复com ...
- 02_创建Git仓库,克隆仓库,git add,git commit,git push,git pull,同行冲突,不同行冲突的结局方案,git mergetool的使用
1 创建Git资源库,残酷目录信息 创建git资源库的命令: git init –bare 仓库名称 (其中-bare表示的意思是空的库的意思) 进入E:\software\repository\gi ...
- git 只commit不push 会有影响吗_规范化团队 git 提交信息
规范化团队 git 提交信息 同一个工程项目,为了方便管理,git 的 commit 信息最好按照一定的格式规范,以便在需要的时候方便使用.什么是方便的时候,比如出现了一个线上 bug,所以需要回滚操 ...
- IDEA使用(03)_git撤回(已经commit未push的)操作
1.问题来源 日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后再提交到本地,或者需要整合多次 commit,然后 push 到远程仓库. 2.IDEA解决方案 I.在idea ...
- docker提交容器成一个新的镜像commit和push,以及docker常用命令
docker自己提交配置好的容器,然后生成一个新的镜像,以后启动就以配置好的镜像作为模板启动 代码如下: docker commit -a "author" -m "co ...
- 撤销commit且未push操作的git命令
2019独角兽企业重金招聘Python工程师标准>>> 在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id ...
最新文章
- 网站优化中什么样的外链容易被删去?
- 解决screen Cannot open your terminal '/dev/pts/1'问题
- python 3389爆破机
- Linux TCP队列相关参数的总结
- If语句:你们到底想把我放到哪儿?
- Vue的列表渲染指令
- linux虚拟机克隆
- 不重新编译DLL,让FCKEditor支持附件上传
- php防止快速刷新代码(分享)_php防止网站被刷新的方法汇总
- 前端学习(1186):双向数据绑定
- 日记——2019-03-12
- 高性能Web动画和渲染原理系列(5)合成层的生成条件和陷阱
- 谷歌用AI诊断早期肺癌超越人类医生,登上Nature子刊
- 项目管理甘特图模板_甘特图简易制作流程
- Windows Server AppFabric与WCF
- 浙大PAT 1051
- mysql 访问被拒绝如何解决
- core dump 是什么意思?
- ch376inc.h
- Lenovo Y50 (1080P) 安装 黑苹果 hackintosh macOS High Sierra 10.13.5 (17F77) 不适合双系统
热门文章
- 内存卡数据被格式化如何恢复?
- java 中 isb啥意思_isb官网-新版下载
- spring中 allowBeanDefinitionOverriding(spring.main.allow-bean-definition-overriding)原因分析、解决办法
- Wireshark TS | 丢包?不要轻易下结论续
- 1024 程序员节|用代码,改变世界
- 参考文献标引方式_参考文献标注方法有哪些 为什么要标注参考文献
- 用10行代码实现鉴黄
- 【寒江雪】空间中的点线和面
- 2019/7/31随笔
- 如何建立自己的【渲染农场】终极指南(2)