注册GitHub
登录GitHub官网使用邮箱注册账号,账号记得起英文名。
下载安装Git
Windows操作系统去Git官网下载安装。
Linux和MacOS先在终端输入git查看是否已经安装过,若没有则安装。
Ubuntu 在终端输入
sudo apt install git
安装
Mac系统随Xcode安装
配置Git
安装完Git后,Windows在Git Bash操作,Linux和MacOS在终端操作
输入
git config --global user.name "nickname" nickname 用你想用的名字(英文)
git config --global user.email "[email protected]" GitHub注册邮箱
创建SSH Key
第一步:在终端输入
ssh-keygen -t rsa -C "[email protected]" GitHub注册邮箱
将在用户主目录下生成一个.ssh
文件夹,看看有没有.ssh
目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
打开id_rsa.pub
,复制里面的内容。
第二步:登录GitHub,将ssh Key绑定GitHub账号
登录GitHub, 点击账号的“settings”,点击“SSH Keys and GPG keys”页面:
然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容即可。
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
团队合作
Git和GitHub已经配置完成了,下面就应该团队合作了。
负责人创建GitHub仓库
点击个人Profile,点击New创建GitHub仓库
填入仓库信息:
Respository name
: 是项目名(英文为妙)
Description:
填入项目描述信息,展示在仓库中
Public
和Private:
默认Public是公开仓库,整个GitHub都能搜到你的代码,但只有得到授权的用户才能修改上传内容。
Private是私有仓库,付费才能开,我使用了GitHub学生认证,得到了免费的Private仓库使用权。因为我这个项目要查重,我就把仓库设成Private的了。
Initialize this repository with a README:
勾选后生成的仓库不是空仓库,而有一个README.md项目描述文件,这个README的内容将展示在仓库页面,可自行修改。
创建成功后页面将是这样:
如果是Public仓库,未得到授权的用户将可以看到你的仓库内容,点击右上角的
Clone or Download
将仓库内代码下载, 而授权用户则可以上传代码。
我创建的Private仓库,只有被授权用户才可以看到,和上传。
为团队成员授权
点击Setting->Collaborators
在下方栏内搜索成员GitHub账号或邮箱,点击Add collaborator,向其发送授权邀请。授予该用户push权限(上传权限)
邀请后该成员状态将会显示为awiting for response:
点击copy invite link ,将邀请链接发给好友,或该好友在其个人页面接受邀请就能够获得这个仓库的push权限啦。
代码同步
团队成员将仓库clone至本地:
复制右上角地址
在终端进入你自己喜欢放项目的的文件夹:
输入:
git clone [email protected]:MachinePlay/OSproject.git
clone 后面是刚刚复制的地址,将仓库clone至本地。第一次访问会询问一下,输入yes,稍等一会后整个仓库的内容都会被下载到当前文件夹。
在该项目文件夹内修改项目内容后,比如新建了一个 hello.py(或者更改某文件内容)
第一步:将被修改文件送入缓存区
输入 :
git add hello.py
将被修改的文件送入缓存区, 如果有多个文件被修改可以依次添加或者输入 git add .
将所有被修改文件送入缓存
git add .
第二步:将本次修改内容提交(commit)至本地仓库,并注明更改内容,这一次修改就会在本地记录下来(还没有和云端仓库同步)
git commit -m "添加了hello.py"
-m ” ” 引号里的内容是本次修改的内容说明,方便其他人知道改了什么内容
第三步:将修改内容推送(提交commit)到云端(GitHub 仓库)
输入 :
git push origin master
本地的仓库就会被推送到云端,上传到GitHub仓库。修改的内容也就一并上传了。
推送至云端后应该通知其他团队成员,其他团队成员将最新的云端数据下载下来(同步最新状态)
其他团队成员队员输入:
git pull
将最新的修改同步到本地。
最好每一次提交到云端都通知其他成员,其他成员提通过git pull来维持最新状态。
Git更多内容可以查阅官方文档或者廖雪峰的Git教程