这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天,在青训营的项目开发中,需要用到Git这一版本控制系统,今天学习了廖雪峰老师的Git教程,现在来总结一下其中项目协同开发所需要注意的要点。
基础命令
首先,我们来回顾一下Git中常用的概念和命令(如下图)。 基本概念:
- Workspace:又称工作区,这里存放了我们本地的代码,每当阶段性地修改完成后,可以将工作区的修改通过add命令添加到下面的暂存区。
- Index/Stage:又称暂存区,这里存放了工作区所提交而来的修改,待所有修改都添加完毕后,可以将暂存区的文件通过commit命令提交到仓库。
- Repository:又称本地仓库,这里存放了我们所有文件的最新一次的提交版本。
- Remote:远程仓库,如托管在Github等代码托管平台的仓库,可以通过push将本地仓库提交到远程仓库,或将一个新的远程仓库clone到本地仓库(无冲突的情况)。fetch命令可以将远程仓库拉取到本地,但不做合并,而pull则是将远程仓库拉取到本地并合并。
在同一服务器上进行开发(简便)
基本开发思路:对于开发团队人数较少的场景,可以让开发团队直接在公用的服务器使用Git进行开发。每个人通过创立不同的分支,从而负责开发不同的功能,在完成某个功能的开发和测试后,将代码和主分支的代码进行合并,这样并完成了迭代开发。
开发流程:
1. 新建和修改分支:
git checkout -b feature1
# 新增功能后添加到暂存区
git add .
# 提交
git commit -m "add feature1"
2. 合并分支:
# 切换到主分支
git checkout master
# 合并
git merge feature1
# 删除旧分支
git branch -d feature1
3. 解决冲突(如有):
# 查看冲突
git status
# 修改完成后重新提交代码
git add .
git commit -m "conflict fixed"
# 删除开发分支
git branch -d feature1
除了直接在服务器上通过不同的分支进行多人开发外,更主流的方式为通过Github等远程仓库进行同步开发(通过fork->更改->push->pull request->merge的方式)。具体方式可以查看以下两个链接:
www.liaoxuefeng.com/wiki/896043… www.liaoxuefeng.com/wiki/896043…