《算法互动编程》操作指南(二)

作者: | 更新日期:

之前提到使用github页面操作有问题,这里教你另外两个方法。

本文首发于公众号:天空的代码世界,微信号:tiankonguse

一、背景

之前已经写了两篇文章,分别是《代码管理指南》和《三个原则》来说明通过 github 互动编程时遇到的问题。
同时提到,使用软件或者命令行来操作,就不存在那些问题。

这篇就来介绍一下如何使用软件和命令行完美解决这个问题。

二、分支规范

为了更好地互动编程,大家 Fork 项目之后,会维护三个分支,名字和功能如下。

1.master 分支:默认分支,需要和原项目保存完全一致。
2.base 分支:名字格式是 base-{昵称},后续你的所有变更都提交在这个分支上。
3.from 分支:名字格式是 from-{昵称},每次进行 PR 时从 master 分支创建出来,然后把 base 分支合并上来,然后进行 PR,当 PR 结束的时候,需要删除 。

对于不熟悉 git 的同学,建议都通过 github 页面进行创建。

三、操作说明

1.安装

请去 https://desktop.github.com/ 下载安装软件 或者 自己搭建命令行环境。

  1. 拉去自己 Fork 的项目

命令行: git clone url
软件如下:

  1. 同步原项目代码

命令行:

1. git remote add upstream https://github.com/tiankonguse/leetcode-solutions.git  
2. git fetch upstream master  #拉去最新数据  
3. git merge upstream/master  #合并  
4. git push origin master #推送到 github  

PS:正常同步时,你可以看到 Fast-forward 这个词。
如果不是这个词,说明你的项目有问题,可以删除重新 Fork。

软件操作步骤:

1.切换到master分支  
2.菜单->Branch->Merge in Current Brabck  
3. 弹出的选择框里选择 upstream/master (代表原项目)  

目前,只是修改的本地 master,还需要同步到远程

  1. 同步开发分支

由于原项目可能有更新,所以你的分支也需要同步这个更新。
这个可以通过 github 的页面来完成同步(会新增一个提交),也可以通过软件或命令行来同步(不会新增提交)。
如果没出现冲突代表正常,出现冲突代表你修改了不属于你的文件。

git checkout base-{昵称}
git merge master
git push origin base-{昵称}
  1. 创建新的提交分支

可以通过 github 的页面,基于 master 分支来创建新的提交分支。
也可以通过软件或者命令行来操作。

git checkout master
git branch -d from-{昵称} # 删除本地分支
git push origin --delete from-{昵称} #删除远程分支

git checkout -b from-{昵称} #创建本地分支
git merge base-{昵称} # 你的最新修改合并到提交分支
git push origin from-tiankongever #提交分支提交到 github页面

之后,在 github 页面发起 pull request 操作。

四、最后

好了,除了向原项目发起 pull request ,其他操作建议大家都在命令行里练习一下。
刚开始对于不熟悉 git 的同学会比较有挑战性,希望不会难倒你。
如果有任何疑问,可以加 QQ 群来反馈问题。

-EOF-

本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。

关注公众号,接收最新消息

tiankonguse +
穿越