1. 程式人生 > >如何使用github來開發和管理一個團隊的專案

如何使用github來開發和管理一個團隊的專案

github是我用過最舒服的管理專案程式碼的工具了。沒有github賬號的同學先github.com去註冊個吧。

建立倉庫的步驟就不多說了,主要講講平時怎麼管理組織程式碼的。

首先應該有兩個分支,一個作為正式的分支,即master。一個作為開發的分支,即dev:(假設倉庫名為wenzai/project)

git clone https://[email protected]/wenzai/project
cd project
git checkout -b dev
然後去github.com先切換到該分支,然後點選setting,將該分支設定為預設分支。以後程式碼成熟後再慢慢合併到master分支中。

現在,先說下分支命名規則:先開頭一個字母,f表示feature,b表示bug,r表示重構即review,然後是自己的名字(英文的),最後是功能簡述。如:

f_wenzai_add_regist_model、r_wenzai_regist, b_wenzai_login

假設現在有個新功能註冊分配給wenzai了,那麼他應該執行下面幾步:

git checkout dev && git pull origin dev (切換到dev分支並更新程式碼)
git checkout -b f_wenzai_add_regist (新建分支)
之所以要新建分支,是因為這樣做的話,就可以在github上對這次功能的開發新增的程式碼和提交歷史都可以一清二楚,並且這樣做也可以保證自己本地的dev分支不會被修改,從而每次pull都可以直接自動合併,而不會有衝突。

當該功能的程式碼開發完成並測試完成後,就可以提交程式碼了:

git push origin f_wenzai_add_regist
然後,可以去github.com上點選右邊豎邊欄的第三個圖示即pull request,然後點選new pull request,就可以看到該次提交所有變動的程式碼(包括刪除那些行、增加哪些行,有哪些提交),並且可以對任意一行程式碼新增評論了。

確認沒問題後,就可以點選create pull request了,這樣,這個專案的負責人就可以在他的github的project的頁面上看到你的pull request,然後他會審查你寫的程式碼,沒問題後,他就可以點選merge request將該分支合併到dev分支上了。

當開發下一個功能時,注意要先切換到dev分支,然後再建立新的分支。這樣,進行合併時,就會合併到dev分支上。

還有個實用的命令,就是:

git diff:檢視沒有git add 的檔案增刪了哪些行
git diff --cached:檢視add後的檔案增刪了哪些行
git diff dev:檢視已經commit了的提交增刪了哪些行
git stash:將已經git add的檔案先不要提交,而是壓入git棧,這樣切換到其他分支時就可以乾淨的切換了。要恢復的話可以執行git stash pop
git log dev..:檢視該分支的所有提交歷史



相關推薦

如何使用github開發管理一個團隊專案

