Git&&GitHub的使用(第四节)

集成Eclipse

工程初始化为本地库
工程→右键→Team→Share Project→Git
Git&&GitHub的使用(第四节)
Create Repository
Git&&GitHub的使用(第四节)
设置签名
Git&&GitHub的使用(第四节)

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,里面的内容如下:
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)

 在~/.gitconfig 文件中引入上述文件
[core]excludesfile = C:/Users/Lenovo/Java.gitignore

推送到本地库
Git&&GitHub的使用(第四节)
先是add to index,然后再commit。如果我又增加了一个类文件,可以不用先add to index,我只需把新建的这个文件commit上去。
Git&&GitHub的使用(第四节)
推送到远程库
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
Oxygen Eclipse 克隆工程操作
 Import…导入工程
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
 到远程库复制工程地址
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
 指定工程的保存位置
Git&&GitHub的使用(第四节)
 指定工程导入方式,这里只能用:Import as general project
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
 转换工程类型
Git&&GitHub的使用(第四节)
 最终效果
Git&&GitHub的使用(第四节)
Kepler Eclipse 克隆工程操作
这里的kepler指的是版本较低的eclipse。
 问题:不能保存到当前 Eclipse 工作区目录
Git&&GitHub的使用(第四节)
 正确做法:保存到工作区以外的目录中
Git&&GitHub的使用(第四节)
解决冲突
冲突文件→右键→Team→Merge Tool
修改完成后正常执行 add/commit 操作即可

Git 工作流

集中式工作流
像 SVN 一样,集中式工作流以*仓库作为项目所有修改的单点实体。所有 修改都提交到 Master 这个分支上。 这种方式与 SVN 的主要区别就是开发人员有本地库。Git 很多特性并没有用到。

GitFlow 工作流
Gitflow 工作流通过为功能开发、发布准备和维护设立了独立的分支,让发布 迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。
Git&&GitHub的使用(第四节)

Forking 工作流
Forking 工作流是在 GitFlow 基础上,充分利用了 Git 的 Fork 和 pull request 的 功能以达到代码审核的目的。更适合安全可靠地管理大团队的开发者,而且能接受 不信任贡献者的提交。

GitFlow 工作流详解

 主干分支 master
主要负责管理正在运行的生产环境代码。永远保持与正在运行的生产环境 完全一致。

 开发分支 develop
主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。

 bug 修理分支 hotfix
主要负责管理生产环境下出现的紧急修复的代码。 从主干分支分出,修 理完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。

 准生产分支(预发布分支)
release 较大的版本上线前,会从开发分支中分出准生产分支,进行最后阶段的集 成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后 可以视情况删除。

 功能分支 feature
为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支 中独立出来。 开发完成后会合并到开发分支。
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
分支具体操作
 创建分支
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
 切换分支审查代码
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
Git&&GitHub的使用(第四节)
 检出远程新分支
Git&&GitHub的使用(第四节)
 切换回 master
Git&&GitHub的使用(第四节)
 合并分支
Git&&GitHub的使用(第四节)
 合并结果
Git&&GitHub的使用(第四节)