Git和Oracle使用及问题总结

Git和Oracle使用及问题总结

1.pull request

我尝试用类比的方法来解释一下 pull reqeust。想想我们中学考试,老师改卷的场景吧。你做的试卷就像仓库,你的试卷肯定会有很多错误,就相当于程序里的 bug。老师把你的试卷拿过来,相当于先 fork。在你的卷子上做一些修改批注,相当于 git commit。最后把改好的试卷给你,相当于发 pull request,你拿到试卷重新改正错误,相当于 merge。

当你想更正别人仓库里的错误时,要走一个流程:

  1. 先 fork 别人的仓库,相当于拷贝一份,相信我,不会有人直接让你改修原仓库的
  2. clone 到本地分支,做一些 bug fix
  3. 发起 pull request 给原仓库,让他看到你修改的 bug
  4. 原仓库 review 这个 bug,如果是正确的话,就会 merge 到他自己的项目中

至此,整个 pull request 的过程就结束了。

理解了 pull request 的含义和流程,具体操作也就简单了。以 Github 排名最高的 https://github.com/twbs/bootstrap 为例说明。

  1. 先点击 fork 仓库,项目现在就在你的账号下了

  1. 在你自己的机器上 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
  1. 完成修改之后,回到 test-pr 分支,点击旁边绿色的 Compare & pull request 按钮

  1. 添加一些注释信息,确认提交

  1. 仓库作者看到,你提的确实是对的,就会 merge,合并到他的项目中

以上就是 pull reqesut 的整个流程.

Git 的 pull request是什么意思:https://www.zhihu.com/question/21682976 这篇文章讲的比较详细

官方文档:https://docs.github.com/cn/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests 官方文档解释

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的安装后的错误

我的是别人直接传给我文件夹,不是官方简化版的是,是完整版的。

  1. 配置环境变量

在系统变量新建几个环境变量,变量名和变量值参考如图:

最后在path中添加:

配置好后直接在dos中输入命令sqlplus,配置成功会出现oracle版本信息;

  1. 安装PL sql,并填写注册码激活
  2. 启动PL sql,输入用户名,密码,数据库登录。
  3. 如果PL sql 出现初始化 错误 定位oci.dll文件失败,先取消登录 ,进去选择tools->propetiespei配置oracle主目录和oci.dll库文件,然后保存,退出,再登录
  4. 如果出现 初始化 错误 你确定安装了64位(32位)的oracle client吗?,这多半是安装的oracle 版本位数和PL sql版本不一致,这时需要安装与oracle 版本位数一致的PL sql 就可以了

4.idea中的Git操作

Git详解及版本控制规范:https://blog.csdn.net/su1573/article/details/91988523 图文都有,针对于关联需求、独立需求以及生产bug的详细解释及步骤,让自己理解生产中在git上的合作操作流程。

idea+git合并分支解决冲突及详细步骤:https://blog.csdn.net/su1573/article/details/91990437 针对于git上分支的管理,如:分支切换、分支创建、分支合并等。

因为自己主要是学习整理为主,文章中有很多转载他人的内容,方在此注明并表达感谢对自己学习工作的帮助,以后自己每周也会对自己的疑惑和收获进行总结

原文地址:https://www.cnblogs.com/cqy1026/p/14198378.html