温馨提示:本篇是用于团队开发协作的github,如果是单人的可以移步本系列另外一篇 集成eclipse较为简单
团队仓库目录结构
- TestOrgName
- xxxsystem
- configs
- dbscripts
- docs
- src
- xxxsystem
下面一一说一下这些目录的作用:
TestOrgName
团队/组织名,可以自定义,最好用英文。
xxxsystem
团队要做的项目名称,可以自定义,最好用英文。
configs
在开发的时候,项目是部署在开发环境中的,所以项目中的一些配置文件,比如:数据库连接配置文件,都是用的开发环境的数据库连接配置,项目要部署上线的时候,我们需要把开发环境的数据库连接配置替换成生产环境的数据库连接配置,所以这个目录可以用来存生产环境的相关配置文件。
之所以将测试环境/开发环境/生产环境分开是因为开发过程中,需要对数据库中的一些数据进行测试或者修改,如果不和生产环境分开,会“污染”生产环境的数据。
dbscripts
在开发过程中,每次开发过程中涉及到要执行一些脚本,比如:开发过程中,要新建一个表,建表语句就要保存在这个目录里面,待开发完毕上线的时候,就需要在生产环境中执行这个建表语句。
docs
这里存放项目的相关文档,比如:需求说明书,会议纪要,上线手册等。
src
这里存放项目源码。
一个例子
我们通过这个简单的例子来说明如何配置相关目录中的信息。
团队基本信息
- 团队名称:PhoenixGoGo
- 团队要做的项目名称:helloworld
在Github中新建团队
新建organization
输入Organization Name等相关信息,并点击Create organization
邀请成员,这步我们先略过,点击Finish
此时,我们就把团队仓库新建完毕。
在团队仓库中新建项目
点击Create a new repository
输入项目相关信息, 并点击Create repository
此时,我们就把项目建好了。
初始化相关目录
先将项目clone至本地:
git clone https://github.com/PhoenixGoGo/helloworld.git 这是你安装完git在命令窗口输入的
进入项目目录,并新建以下文件夹:
项目需求
我们要将控制台输入的文本写入到C盘根目录中的file_product
文件夹中的ds.txt
文件中。
配置和初始化
为了不影响生产环境file_product
文件夹中的ds.txt
文件, 我们考虑在C盘根目录中新建一个file_develop
的文件夹,并在这个文件夹里面ds.txt
文件,我们平时在开发的时候,就读取file_develop
中的ds.txt
文件,等我们开发完毕测试通过以后,我们可以把相关的目录改为file_product
。
为了说明问题,我通过脚本来新建相关目录,以Windows为例,
- 新建一个名为
init_ds.bat
文件, - 用记事本打开这个文件写入以下内容并保存:
@echo off
md "C:\file_develop"
C:
cd "C:\file_develop"
cd.>ds.txt
双击这个bat文件,可以在C盘下生成了相关目录和文件。同时,我们把init_ds.bat
文件放到helloworld/dbscripts
文件夹下面。
因为以后发布项目的时候要切换目录,所以,我们不能把要读取的目录写死在代码里面,我们可以将目录路径写在配置文件里面,通过读取配置文件来获得目录的路径,这样我们在部署的时候只需要用生产环境的配置文件覆盖开发环境的配置文件即可。
我们可以新建两个配置文件,一个用于开发环境,一个用于生产环境。
我们先新建一个开发环境中需要的配置文件:
- 新建一个名为
config.properties
的配置文件, - 用记事本打开这个文件写入以下内容并保存:
# test environment file.name=C:/file_develop/ds.txt
再新建一个生产环境中需要的配置文件:
- 新建一个名为
config.properties
的配置文件, - 用记事本打开这个文件写入以下内容并保存:
# product environment file.name=C:/file_product/ds.txt
我们把这个用于生产的配置文件放在helloworld/configs
下面。
项目源码(部分)
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Scanner; public class App {
private static Scanner scanner; public static void main(String[] args) {
Properties prop = new Properties();
try {
prop.load(new FileInputStream("config/config.properties"));
scanner = new Scanner(System.in);
String line = null;
System.out.print("please input:");
while (!"exit".equals(line = scanner.nextLine())) {
System.out.println("input context = " + line);
System.out.print("please input: ");
File writename = new File(prop.getProperty("file.name"));
writename.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(writename));
out.write(line);
out.flush();
out.close();
}
System.out.println("The program will exit");
} catch (IOException e) {
e.printStackTrace();
}
}
}
我们将源码放入helloworld/src
目录下。
我们将helloworld
push到远程仓库:
控制台下分别执行以下命令:
cd helloworld
git add *
git commit -m "if applied, this commit will init project"
git push -u origin master
此时,项目的结构是这样的:
开发环境
安装
相关配置
打开Eclipse,设置编码格式UTF-8
:
Window->Preferences->General->Workspace->Text file encoding->UTF-8
在Eclipse中打开:
Window->Show View->Other...->找到Git Repositories并双击
Window->Show View->Other...->找到Git Staging并双击
配置Maven到Eclipse中:
Window->Preferences->Maven->Installations->Add...->选择前面安装的Maven的目录
点击Finish。
导入仓库
在Git Repositories
下点击clone git repository
输入URI以及Github用户名和密码
点击finsh
导入项目
在控制台下,我们进入源码的目录执行:
mvn eclipse:eclipse
在src
目录下右键,选择Import Projects
:
选择import existing Eclipse Projects
:
项目导入完成
运行项目
选择App.java
右键-> Run As->Java Application
以上为helloworld
这个项目的开发部署文档, 我们可以将其保存为:develop_guide.md
文件,
并且放到hellworld/docs
目录下
最后,把docs目录也提交到团队仓库中去。
增加团队成员
团队仓库初始化好以后,我们可以增加团队成员进行协作开发:
点击Invite member
输入你的团队成员的Github账户即可对相应的成员发出邀请,接收到邀请的成员要进Github注册邮箱进行确认方可加入:
这里包含两类人:Member/Owner :
他们拥有的权限可以自定义,管理员可根据需要配置不同团队成员的权限:
转自 http://www.cnblogs.com/greyzeng/p/6044837.html
github 就谈论到这吧,如果有错误之处,欢迎留言指正~
Github团队开发集成以及eclipse集成的更多相关文章
-
Github团队开发示例(一)
Github团队开发示例(二) 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/6044837.html 我们可以在Github上管理自己的团队项目.团队 ...
-
从零开始,创建GitHub团队开发环境
从零开始,创建GitHub团队开发环境 GitHub提供免费的团队环境,不过免费仓库容量是300MB,请大家注意. 申请GitHub个人账号 1. 使用浏览器访问GitHub主页.如果使用IE,尽量不 ...
-
Github团队开发示例(二)
Github团队开发示例(二) 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/6063765.html 接之前讲的Github团队开发示例(一),本文主 ...
-
团队开发中,eclipse中安装jre
团队合作中配置jre时,jre名称应该保持一致,否则不要提交.classpath文件 window-preferences 团队合作中,JRE name一定要一致!
-
Eclipse集成Git做团队开发:分支管理
在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...
-
Eclipse集成Git做团队开发:代码管理
在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...
-
Eclipse集成Git做团队开发
在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...
-
eclipse集成jetty开发web项目(不采用maven方式)
以前开发过程部署项目都是采用tomcat,偶然发现jetty,所以试了下,挺方便的,直切主题. 1.下载jetty,楼主使用的jetty8,地址http://download.eclipse.org/ ...
-
[国嵌笔记][019][Eclipse集成开发环境]
Eclipse集成开发环境的作用 可以编译程序,也可以对程序进行在线调试 集成开发环境 1.JLink连接开发板的JTAG 2.JLink连接PC的USB 3.eclipse软件 4.gdb serv ...
随机推荐
-
孙鑫MFC学习笔记2:C++回顾
1.通常可以把实例与对象等同起来 2.函数重载是发生在同一个类中的 3.函数的覆盖是发生在父类与子类之间的(函数被覆盖后可以使用父类的类名加作用域操作符::) 4.含有纯虚函数的类叫抽象类,抽象类无法 ...
-
原生js基础问题的一些备忘
1.在原生js里面 window.onload=function(){} 这个就相当于jquery中 $(document).ready(function(){}); 这样 2.getElemen ...
-
编码为multipart/form-data自定义类型(包括文件)如何自动绑定到webapi的action的参数里
application/x-www-form-urlencoded与 multipart/form-data: Fom表单中如果没有type=file的控件,用默认的application/x-www ...
-
Yslow&;PageSpeed– 诊断各种缓慢症状
Google的PageSpeed和yahoo的yslow是各位不可少的前端工具(同样也都是firebug的插件,安装了firebug之后才可以拥有她们),当各位无法用三寸不烂之舌收拾产品和各种大佬的时 ...
-
[zz]Java中的instanceof关键字
1.What is the 'instanceof' operator used for? *的一个回答:http://*.com/questions/ ...
-
OpenCV中cvWaitKey()函数注意事项
注意:这个函数是HighGUI中唯一能够获取和操作事件的函数,所以在一般的事件处理中,它需要周期地被调用,除非HighGUI被用在某些能够处理事件的环境中.比如在MFC环境下,这个函数不起作用.
-
Linux下GPIO驱动
编写驱动程序,首先要了解是什么类型的设备.linux下的设备分为三类,分别为:字符设备,块设备和网络设备.字符设备类型是根据是否以字符流为数据的交换方式,大部分设备都是字符设备,如键盘,串口等,块设备 ...
-
hdoj 1799 循环多少次?
循环多少次? Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
-
Oracle EBS-SQL (WIP-2):检查非标任务没挂自己本身.sql
SELECT WE.WIP_ENTITY_NAME, MSI.SEGMENT1, MSI.DESCRIPTION, WDJ.CLASS_CODE, WDJ.START_QUANTITY, WDJ.SC ...
-
gitlab升级和迁移
由于近期公司gitlab服务器老是卡顿和出现其他问题,然后也很久没有升级过了,现在版本还是8.10.5,而官网最新版本已经是11.2了.另一个原因是gitlab所在的这台服务器快到期了,想换一台配置更 ...