gitHub使用简介

这里的使用是在你已经注册了gitHub账号,以及下载了gitHub客户端以及git shell客户端的情况下。

一、首先我们来了解现在github工程中那三个按钮的作用:Watch,Star,Fork。

.Watch 的作用是关注,当项目作者更新时会自动进行通知。这些通知包括 1.Issues以及他们之间的评论,2.Pull Request 以及评论,

3.对作者任何push的评论

.Star 的作用相当于收藏的作用,以便以后查找。所以如果你只是想了解一下,并不想接收作者他们之间的评论Star是最好的操作。

.Fork 的作用是如果你想参与进这个项目开发与完善,提交pull request,作者会根据你所提交的修改考虑将你的修改merge进项目

主干。但是要注意的是:你Fork了别人的项目,当别人更新时,不会自动通知你的,需要手动更新你gitHub仓库中Fork的项目。

二、怎样Fork别人的工程。

1、使用客户端直接下载。

在你点击Fork按钮后,打开gitHub windows客户端,点击下面图片的加号

gitHub使用简介_第1张图片

他会弹出一个下拉框,切换到Clone页面,你Fock的项目会在这里列出来,右击你Fork的项目,然后点击下拉框最下面的Clone

按钮。这样就能够将你Fork的项目下载到你之前指定的文件夹中。

2、使用shell 命令将项目Clone下来。

打开git Shell,输入命令:

git clone 项目的git地址 mygit。如:git clone https://github.com/lonuery/MPAndroidChart.git mygit

进入你自己github的仓库,找到你fork的项目,进入项目主页,然后在右下角的地方有一个:You can clone with HTTPS,SSH,选

择HTTPS,然后复制其中的URL,这个URL就是(项目的git地址),mygit是之前不存在的文件夹,我们就是要将项目clone进这个

文件夹中。

三、在你fork好项目之后,但是如果作者项目更新之后那么怎么更新我们自己github中所fork的项目呢?分两种情况:

1、你已经将Fork的项目clone到本地了。

打开gitHub windows客户端,在客户端的左边列表找到你的项目,右击选择Open in Git Shell,这样就会打开git shell,然后

增加远程分支到你本地,格式为:git remote add 分支别名 分支地址,如下图我增加一个分支到我本地:

上图中我增加了一个分支名为 et的分支,分支的地址为这个项目的源地址,不是你仓库中这个项目的地址。然后我们输入:

git remote -v 就能查看到一个远程分支。可以看到,et这个分支是联系作者分支,origin分支是你仓库中fork这个项目的分支。

我们要做的就是更新我们仓库中fork的分支的项目。

将要更新的代码拉到我们的本地:git fetch et。拉到本地后但是不会在文件夹中显示出来。

将更新的代码与我们本地的代码进行合并,git merge et/master。

将合并后的代码更新到我们的github上:git push origin master。下面这张图片展示了更新我们fork的项目的整个过程:

gitHub使用简介_第2张图片

2、如果你还没有将Fork的项目Clone到本地。

按照上面的方法先将项目Clone到本地,然后在客户端上打开这个项目的git shell,或者你打开git shell,然后进入你所Clone的

这个项目文件的根目录,然后更新上述步骤更新你所fork的项目。

四:怎样提交pull request。

你fork了别人的项目,在使用过程中,发现了项目的问题,然后向作者反馈,那么怎样反馈呢?这就需要你将你的修改pull request

给作者。

在我们提交pull request 之前应该注意不要在自己的clone下来的项目中进行更改,因为我们在更改代码时,会按照自己的习惯去空

格或者空行,所以另起一个项目,修改测试好后,将你所更改的文件替换本地clone下来项目的文件,然后进行commit,push操作

将你的更改提交到我们fork的项目中,然后提交pull request。

1、我们要保持我们fork的项目与原作者的项目是同步更新的,如果fork的没有进行更新,那么先按照上述步骤更新你fork的项目。

2、将更新后fork的项目merge到本地的项目中。

3、在本地修改完成测试后,将代码提交到我们fork下来的项目主页。这个提交到我们的gitHub中分为两步,第一步:将修改提交到

我们本地的仓库,命令为:git commit -a -m 'xx',-m后面带的‘xx’是简短的说明。第二步:将修改push到gitHub中,命令为:git pu-

sh origin master。这样就能将你的修改提交到gitHub中,而不像svn是直接commit到服务器。

4、创建pull commit,gitHub貌似不能单个提交文件,也就是如果我们将多个文件的修改push到gitHub上,但是在我pull request时

我只想request其中一个文件的修改,但是这中在gitHub貌似不行。所以如果你想提交单个文件,那么就只能在本地将其他修改过的

文件还原成未修改之前的状态,然后commit ,push到我们fork的项目中,也就是将gitHub中我们不想pull request的修改文件还原

成与作者同步的文件,然后将我们想pull request的文件进行commit。创建pull commit 后,写上自己pull的message,然后commit

这样作者就能够收到你的commit,待作者检测并将你的代码合并到他的主干上后,你的一个贡献就完成了。

 

你可能感兴趣的:(gitHub使用简介)