记一次git不当操作造成的灾难

公司项目将几乎所有的工程都存放在同一个仓库目录下,而不是每个不同项目单独弄一个仓库。

1.当克隆项目代码到本地时,尽管你实际上只对其中一个工程做修改,当时你不得不为其他项目的克隆和检出忍受耗时

2.导入项目到IDEA中,默认会导出一堆你并不关心的项目工程,为了idea内存和运行速度,你不得不编辑project structure,将其排除。尽管排除了,当日初次导入到IDEA中生成的项目环境配置温江.iml还是会生成,而且如果本地不做提交,下次做代码合并时,就会提示合并失败。如果提交了,下次push时又容易将其变动推送过去,别人就会问为什么改这个文件,而实际上只是你合并失误操作。

3.公司约定每个开发者fork一个自己的分支,从而在自己的分支仓库上做开发,这样上游仓库的变动需要你通过指定上游仓库名做拉取合并操作。在IDEA中如果直接从右键菜单中fetch,默认只会获取到你自己的远程仓库,所以不得不使用terminal输入git fetch upstream 命令获取上游仓库变更。接着在将remotes/upstream/branch合并到你自己的本地工作分支,这个过程必须足够小心,不要选错了要合并的远程分支,因为一不小心你就有可能勾选了一个相邻或名称相近的远程分支。这个操作一旦做错你并不容易察觉,因为其可能正常直接推送到远程,除非你足够耐心的在申请分支合并时查看到你变更了其他人负责的项目代码才会知道这个问题。

4.一般情况下开发者不应当有上游远程主干的代码推送权限,主干分支的变更都应基于你非合并请求,否则造成负责合并的同事不知道你曾经作了那些变更,除非到出问题时翻看了提交推送日志

关于git的部分吐槽:

1.git的变更比对功能非常强大,当时在合并上总是会比对,有时你并不想要自己的变更,而是直接接受服务器的变更时,实际上此时的比对意义不大,应当允许操作者直接覆盖,这样可以节省大量时间,当从实际git的提交机制来看做不到

2.IDEA中使用git插件有不少坑,建议独立使用GithubDesktop客户端

3.在公司的git仓库上fork自己的仓库,有时候需要配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值