如何在GitHub上协作开发项目

一、注册 GitHub 账户

进入GitHub 注册页面,输入用户名,邮箱和密码,根据提示一步一步进行注册,最后还需要登录注册的邮箱验证电子邮件地址。

邮箱验证成功,页面显示如下:

点击“Start a project”创建一个项目,在“Repository name” 中输入仓库名字,可以叫做“用户名.github.io”,之后就可以通过这个名字直接访问该仓库下的代码了,可以将它作为你的个人网站。

然后点击“Create repository”创建仓库,根据提示将本地的代码上传到仓库中。

本地首先需要新建一个目录,名称和仓库名一致,例如:

然后在目录中添加一些文件,可以添加一个 index.html,然后在里边添加一些内容

在执行 GitHub 给出的命令执行前,先安装一下 git。

二、 使用 Git

1、安装 git

首先去git 官网下载并安装 git,安装步骤略过。

鼠标右键如上图,表示安装成功,然后点击 “Git Bash Here”,打开命令窗口。

2、在 GitHub 上添加 SSH key

首先需要检查你电脑是否已经有 SSH key,在命令窗口执行:

cd ~/.ssh
ls

上图表示该电脑中并没有 SSH key(如果有,直接跳到第三步),接下来在这台电脑上添加一下 SSH key。执行:

ssh-keygen -t rsa -C "your_email@example.com"

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,可以不输文件名,直接回车,接着又会提示你输入两次密码(该密码是你 push 文件的时候要输入的密码,而不是 GitHub 管理者的密码),可以不输(push 的时候也就不用输入密码了),一路回车,如果出现下图内容,表示生成秘钥成功。

补充:如果刚才设置了密码,怎么清除呢?,执行下边命令:

ssh-keygen -p

先会提示你选择需要修改的私钥,回车就可以,然后让你输入就密码,输入后,会提示你输入新密码,直接回车不输,提示确认新密码,再次回车,此时密码就被清除掉了,以后 push 的时候就不需要输入密码了。

3、添加你的 SSH key 到 GitHub 上面去

用编辑器打开 id_rsa.pub,复制里边的内容,然后打开 GitHub,登录你的账号,打开设置(右上角 Settings),点击右侧 SSH,然后点击“New SSH key”,添加刚复制的内容。

下图表示添加成功:

4、测试一下该 SSH key

执行下面命令:

ssh -T git@github.com

然后输入 yes 回车,如果没有问题,你上面设置了密码,下一步就会让你输入密码,没有设置密码,就直接会显示出你的 GitHub 用户名,下图表示添加成功:

三、上传项目

在本地的项目目录下,执行 GitHub 仓库里给出的命令,第一次上传可能会需要你添加一下 GitHub 用户名和邮箱,然后需要输入用户名和密码,下图表示上传成功。

打开 GitHub 中该仓库,发现只有一个 README 文件,这是因为上边通过 add 添加文件时只填了 README 文件,我们之后每次更新了项目,可以通过下面代码来上传:

git add .
git commit -m "update"
git push -u origin master

发现一个问题,我在生成 SSH key 的时候并没有设置密码,为什么 push 的时候还需要用户名密码?

因为用的是 https 而不是 ssh,更新 origin 为 ssh 格式。HTTPS的格式为:https://github.com/用户名/仓库名.git,SSH的格式为:git@github.com:用户名/仓库名.git。

设置一下:

git remote remove origin
git remote add origin git@github.com:用户名/仓库名.git

此时,打开该仓库的 Settings,有一个 GitHub Pages 选项,通过这个地址,可以直接访问该项目的静态文件。

四、在 GitHub 上协作开发项目

1、添加团队成员

上面讲解了如何上传自己的项目到个人的 GitHub,当团队协作开发一个项目,如何运用 git 来进行版本控制呢?

接下来还是用 liuzhenghe30265.github.io 项目来看一下如何协作开发。

GitHub 打开该仓库,在 Settings → Collaborators 中添加一个团队成员,输入该成员的 GitHub 账户,例如我添加自己另一个 GitHub 账号 “he30265”。

然后登陆该成员账号绑定的邮箱,去同意合作。打开邮件,点击“View invitation”。

此时打开 Settings → Collaborators 可以看到 he30265 这个成员添加成功了。

2、协作成员修改项目

在 he30265 的 PC 上,将这个项目 clone 下来:

然后修改一下项目,例如:

然后通过命令将代码上传:

git add .
git commit -m "update"
git push

此时代开这个项目的仓库,就可以看到 he30265 这个用户的更新信息了。

2、本地项目更新

回到 liuzhenghe30265.github.io 仓库的账户上,因为有成员修改了项目,所以先通过 git pull 将本地的代码更新一下,然后在进行项目的修改。

推荐阅读更多精彩内容