现在写程序基本上离不开github,每种语言如C/C++、Java、Python还是golang等都会将很多库开源在github上面,本篇文章就和大家聊聊如何使用git的基本操作,来参与github上的开源项目。很多童鞋喜欢直接使用git命令,但是对于新手,我更推荐github desktop客户端来操作git项目,下面一起来看看这个颜值超高的客户端App吧。
我们首先需要下载git程序,打开git官网https://git-scm.com/:
下载对应系统的安装包,下载完成后点击安装,这样就可以在cmd使用git命令了,检查版本
git --version
如下:
安装git之后,再到网站https://desktop.github.com/下载GitHub Desktop,如下图:
下载后完成安装,首次打开需要输入github的账号和密码,登录之后可以clone项目了,选择File菜单如下:
选择url,输入github项目的https地址,注意也可以使用git地址,但是一般使用https方便点,这样可以使用http代理工具,下载速度更快,如下图:
这样我们就完成了clone操作。下面再看看pull,当有人提交代码到git后,会出现如下标记:
直接点解Pull origin即可更新到最新代码。
如下图:
点击Current branch下拉界面,如果要切换到dev分支,直接点选就可以切换到dev分支。
如果我们修改了项目代码,并且这个项目是我们自己的,只需要输入message就可以直接提交,像下面这样:
点击Commit to main,这时候会有一个Push origin的箭头,点击就会提交到服务器了,如果我们想起来需要修改刚刚的message,可以点击Undo按钮,就可以回退,注意一旦Push,这条记录就会永久产生,Push之前都可以撤销本地的Commit:
Commit操作是把改动提交到本地,Push是把本地的Commit同步到服务器。可以在本地多次commit不push,多次commit后一起push。
首先选择文件,右键:
选择Discard changes,就可以撤销文件的改动。
点击history栏:
可以看到上一次的提交记录。
这个界面还有个非常重要的功能那就是合并分支。
点击红线中的输入框,会出现其他分支的信息,选择分支就可以合并别的分支提交到当前分支。
上面的操作基本上满足日常需求了,即使是新手也能几分钟上手。不过github上面的项目大部分不是自己的,如果要提交代码有2种办法,一个是成为contributor,这样可以直接提交代码。另外一个是fork项目然后提交PR。
首先fork项目,然后修改,执行上面的commit和push操作,然后打开github项目网站:
点击Pull requests,点击New pull request,出现fork项目和原项目的对比:
点击Create pull request,输入修改的信息,这样就在原项目种创建了一条PR,等待原项目的开发merge到开发分支吧。
假设原项目是A,我fork的项目是B,A有了新的更新后,该如何保持我的B也是最新的呢?
依然是点击上面的Pull requests,和上面一样,然后点击Create pull request,如下图:
这时候没有任何changes,上面左边是原项目,右边是fork的,发现了箭头是从我的指向原项目了吗,因为需要将原项目的改变更新到我的项目,所以将左右的项目改变一下位置:
点击左边改成我的项目后出现如下图,两边变成一样的了,点击红色的链接,这个链接的意思是跨项目比较不同的forks差别,然后选择右边为原项目:
于是出现这样的指向,原项目的更新也出现了:
点击Create pull request,输入title和message,这时候自己的项目出现了一个PR,merge进来就可以和原项目一样新啦。
更新原项目稍微绕了点,重点是点击“compare across forks”这个链接。
上面大概讲解了操作github desktop的基本用法和参与开源的基本操作,更深入的还是需要学习git,git博大精深,写代码必学技能之一,现在就开始练习吧。