1,基本业务逻辑(假设针对index.html文件中内容):
1,在init版本库之前已写好开头部分:index
对index进行git init版本库: 进入到文件夹中,git init
git add . ===》 git commit -m “v1”
2,修改index.html中的内容,增加news
git add . ===》 git commit -m “v2”
3,修改index.html中的内容,增加blogs
git add . ===》 git commit -m “v3”
4,发生事件:blogs功能需要取消
git reset --hard <版本号>
5,经过协调,blogs功能可以重新上线
git reflog ===》 git reset --hard <版本号>
6,为了开发一个商城功能,开始分支
git branch dev1
7,切换分支到dev1
git checkout dev1
8,开发到中途,完成50%,紧急需要修复blogs功能的bug
在dev1分支上add和commit
git checkout master ===》git branch master-bug1
9,切换到master-bug1分支上修改
修改后add和commit
10,切换到master主分支上,将master-bug1合并
git merge master-bug1
11,切换到dev1分支上,继续开发;开发完后与主分支合并
切换到主分支 ===》 git merge dev1
12,产生冲突(两支分支的父节点要一样。不然就会出现冲突)
手动打开黄色感叹号的文件手动修改
<<<<<<<到=======是在当前分支合并之前的文件内容
=======到>>>>>>>是其他分支的代码内容
需要删除其中一个版本,符号也要一并删除
然后add和commit
13,解决完成后,没问题了之后,就可以删除master-bug1分支
git branch -d master-bug1
14,如果回到家里如何将项目同步过来了,使用github.com仓库来实现
1,注册github.com用户名和邮件
15,在github.com上新建空仓库,如果项目已经做了一部分,就创建空目录;如果不是空仓库,先clone在合并
16,在本地目录中对仓库地址增加别名
git remote add origin github仓库地址
17,在把本地目录中的项目推上github.com仓库
git push -u origin 分支
18,在另一台电脑上(安装好git),克隆下来(会克隆所有的分支)
git clone 远程版本库地址
19,rebase
1,第一种情况:只在同一分支上。
git rebase -i HEAD~3 (表示从HEAD开始前3条记录合并)
2,第二种情况:合并记录时,有不同分支,将该分支强插入另一分支
分别在master和dev分支上commit文件
在dev分支上进行rebase : git rebase master
然后切回master分支:git merge dev
3,第三种情况:在公司开发了v1代码,但是没有push到云仓库,在家里push了v2代码,再在公司pull v2代码时会产生分叉,要解决这种分叉:
git fetch origin dev
git rebase origin/dev
注意:如果产生冲突,那么就需要解决冲突,然后git add xxx ,但是不能执行commit(之前没意识到这个错误,导致出现一些列问题),而是按照提示直接执行git rebase --continue
20,beyond compare工具的使用
1,安装
2,使用git命令进行配置,使它能用git命令启动起来
21,多人协同
1,主分支master——生产环境
2,test分支——测试环境
3,dev分支——开发环境
4,每个开发人员都有各自的分支——pdev
5,每个独立功能狗友各自的分支——fdev
22,在github上创建organization
23,git tag -a v1 -m "第一版"
git push --tags
24,在github上查看权限和查看项目的权限,以及邀请其他开发者上来开发,加入到组织中
第25集
25,git checkout -b dev
git push origin dev
26,让其他开发者通过clone链接clone,然后对dev分支进行创建新分支dev1分支,并进行开发。
27,code review
1,