
一、新建项目(模拟项目经理创建项目)
1、通过git命令新建项目,project2就是项目目录

2、进入项目,执行git init 初始化本地库

3、将项目中的文件提交到本地库

4、新建仓库(一般要和项目名称一致)


5、给远程仓库命名新的名字
git remote add my_project2 git@gitee…

6、查看远程库
git remote -v.

7、将本地库中的文件提交到远程库(注意)
报错:fatal: Could not read from remote repository.

8、注意:
 提交到远程库 
二、模拟程序员提交到代码(不需要创建项目了,需要克隆过来)
 采用ubuntu系统
1、新建一个项目目录

2、克隆
git clone git@gitee

3、程序员进入克隆的项目中新建文件,并且提交到本地库

4、提交到远程库

5、gitee中创建dev1分支
master分支: git@gitee.com:zhilongya/project2.git dev1分支: git@gitee.com:zhilongya/project2.git 在gitee中不管创建多少分支仓库地址都是一样的,代码一致
6、本地创建dev1分支
git branch dev1:创建分支 git checkout dev1:切换分支

三、模拟代码冲突
1、项目经理更新仓库

2、更新完成后就可以在本地文件中看到程序员提交的文件

3、项目经理更新文件代码,提交到本地仓库和远程仓库
 远程仓库 
4、模拟程序员提交代码,由于这个程序员每次上班写代码前都不更新代码,直接写代码

5、提交到本地库

6、提交到远程库,失败
失败原因是:代码冲突,编写代码前没有更新代码,并且编写完代码直接进行提交

7、解决问题
先拉取远程代码,更新本地代码:git pull origin master

 
8、立马要推送到远程,如果不及时可能还会有冲突

9、特别注意:
冲突:以行为单位,eg: a、如果master分支中demo1.py文件第一行和dev分支中demo1.py文件第一行相同,合并不会产生冲突 b、如果先在master分支中demo1.py文件第二行编写代码,之后在dev分支中demo1.py文件第三行编写代码,合并分支不会产生冲突 c、2个分支同一个文件内容不同不一定是冲突的
五、合并分支
2个分支中的demo1代码 

1、在本地合并分支

2、分支之间产生冲突

3、解决冲突

执行以下命令: git add demo1.py git commit -m ‘解决冲突’ git push my_project2 master

 
将dev1分支合并到master分支上,意思:合并完成后master分支上的代码会变化,dev1上的分支不会变化
 
|