你知道,一个项目就自己整天把弄是非常孤独的。找几个小伙伴一起工作将会更加有趣。我们可以找到一个项目,然后克隆它,如果你是项目的维护者,您可以克隆一个代码仓库,并将更改推送到它,因为你有读写权限。如果你不是项目的维护者,而是贡献者,你没有项目的写入权限,那么,这时,你需要在github.com上fork这个项目。当您fork时,您创建一个现有代码仓库的副本,您可以在这个副本上做任何您想做的。虽然你无法推送您的更改到原始项目中,但您可以在github上创建一个pull request到项目的所有者,如果他们喜欢你的更改,他们可以合并你的更改,这样,就可以为开源项目做贡献.
现在我们来到上节课创建的项目,到目前为止,我们一直在主分支上直接更改代码,但这通常不是最好的做法。特别是在一个团队中,我们应该创建一个分支,然后在分支上工作,这样,我们可以保持我们的更改独立于主分支,如果主分支修改了,我们合并主分支就可以了,最终如果我们在自己的分支上修改完毕,可以打开一个pull request,然后等待项目所有者决定是否合并。
所以,现在,我们点击Home,然后分支:
图 1.4‑1
让我们创建一个新的分支,右键master,然后选择“从选定项创建本地分支”。
图 1.4‑2
我们把这个分支命名为:SecondBanch,因为这是我们的第二个分支,
图 1.4‑3
所以,这就创建一个本地分支。
需要注意的是,这个本地分支并不与远程代码仓库同步。所以,如果需要github上也能显示这个分支,我们就需要发布它。你可以不立即发布它。但现在我们来发布一下,我们可以右键单击分支并选择“发布分支”.
图 1.4‑4
成功,这个时候本地创建的分支就会发布到Github上了,
那么现在我们处于第二个分支上,让我们打开program.cs,然后我们在主函数中输入:
Console.WriteLine("这是第二个分支"); |
图 1.4‑5 接着我们右键program.cs选择commit: 提示信息:modify secondbranch,点击提交,并同步. 图 1.4‑6 图 1.4‑7 现在,我们已经有了一个变化了的分支,但它不是master分支。但假如现在有人在主分支中进行了更改。我们需要将他们的更改拉取到我们刚创建的第二分支,以便我们可以保持最小的冲突几率。 我们可以尝试通过切换到主分支并进行一些更改。让我们来到分支,双击master. 图 1.4‑8 现在,我们在主分支工作。注意我们刚刚的更改消失了. 那么假如现在,主分支做了一些修改,它添加了一个新的类.所以Add类。我们将它称为role. 图 1.4‑9 然后提交这个更改: 图 1.4‑10 提示信息:.Add Role class,然后commit,接着同步。 图 1.4‑11 那么,现在,为了从主分支中获取更改到我们的分支,我们需要和master合并. 所以首先,我们需要通过双击我们的分支名称来改回我们的分支。现在右键点击我们的分支并选择“合并自(M)”: 图 1.4‑12 我们需要从master合并到我们的分支,所以我们将从下拉列表中选择master 图 1.4‑13 这里有一个复选框,它的意思是让我们在合并后提交。如果你想在提交之前检查更改,你应该取消选中该选项。 所以我们点击合并,现在我们已经和主分支合并了,并且提交了我们的分支。在这一步,如果主分支和我们的本地分支同时修改了一个文件,那么极有可能发生冲突,关于冲突,你可以观看我们的另一门课程:Github全面详解。 现在,让我们来检查分支上的历史。右键点击我们的分支名称,并选择查看历史。 图 1.4‑14 它给我们这个很好的小图形来展示我们的提交。你可以看到我们的分支转向和提交, 图 1.4‑15 并且这是一个在master分支上的提交,当我们从master合并时,最后二个分支合并到一起。 更多精彩内容尽在视频中!