GitHub简介
是什么
GitHub是一个Git项目托管网站,主要提供基于Git的版本托管服务
网址
https://github.com/
注册账号的注意事项
不要使用163的邮箱,有可能收不到验证邮件。
较长时间不使用有可能被Github冻结账号。请登录其客服页面https://github.com/contact,填写账号恢复申请。
GitHub实战
增加远程地址
git remote add <远端代号> <远端地址> 。
<远端代号> 是指远程链接的代号,一般直接用origin作代号,也可以自定义。
<远端地址> 默认远程链接的url
例: git remote add origin https://github.com/user111/Helloworld.git
推送到远程库
git push <远端代号> <本地分支名称>。
<远端代号> 是指远程链接的代号。
<分支名称> 是指要提交的分支名字,比如master。
例: git push origin master
从GitHub上克隆一个项目
git clone <远端地址> <新项目目录名>。
<远端地址> 是指远程链接的地址。
<项目目录名> 是指为克隆的项目在本地新建的目录名称,可以不填,默认是GitHub的项目名。
命令执行完后,会自动为这个远端地址建一个名为origin的代号。
例 git clone https://github.com/user111/Helloworld.git hello_world
从GitHub更新项目
git pull <远端代号> <远端分支名>。
<远端代号> 是指远程链接的代号。
<远端分支名>是指远端的分支名称,如master。
例 git pull origin master
以上对项目的操作方式,必须是项目的创建者或者合作伙伴。
合作伙伴添加方式如下图: 在项目中点击settings页签,然后点击Collaborators,然后在文本框中搜索合作伙伴的邮箱或者账号。点击添加。
添加后GitHub会给合作伙伴对应的邮箱发一封,邀请邮件。
邀请你的同事成为合作伙伴
合作伙伴会收到邀请邮件。点击View invitation 按钮后会跳转至GitHub页面,让合作伙伴选择,是否接受邀请。
点击接受后,则合伙伙伴正式加入项目,获得直接提交代码的权限。
协作冲突
在上传或同步代码时,由于你和他人都改了同一文件的同一位置的代码,版本管理软件无法判断究竟以谁为准,就会报告冲突,需要程序员手工解决。
在idea中使用Git
在GitHub网站上建立仓库
在GitHub网站上建立仓库,填写仓库相关信息
复制仓库地址的连接
在idea中,settings →Version Control →Git
选择本地的Git.exe的位置
在idea中,settings →Version Control →GitHub
填写网站登录的用户名密码
在idea中,通过版本控制软件创建项目
选择新建项目
有时候会弹出让你提交文件的提示,请选择No ,并勾中不再提示。
增加一个类,然后右键点击add,添加到暂存区
增加一个类,然后右键Commit File… ,提交到本地库
填写提交信息
填写提交信息
然后推送到GitHub
去GitHub上验证是否上传成功
另外一个项目成员也下载代码
把clone下来的项目中的文件夹转化为模块
解决冲突
A用户
B用户
两个开发人员同样一块代码,但是做了不同的修改,其中一个人提交了,另外一个人再提交就会报错。
可以直接选择Merge,idea会帮你把最新代码下载下来,然后跟你本地代码发生冲突
然后有三个选项,1、直接以你本地代码为准覆盖掉别人的
2、直接以别人代码为准覆盖掉你的
3、手工合并(推荐选择)
然后又三个选项,1、直接以你本地代码为准覆盖掉别人的
2、直接以别人代码为准覆盖掉你的
3、手工合并(推荐选择)
编辑合并后,再次commit File
commit File,再次push
Git开发流程
Git开发流程
简单来说就是,一个项目的成员们在工作中统一使用Git的工作方式。
集中式工作流
GitFlow工作流
集中式工作流
像SVN一样,集中式工作流以中央仓库作为项目所有修改的单点实体。所有修改都提交到Master这个分支上。
这种方式与SVN的主要区别就是开发人员有本地库。Git很多特性并没有用到。
GitFlow工作流
Gitflow工作流通过为功能开发、发布准备和维护设立了独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。
分支种类
主干分支 master
主要负责管理正在运行的生产环境代码。永远保持与正在运行的生产环境完全一致。
开发分支 develop
主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。
bug修理分支 hotfix
主要负责管理生产环境下出现的紧急修复的代码。 从主干分支分出,修理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。
发布版本分支 release
较大的版本上线前,会从开发分支中分出发布版本分支,进行最后阶段的集成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后可以视情况删除。
功能分支 feature
为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支中独立出来。 开发完成后会合并到开发分支。
分支实战
创建分支操作
在这个分支下增加新代码,
本地提交,然后push到远端
之后可以在github上看到新的分支被上传
想要查看该分支内容
把远程分支下载下来变成本地分支
另一个开发人员,想获得分支,把分支fetch下来
能看到远程分支
如果该分支内容修改没有问题,可以合并到主干
首先切换到主干master
在主干master分支上选择要合并的分支进行Merge
最后把经过合并的master, push到远端即完成了一个功能在主干上的提交。
GitLab
“自架私服版”的GitHub
官网: https://about.gitlab.com/
下载网址: https://about.gitlab.com/install
安装 GitLab
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
sudo rpm -ivh gitlab-ce-11.9.0-ce.0.el6.x86_64.rpm
sudo gitlab-ctl reconfigure
此命令要等久一会
修改gitlab的url
sudo vim /etc/gitlab/gitlab.rb
sudo vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
启动gitlab
sudo gitlab-ctl start 启动
sudo gitlab-ctl stop 关闭
sudo gitlab-ctl restart 重启
开机自启动设置
默认为开机启动
vim /etc/init/gitlab-runsvdir.conf
如需要关闭,把对应的运行级别号去掉即可
进入页面 http://gitlab.atguigu.com/
进入页面 首次登录,要设置root用户密码
后续操作与github雷同