做者:Greyhtml
原文地址:http://www.cnblogs.com/greyzeng/p/6044837.htmljava
咱們能夠在Github上管理本身的團隊項目。團隊成員經過Github進行協同工做,也方便管理,接下來我提供一種Github團隊創建倉庫的目錄格式,並對每一個目錄進行必要說明,最後根據這個目錄結構寫了一個簡單的例子。git
下面一一說一下這些目錄的做用:github
團隊/組織名,能夠自定義,最好用英文。數據庫
團隊要作的項目名稱,能夠自定義,最好用英文。apache
在開發的時候,項目是部署在開發環境中的,因此項目中的一些配置文件,好比:數據庫鏈接配置文件,都是用的開發環境的數據庫鏈接配置,項目要部署上線的時候,咱們須要把開發環境的數據庫鏈接配置替換成生產環境的數據庫鏈接配置,因此這個目錄能夠用來存生產環境的相關配置文件。oracle
之因此將測試環境/開發環境/生產環境分開是由於開發過程當中,須要對數據庫中的一些數據進行測試或者修改,若是不和生產環境分開,會「污染」生產環境的數據。app
在開發過程當中,每次開發過程當中涉及到要執行一些腳本,好比:開發過程當中,要新建一個表,建表語句就要保存在這個目錄裏面,待開發完畢上線的時候,就須要在生產環境中執行這個建表語句。eclipse
這裏存放項目的相關文檔,好比:需求說明書,會議紀要,上線手冊等。maven
這裏存放項目源碼。
咱們經過這個簡單的例子來講明如何配置相關目錄中的信息。
Create organization
此時,咱們就把團隊倉庫新建完畢。
Create a new repository
Create repository
此時,咱們就把項目建好了。
git clone https://github.com/PhoenixGoGo/helloworld.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
此時,項目的結構是這樣的:
項目組常常會有新來的成員 ,他們如何在沒有老成員帶的狀況下,經過文檔就能夠在一臺全新的機器上部署項目呢?
這時候咱們就須要一個文檔,來講明項目如何部署運行,下面是這個helloword
項目的部署文檔,僅供參考:
UTF-8
:Window->Preferences->General->Workspace->Text file encoding->UTF-8
Window->Show View->Other...->找到Git Repositories並雙擊
Window->Show View->Other...->找到Git Staging並雙擊
Window->Preferences->Maven->Installations->Add...->選擇前面安裝的Maven的目錄
點擊Finish。
Git Repositories
下點擊clone git repository
點擊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 :
他們擁有的權限能夠自定義,管理員可根據須要配置不一樣團隊成員的權限: