用git
管理項目的好處我在這裏就不再描述了,以我多年的開發經驗,總結了一下常規的git
項目管理流程如下:
初次創建項目常用操作流程
- 在github上創建項目,可參考《GitHub項目管理基本操作》
- clone項目到本地(
git clone https://github.com/loushengyue/hello-world.git
) - 編輯內容(在克隆下來的文件夾
hello-world
內創建或者粘貼項目文件) - 在
hello-world
目錄下啓動git bash
查看項目的狀態(git status
) - 跟蹤當前目錄下的所有文件(
git add ./
) - 再次查看項目狀態(
git status
) - 編寫提交信息標題(
git commit -m ‘這裏是需要自己填寫的標題’
) - 提交到github的遠程倉庫(
git push
)
綜述: 以上操作屬於初次創建項目的流程,通常由項目擁有者(創始人)來完成,並不適用於多人團隊開發,因此我們需要了解團隊開發中的常見操作過程。
已有項目團隊開發操作流程
方案一:直接在master分支開發,適合項目第一個版本的小團隊(3-5人)開發
- clone項目到本地(
git clone https://github.com/loushengyue/hello-world.git
,注意:首次克隆後不用執行git pull
更新,其他時候只更新不克隆) - 更新項目到本地(
git pull
) - 編輯內容(修改原有項目文件或者新增文件)
- 在
hello-world
目錄下啓動git bash
查看項目的狀態(git status
) - 跟蹤當前目錄下的所有文件(
git add ./
) - 再次查看項目狀態(
git status
) - 編寫提交信息標題(
git commit -m ‘這裏是需要自己填寫的標題’
) - 提交到github的遠程倉庫(
git push
)
方案二:創建dev分支開發,適合項目版本迭代小型團隊開發
- 事先在
GitHub
遠程庫當中創建dev
分支,可參考《GitHub項目管理基本操作》 - clone項目到本地(
git clone https://github.com/loushengyue/hello-world.git
,注意:首次克隆後不用執行git pull
更新,其他時候只更新不克隆) - 切換到dev開發分支(
git checkout dev
) - 查看當前分支(
git branch -a
) - 更新項目到本地(
git pull
) - 編輯內容(修改原有項目文件或者新增文件)
- 在
hello-world
目錄下啓動git bash
查看項目的狀態(git status
) - 跟蹤當前目錄下的所有文件(
git add ./
) - 再次查看項目狀態(
git status
) - 編寫提交信息標題(
git commit -m ‘這裏是需要自己填寫的標題’
) - 提交到github的遠程倉庫(
git push
)
注意: 方案二的操作方式通常只適合小團隊(3-5人)開發,如果項目分工安排合理可以容納5-10人的團隊,隨着參與人員的增多,代碼提交衝突的概率會越來越高,爲了減少衝突,我們通常需要在本地創建臨時分支來提交代碼,雖然步驟稍微繁瑣一些,但是可以大大減少衝突,具體流程如下。
優化後的方案二:
- 事先在
GitHub
遠程庫當中創建dev
分支,可參考《GitHub項目管理基本操作》 - clone項目到本地(
git clone https://github.com/loushengyue/hello-world.git
,注意:首次克隆後不用執行git pull
更新,其他時候只更新不克隆) - 切換到dev開發分支(
git checkout dev
) - 查看當前分支(
git branch -a
) - 更新項目dev分支到本地(
git pull
) - 創建本地臨時開發分支(
git checkout -b lsy
) - 編輯內容(修改原有項目文件或者新增文件)
- 在
hello-world
目錄下啓動git bash
查看項目的狀態(git status
) - 跟蹤當前目錄下的所有文件(
git add ./
) - 再次查看項目狀態(
git status
) - 編寫提交信息標題(
git commit -m ‘這裏是需要自己填寫的標題’
) - 切換到開發分支dev(
git checkout dev
) - 更新項目dev分支到本地(
git pull
) - 合併lsy臨時分支到當前分支(
git merge lsy
) - 提交到github的遠程倉庫(
git push
) - 此時你可以刪除lsy臨時分支,也可以保留(若保留,記得每次開發前先將dev分支代碼merge到lsy分支)
注意:在使用分支刪除命令時需要特別謹慎,若上述流程的某個地方操作失敗,然後又強行刪除臨時分支,通常會導致新開發的內容丟失,所以沒有列出git branch -d
命令的使用。
參與開源項目操作流程
- fork項目到自己名下
- 複製項目地址
- clone項目到本地(
git clone [url]
) - 編輯內容
- 查看變更信息(
git status
) - 添加變更信息(
git add ./
) - 再次查看變更信息(
git status
) - 編寫提交信息標題(
git commit -m ‘這裏是需要自己填寫的標題’
) - 提交到github(
git push
) - 發起推送請求(點擊 + Pull Request)
- 填寫推送標題及內容
- 選擇審覈人員
- 提交
倘若您已經可以在開源項目貢獻代碼了,想必您一定是老司機,這個流程一看便知,無需過多解釋(本小編偷懶也要寫個理由)。