Git和Oracle使用及问题总结 Git和Oracle使用及问题总结
1.pull request
我尝试用类比的方法来解释一下 pull reqeust。想想我们中学考试,老师改卷的场景吧。你做的试卷就像仓库,你的试卷肯定会有很多错误,就相当于程序里的 bug。老师把你的试卷拿过来,相当于先 fork。在你的卷子上做一些修改批注,相当于 git commit。最后把改好的试卷给你,相当于发 pull request,你拿到试卷重新改正错误,相当于 merge。
当你想更正别人仓库里的错误时,要走一个流程:
- 先 fork 别人的仓库,相当于拷贝一份,相信我,不会有人直接让你改修原仓库的
- clone 到本地分支,做一些 bug fix
- 发起 pull request 给原仓库,让他看到你修改的 bug
- 原仓库 review 这个 bug,如果是正确的话,就会 merge 到他自己的项目中
至此,整个 pull request 的过程就结束了。
理解了 pull request 的含义和流程,具体操作也就简单了。以 Github 排名最高的 https://github.com/twbs/bootstrap 为例说明。
- 先点击 fork 仓库,项目现在就在你的账号下了
- 在你自己的机器上 git clone 这个仓库,切换分支(也可以在 master 下),做一些修改。
~ git clone https://github.com/beepony/bootstrap.git
~ cd bootstrap
~ git checkout -b test-pr
~ git add . && git commit -m "test-pr"
~ git push origin test-pr
- 完成修改之后,回到 test-pr 分支,点击旁边绿色的 Compare & pull request 按钮
- 添加一些注释信息,确认提交
- 仓库作者看到,你提的确实是对的,就会 merge,合并到他的项目中
以上就是 pull reqesut 的整个流程.
Git 的 pull request是什么意思:https://www.zhihu.com/question/21682976 这篇文章讲的比较详细
2.cherry pick
各位码农朋友们一定有碰到过这样的情况:在develop分支上辛辛苦苦撸了一通代码后开发出功能模块A,B,C,这时老板过来说,年青人,我们现在先上线功能模块A,B。你一定心里一万只草泥马奔腾而过,但为了混口饭吃必须得按老板的意思办事啊。
怎么办?一个办法就是,重新建一个分支,然后再把功能模块C回退,留下功能模块A,B。这种做法不是不行,但是有更好的办法,那就是git所提供的cherry-pick功能。
cherry-pick类似于一个定制化的merge,它可以把其它分支上的commit一个个摘下来,合并到当前分支。
废话不多说,直接上实例。
比如我现在有个文件a.c,我在develop分支完成了三个功能模块:feature A,feature B,feature C。如下图:
现在,坑爹的老板只要feature A,feature B,我们现在用cherry-pick命令直接把feature A,feature B的提交合并到master分支里,如下操作:
可以看到,功能模块feature A,feature B已经被合并到master分支里。请注意,合并到master分支里的提交哈希值发生了改变,与原来的不同。
可以看出,cherry-pick命令使用方法很简单,即:
git cherry-pick commitID
刚刚是一个个提交cherry-pick到master分支,但如果有100个commit要合并到master分支呢?总不能这样一个个操作吧?git一样帮你想到了,它提供了一个区间操作方法。具体来讲是这样的:
git cherry-pick commit1..commit100
但是要注意,这是一个左开右闭的操作,也就是说,commit1不会被合并到master分支,而commit100则会。这样的话上面的需求可以如下操作来实现:
注意:上面讲到cherry-pick命令每拣选一个commit就会提交一次生成一个新的commit id。 如果我们想让每个commit 拣选后暂缓提交,等到所有commit都拣选完成后,自己手动commit,应该怎么办呢?答案是用-n 选项:
文章原地址:https://zhuanlan.zhihu.com/p/58962086
3.orcle客户端安装配置和PL sql的安装后的错误
我的是别人直接传给我文件夹,不是官方简化版的是,是完整版的。
- 配置环境变量
在系统变量新建几个环境变量,变量名和变量值参考如图:
最后在path中添加:
配置好后直接在dos中输入命令sqlplus,配置成功会出现oracle版本信息;
- 安装PL sql,并填写注册码激活
- 启动PL sql,输入用户名,密码,数据库登录。
- 如果PL sql 出现初始化 错误 定位oci.dll文件失败,先取消登录 ,进去选择tools->propetiespei配置oracle主目录和oci.dll库文件,然后保存,退出,再登录
- 如果出现 初始化 错误 你确定安装了64位(32位)的oracle client吗?,这多半是安装的oracle 版本位数和PL sql版本不一致,这时需要安装与oracle 版本位数一致的PL sql 就可以了
4.idea中的Git操作
Git详解及版本控制规范:https://blog.****.net/su1573/article/details/91988523 图文都有,针对于关联需求、独立需求以及生产bug的详细解释及步骤,让自己理解生产中在git上的合作操作流程。
idea+git合并分支解决冲突及详细步骤:https://blog.****.net/su1573/article/details/91990437 针对于git上分支的管理,如:分支切换、分支创建、分支合并等。
因为自己主要是学习整理为主,文章中有很多转载他人的内容,方在此注明并表达感谢对自己学习工作的帮助,以后自己每周也会对自己的疑惑和收获进行总结