目录
- 1. 协同开发
- 2. 冲突解决
- 3. 线上分支合并(pr,mr)
- 4. pycharm操作git
- 5. 为开源项目贡献代码
- 6. git 面试题
- 7. 前后端上传问题
- 8. 前台首页组件编写
- 9. 首页轮播图功能前后端打通
1. 协同开发
# 在公司中,都是多人共同开发同一个项目
1 组长本地创建出空项目,底层代码写完---》提交到远程仓库
2 张三,李四,王五都要共同开发这个项目
3 我们要把代码clone到本地
-pycharm中:
-找一个位置:git bash here(cmd)
git clone 远程地址
使用pychrm打开
本地能够运行起项目来(依赖没装好),数据库链接不对(本地)
4 写代码,提交到本地版本库,推到远端即可(推之前先pull一下)
# 多人协同开发一个项目
作为项目创建者:本地搞好,远程搞好,推上去,把别人加为开发者
作为协同开发者:远程账号,密码---》登录进去就能看到这个项目了
2. 冲突解决
2.1 多人同一分支开发出现冲突
# 出现冲突的原因
别人跟你改了同样的代码,但是他先提交到远程仓库了
你要提交,提交不上,先拉取,拉取下来,因为改了同样代码,冲突
冲突的样子
<<<<<<< HEAD
print('lqz')
======= # 上面是你的代码
print('lqz is handsome')
>>>>>>> f67f73948d175b186cd5f1319d7602fe004e285c # 别人代码
修改代码到不报错
重新提交到本地版本库,推到远端
2.2 分支合并出现冲突
# 1 新建要给dev分支,切换过去
git branch dev
git checkout dev
# 2 dev分支修改dev.py 第一行,提交到版本库
# 在第一行加入print
git add .
git commit -m '修改了dev.py'
# 3 修改dev分支的home/views.py 最后一行
# 在views.py最后一行加入注释
git add .
git commit -m '最后一行加入注释'
# 4 切回到master分支,修改dev.py 第一行和home/views.py 最后一行,提交到版本库
git checkout master
# 在第一行加入print
# 在views.py最后一行加入注释
git add .
git commit -m 'master修改内容'
# 5 当合并代码,会出冲突,解决,提交
git merge dev
# 有冲突,解决
git add .
git commit -m '解决冲突'
3. 线上分支合并(pr,mr)
# 之前全是线下分支操作,本地增删查改分支
# 1 远程建立分支:gitee上点击操作
# 2 把远程分支拉到本地
git pull origin dev # 已经拉下来了,但是还看不到,需要切换过去
git checkout dev # 来到了本地dev分支
# 3 本地dev分支增加代码
git add .
git commit -m '本地dev提交'
# 4 本地dev提交到远端
git push origin dev
# 5 远程分支合并:把dev合并到master
你提交pull request 的申请(pr,mr)---》跟你没关系了--->[合进去了,没有合进去]
你领导就能看到这个pr,审核通过,点合并
到此 dev分支就合并进master分支了
4. pycharm操作git
命令操作git,编辑器pycharm,可以操作git,图形化界面操作
以前使用的所有命令,都可以在pycharm中点点点实现
4.1 clone
4.2 git add
4.3 git commit
4.4 git pull
4.5 git push
4.6 git branch
4.7 查看git操作记录 git log
4.8 本地代码跟版本库比较
5. 为开源项目贡献代码
1 看到开源项目,点fork,你的仓库就有这个开源项目了
2 在本地拉去【你仓库】fork的代码
3 你继续写,提交到自己远程仓库
4 提交pr合并,如果作者同意,你就可以合并进去了
6. git 面试题
1 你们公司分支方案是什么样的?
master,dev,bug 三条分支
master主要用来发布版本,写好了某个版本的代码合并进去,不直接在master上开发
dev:开发分支,项目的开发者,都在dev分支上开发
bug:bug分支,用来修改bug,发布小版本
2 使用git开发,遇到过冲突吗?
遇到过
多人在dev分支开发,出现的冲突
分支合并出现的冲突
把代码拉下来,直接解决冲突,保留我的代码,保留同事的代码
3 你知道git 变基?
分支合并:dev分支合并到master分支
merge或rebase 合并
把多次提交合并成一个
4 git pull 和git fetch的区别
pull 和 fetch都是拉取代码
pull=fetch+合并
5 你知道git flow吗?git 工作流,它是一个别人提出的分支方案
我们没有用,我们用的就是master+dev+bug分支方案
6 使用git 的操作流程
如果是普通开发者:git clone下来,写代码,git add ., git commit, git pull, git push
7 什么是gitee,github:pr,gitlab:mr?
不同叫法:提交分支合并的请求
7. 前后端上传问题
8. 前台首页组件编写
9. 首页轮播图功能前后端打通
标签:面试题,git,代码,合并,dev,首页,冲突,分支
From: https://www.cnblogs.com/cainiaozhy/p/16875573.html