zoukankan      html  css  js  c++  java
  • Git从fork分支开始的过程整理

    文章适用于团队合作的时候多个人向一个repo贡献,整理了Git从fork分支开始的过程。

    1. Fork    

    在github上你要贡献的repo(eg.http://github/remote/test.git)之后称上游仓库。点击fork,将上游仓库fork到你的github,之后称为远程库(eg.http://github/chercher/test.git)

    2. Clone    

    选择本地文件夹,之后称为本地库

    git clone http://github/chercher/test.git

    3. 创建dev分支

    进入文件夹中,创建dev分支作为你的开发分支,当你完成了这个开发分支的时候直接将这个分支的内容push到你的远程库。一般一个分支对应一个issue,开发完毕后即可销毁

    git checkout -b dev 创建并切换至dev分支,是git branch dev + git checkout dev

    4. 创建upstream分支

    upstream分支是用于同步上游仓库的,可以同步其他人对上游仓库的更改

    git remote add upstream http://github/remote/test.git

    这时候用git remote 可以查看远程分支,git remote -v 可以查看具体路径

    这时候应该有origin、upstream两种分支且分别有fetch和push的路径,origin是你的远程库,upstream是你的上游仓库

    tips. 如果远程分支路径出错了,git remote set-url branch_name new_url 替换为具体的你的出错的分支名和新的路径即可

    5. 同步上游仓库

    在提交自己的修改之前,先同步上游仓库到master

    git remote update upstream

    git rebase upstream/master

    6. 修改文件push到远程库

    对本地库进行修改后,git add changed_file & git commit -m"message" 添加文件到暂存区然后提交,写入相应信息。

    git push origin dev:dev 这时你的远程库将会多出一个dev分支

    7. 提出pull request

    这时候在你的远程库中点击create pull request,就可以等待别人review你的代码后merge入上游仓库了

    8. 合并commit

    一个issue有时候并不是一次commit就可以完成的,这时候就涉及到洁癖患者们用rebase合并commit的过程了

    第一次commit的时候并不需要做rebase的操作,rebase是将之后的多次commit合并到之前的一个commit当中

    以第二次修改为例,在commit之后进行  git rebase -i HEAD~2 

    tips. 如果出现"Could not execute editor"  则设置 git config即可,git config --global core.editor /usr/bin/vim

    之后再执行rebase命令,可以看到这两次的提交,现在状态都是pick。只选择第一个commit为p,其他的都为s,即把新的commit并入之前的。

    修改完成后写入,然后自动跳转至另一个页面修改commit的信息

    之后继续按照第6步push --force到远程库的流程进行就可以了~

  • 相关阅读:
    .net从后台返回js的提示框
    使用IntelliTrace的独立收集器帮助测试应用程序
    NuGet笔记
    使用.dmp+vs分析异常
    windbg笔记
    C# 删除文件、文件到到回收站及异常判断
    .Net利用反射调用DLL时,被调用DLL引用其它库问题
    C#中设置窗口圆角样式
    C# 中引用IHTMLDocument2
    c# 单实例运行
  • 原文地址:https://www.cnblogs.com/chercher/p/5587979.html
Copyright © 2011-2022 走看看