用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)
- 填写推送标题及内容
- 选择审核人员
- 提交
倘若您已经可以在开源项目贡献代码了,想必您一定是老司机,这个流程一看便知,无需过多解释(本小编偷懒也要写个理由)。