github是我用過最舒服的管理專案程式碼的工具了。沒有github賬號的同學先github.com去註冊個吧。 建立倉庫的步驟就不多說了,主要講講平時怎麼管理組織程式碼的。 首先應該有兩個分支,一個作為正式的分支,即master。一個作為開發的分支,即dev:(假設倉庫名

8102年底如何開發維護一個npm專案

開發流程 初始化 首先在npm官網進行註冊登入 執行npm init,可以通過命令列進行一些初始化的設定,如果想快速進行設定,可以執行npm init -y,會在專案的根目錄生成一個package.json的檔案,具體包含哪些配置可以參考官方文件,下面介紹一些常用的配置。 name:npm包的名稱 v

npm 工具(用安裝管理nodejs包的一個工具。所有使用nodejs第三方庫的項目,都需要在項目初始化的時候 使用 npm init 命令初始項目)

des auth 暫時 cif 通過 作用 hello amp `` 新建項目 npm init```package.json ```{ "name": "webpackdemo1", 項目名稱,包名,不能是grunt或webpack "version": "1.

使用maven建立管理你的gwt1.6專案

下面這段程式碼就是建立gwt1.6專案的maven命令。[quote]mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -Dar

使用virtualenv建立python虛擬環境一個Django專案

python虛擬環境--virtualenv virtualenv是一個建立隔絕的Python環境的工具。virtualenv建立一個包含所有必要的可執行檔案的資料夾,用來使用Python工程所需的包. window安裝 pip install virtualenv 或 pip3

瀑布式開發敏捷開發的異同

敏捷開發以使用者的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。在敏捷開發中,軟體專案在構建初期被切分成多個子專案,各個子專案的成果都經過測試,具備可視、可整合和可執行使用的特徵。換言之,就是把一個大專案分為多個相互聯絡,但也可獨立執行的小專案,並分別完成,在此過程

Git管理一個專案操作

1、建立版本庫; 2、新增.git到要管理的專案中; 3、建立分支命令: git checkout -b test 4、新分支和origin關聯命令: git branch --set-upstream-to=origin/test 5、git commit 以下檔案到分支中

docker用maven構建啟動一個springboot專案

maven外掛構建一個docker映象1.maven配置<plugin> <groupId>com.spotify</groupId> <artifactId>dock

Android Studio安裝一個HelloAS專案

本篇將介紹Android Studio的安裝和執行的一個應用程式 本機系統環境:win7 64位 1.下載android-studio-bundle-145.3360264-windows,下載地址http://www.android-studio.org/

樹莓派Android Things物聯網開發:建立一個Things專案

Things apps use the same structure as those designed for phones and tablets. This similarity means you can modify your existing apps to also run on embedde

如何開發釋出一個Vue外掛

# 前言 Vue 專案開發過程中,經常用到外掛,比如原生外掛 `vue-router`、`vuex`,還有 `element-ui` 提供的 `notify`、`message` 等等。這些外掛讓我們的開發變得更簡單更高效。那麼 Vue 外掛是怎麼開發的呢?如何自己開發一個 Vue 外掛然後打包釋出到npm?

深入淺出maven系列(三)---maven構建ssh工程(父工程與子模組的拆分與耦合) 前一節我們初識了maven並且掌握了maven的常規使用,這一節就講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!!

        前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!! 一、maven父工

產品思維學習(五)--產品敏捷開發專案管理

一般產品人員進行過需求採集,分析,篩選後就會進行產品的設計。 在產品設計的過程中會產生PRD(Product Requirement Document 產品需求文件 ),如果是新產品或者在大公司一般還

iOS開發一個專案建立ViewControllerxib

1、新建一個Empty Application,只選Use Automatic Reference Counting,Use Core Data和Include Unit Tests不選。 2、Command+N 新建檔案,選Cocoa Touch UIViewCont

IntelliJ IDEA + GitHub(git) 詳細圖解 如何實現專案的版本控制管理(on win 7 64 bit)

在IntelliJ IDEA 編輯器裡面使用GitHub,把專案放到GitHub伺服器上,實現版本管理的目的。 具體遇到並解決了下面問題。1."Cannot run program "git.exe": CreateProcess error=2, 系統找不到指定的檔案

專案開發管理中:git的使用及倉庫分支(Branch)標籤(Tag)

專案開發及管理中:git的使用及倉庫分支(Branch)和標籤(Tag) 文章目錄 專案開發及管理中:git的使用及倉庫分支(Branch)和標籤(Tag) 1.git的使用 2.git分支 3.git標籤 轉載:https://

請問Python適合用開發一個基於B/S的資訊管理系統嗎?

  肯定合適。OpenERP用的就是python。以下說的c/c++、java、python程式設計師,具有相同的開發能力、熟練程度。我們來做個比較:   1.開發時間,肯定比java、c/c++要快;2.安全性,看總體設計;3.單個程式設計師的費用,肯定要比java、c/

如何使用GitGitHub管理自己的程式碼

一、註冊GitHub賬號 註冊並登入GitHub賬號 建立儲存倉庫 點選右上角加號箭頭,在彈出的選單中選擇New repository選項進行倉庫配置。 1> Repository

Android基礎之用Eclipse搭建Android開發環境建立第一個Android專案(Windows平臺)

一、搭建Android開發環境 準備工作:下載Eclipse、JDK、Android SDK、ADT外掛        1、安裝和配置JAVA開發環境:            ①把準備好的Eclipse和JDK安裝到本機上(最好安裝在全英文路徑下),並給JD

github專案開發分支管理、標籤管理、分支策略

從零開發: 先有遠端庫,從遠端庫克隆 (只會將master克隆下來):git clone  遠端庫地址    一.分支管理:作用:假設你準備開發一個新功能,但需要兩週才能完成,第一週寫了60%,如果提交,由於程式碼還沒寫完,不完整的程式碼庫會導致別人不能幹活,如果等程式碼