Git&&GitHub的使用(第四节)
集成Eclipse
工程初始化为本地库
工程→右键→Team→Share Project→Git
Create Repository
设置签名
Finish
Eclipse 中忽略文件
概念:Eclipse 特定文件
这些都是 Eclipse 为了管理我们创建的工程而维护的文件,和开发的代码没有 直接关系。最好不要在 Git 中进行追踪,也就是把它们忽略。 .classpath 文件 .project 文件 .settings 目录下所有文件
为什么要忽略 Eclipse 特定文件呢?
同一个团队中很难保证大家使用相同的 IDE 工具,而 IDE 工具不同时,相关工 程特定文件就有可能不同。如果这些文件加入版本控制,那么开发时很可能需要为 了这些文件解决冲突
GitHub 官网样例文件
https://github.com/github/gitignore https://github.com/github/gitignore/blob/master/Java.gitignore
上面两个网址是官方给我们的忽略哪些文件的参考。
编辑本地忽略配置文件,文件名任意
在自己的家目录下新建一个配置文件Java.gitignore,里面的内容如下:
在~/.gitconfig 文件中引入上述文件
[core]excludesfile = C:/Users/Lenovo/Java.gitignore
推送到本地库
先是add to index,然后再commit。如果我又增加了一个类文件,可以不用先add to index,我只需把新建的这个文件commit上去。
推送到远程库
Oxygen Eclipse 克隆工程操作
Import…导入工程
到远程库复制工程地址
指定工程的保存位置
指定工程导入方式,这里只能用:Import as general project
转换工程类型
最终效果
Kepler Eclipse 克隆工程操作
这里的kepler指的是版本较低的eclipse。
问题:不能保存到当前 Eclipse 工作区目录
正确做法:保存到工作区以外的目录中
解决冲突
冲突文件→右键→Team→Merge Tool
修改完成后正常执行 add/commit 操作即可
Git 工作流
集中式工作流
像 SVN 一样,集中式工作流以*仓库作为项目所有修改的单点实体。所有 修改都提交到 Master 这个分支上。 这种方式与 SVN 的主要区别就是开发人员有本地库。Git 很多特性并没有用到。
GitFlow 工作流
Gitflow 工作流通过为功能开发、发布准备和维护设立了独立的分支,让发布 迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。
Forking 工作流
Forking 工作流是在 GitFlow 基础上,充分利用了 Git 的 Fork 和 pull request 的 功能以达到代码审核的目的。更适合安全可靠地管理大团队的开发者,而且能接受 不信任贡献者的提交。
GitFlow 工作流详解
主干分支 master
主要负责管理正在运行的生产环境代码。永远保持与正在运行的生产环境 完全一致。
开发分支 develop
主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。
bug 修理分支 hotfix
主要负责管理生产环境下出现的紧急修复的代码。 从主干分支分出,修 理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。
准生产分支(预发布分支)
release 较大的版本上线前,会从开发分支中分出准生产分支,进行最后阶段的集 成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后 可以视情况删除。
功能分支 feature
为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支 中独立出来。 开发完成后会合并到开发分支。
分支具体操作
创建分支
切换分支审查代码
检出远程新分支
切换回 master
合并分支
合并结果