• Git


    背景

    最近参加了一个开源项目, 第一次公开提 Pull Request, 从 Github 网页直接操作, 先是认真看了下别人的, 简单了解了下 Pull Request, 成功后挺开心的, 原来也不难, 但后来就陆续遇到了问题, 比如如果别人 reivew 后要你再改点啥怎么办? 以及这个 PR 没关, 我还想做点别的不相干的啥怎么办? 这些以前我都没有思考过~

    现在能顺利的提 PR 了, 回顾记录一下;

    问题重现

    • PR review的结果需要做相应修改

    一度不知道要如何提交修改, 其实只要继续在当前PR的分支下操作提交就好了

    • 我在master分支上提 PR

    直接导致PR未关之前, 我在master上做的改动, 全部列在这个PR下面了...

    幸好发现的及时, 赶紧将 PR 设为 Working In Progress, 手忙脚乱的修复. (期间不得不面对以前一直逃避的 git revert, git reset...)

    衍生的一堆问题:

    • 怎么删已提交的 commit
    • 怎么删分支
    • 如果merge分支
    • 怎么查某个文件的历史
    • 如何sync origin 和 upstream 仓库
    • ...

    在 Forked 仓库中提交 Pull Request

    一番摸索之后, 列一下自己现在觉得该这样操作:

    Fork 远程仓库

    不用细说

    拉取到本地后, 你的 Forked 仓库成了 Origin

    再把远程的被你Forked的upstream仓库加进来:

    git remote add upstream <your forked repo's upstream>
    

    现在你的 git remote -v 应该有两个了, origin 和 upstream

    当然别忘了把 upstream 的最新内容拉下来:

    git fetch upstream
    git checkout master
    git merge upstream/master
    git pu origin master
    

    现在你的forked仓库和它的upstream仓库是同步了.

    开发之前, 先开个新分支啊啊啊, 这个是最重要的了

    这就是所谓的分支开发流

    这个词听来好久了, 却一直没有想到用, 直至现在被迫用上, 然后发觉还挺好用.

    git checkout -b new-branch upstream/master
    <make your changes>
    git ci -m "your new changes"
    git pu origin new-branch
    

    现在可以去 Github上提 Pull Request拉

    网页操作

    记着选择新建的分支即可

    这个分支就不要再做其他无关的事情了.

    如果 PR Reviewer 要你做点改动呢

    因为你现在是在干净的分支上, 放心大胆的改后正常提交就好了:

    git checkout new-branch
    <改代码>
    git add .
    git ci -m "新改动"
    git pu origin new-branch
    

    PR approve and merge 后, 可以删除你的这个new-branch了

    参考: 2019-12-08-GIT-remove-branch.md

    思考

    • 在用中学

    本文由博客一文多发平台 OpenWrite 发布!

  • 相关阅读:
    CF1458D
    CF1415F
    CF612F
    部分博客请移步Gitbub
    Vlc视频插件遮挡弹出框
    kubernetes容器编排YAML详解
    Kubernetes核心技术之Pod
    Kubeadm搭建K8S集群
    博客配套工程公开
    Modelsim联合Matlab搭建FPGA图像仿真平台
  • 原文地址:https://www.cnblogs.com/learnbydoing/p/12099024.html
Copyright © 2020-2023  润新知