1 git多分支
2 git远程仓库
2.1 普通开发者,使用流程
3 ssh方式连接远程仓库
4 协同开发
4.1 避免冲突
4.2 协同开发
5 解决协同冲突
5.1 多人在同一分支开发
5.2 合并分支
1 git多分支
## 命令操作分支
-1 创建分支
git branch dev
-2 查看分支
git branch
-3 分支合并(可能经常用)
git merge dev # 需要在master分支上,合并dev
-4 删除分支
git branch -d 分支名 # 不能在当前分支上,删除当前分支
-5 分支切换
git checkout 分支名
2 git远程仓库
# github gitlab gitee
# 远程仓库以:gitee 为例,目标:把luffy_api提交到远程仓库----远程仓库是空的情况
- 1 在gitee上创建了仓库 (确保仓库是空的)
- 2 本地:git init
- 3 本地:git commit -m 提交版本
- 4 指定远程仓库地址
# 添加一个远程仓库,名字叫origin 地址是 后面地址
-git remote add origin https://gitee.com/liuqingzheng/luffy_api.git
-5 推送到远端
git push origin master
# 弹出:让你输入用户名和密码---》gitee的用户名密码
# 远程仓库有东西的情况
1 本地先不做仓库---》.git 删除
2 找个位置,把远程仓库内容下载
git clone https://gitee.com/liuqingzheng/luffy_api.git
3 把我们写好的代码,复制到这个文件夹下
4 提交到本地仓库
git add . git commit -m
5 推送到远程仓库
git push origin master
# 本地还没开始写代码,远端建仓库(有东西)
-把远端仓库下载下来,用pycharm打开,写代码--本地提交--提交到远程
# 现在公司里有个项目了,写了很多代码了,也用版本管理了
-远程仓库一定是空
-本地的不要删---》直接提交到远程---》远程也有之前的版本管理
# 在公司里,这些都不用你做,创建仓库,提交初始化的代码都是领导做好了
-你只需要从远程仓库,下载代码:git clone
-用pycharm打开,继续写--提交即可
2.1 普通开发者,使用流程
# 1 领导会把你的账户添加为开发者
# 2 下载代码到本地--》在这个基础上开发
-方式一命令:git clone https://gitee.com/vip-linjun/luffy_api.git
-方式二:使用pycharm下载
-先配置git
-方式三:下载zip,下载后使用pycharm打开
# 3 使用pycharm打开
-写代码,提交到本地仓库
-提交到远程仓库
3 ssh方式连接远程仓库
# 之前,提交,拉取代码 都是走的https协议
# 公司内部,一般会走 ssh协议,以后不需要用户名密码了,只需要ssh的公钥和私钥
-非对称加密
# 操作步骤
- 1 生成公钥私钥
ssh-keygen -t ed25519 -C "xxx@qq.com"
-2 用户家路径,生成的公钥和私钥
-C:\Users\Administrator\.ssh
-3 复制你的公钥,配置在gitee上
-设置---》添加ssh公钥,把公钥粘贴,确定
-4 以后,再操作git,不需要用户名密码了(走的是公钥和私钥)---》只针对于你这台机器
-5 把远程仓库的连接,修改成ssh协议
# 把原来的remote的对应关系删除
git remote remove origin
# 新增一个对应关系,协议是ssh
git remote add origin git@gitee.com:vip-linjun/luffy_api.git
-6 以后本地改了代码,提交到本地版本库,想推送到远程仓库,直接 git push即可,不需要再输入用户名密了
# 总结:你们到公司后,使用git流程
1 注册个账户---》gitlab---》(有可能右同时给你注册了,密码得改)
2 领导会把你加成开发者
3 进入到你的家里,你就能看到这个项目了
4 项目clone到本地
-https方式:git clone https://gitee.com/vip-linjun/luffy_api.git
-ssh方式:git clone git@gitee.com:vip-linjun/luffy_api.git
5 在本地生成公钥私钥,把公钥配置在gitlab
6 以后,在pycharm中打开项目写功能,提交到本地,提交到远端即可
4 协同开发
4.1 避免冲突
假设:
张三:改了 settings.py 第一行,提交了
李四:改了 settings.py 第二行,提交了
你也在改setting.py ,没有拉取代码,不知道他们提交了,动了第二行,但是跟李四代码不一样
你要提交,必须先拉取,一拉,把张三的,李四的都会加到你代码中,就会出冲突
#### 如果你想避免冲突,勤拉取代码
4.2 协同开发
# 同学一:
git clone 项目
pycharm打开
写代码:__init__.py
git add . # 当前目录下有个venv文件夹--》删除这个文件夹
git commit -m 'ss' # 设置用户名和邮箱
git push origin master # 推不上去 git pull origin master
# 同学二
在pycharm中改代码
改的不是同一个文件
git add .
git commit -m 'sasdfasd'
git pull origin master # 由于我们改了不是同一个文件,不会冲突
git push origin master # 把自己的推上去即可
5 冲突解决
5.1 多人在同一分支开发
# 同学一:
git clone 项目
pycharm打开
写代码:__init__.py ,第五行,改成 print('阿斯顿发送到发')
git add . # 当前目录下有个venv文件夹--》删除这个文件夹
git commit -m 'ss' # 设置用户名和邮箱
git push origin master # 推不上去 git pull origin master
# 同学二
在pycharm中改代码
改的是同一个文件,不同行 print('aaa')
git add .
git commit -m 'sasdfasd'
git pull origin master # 由于我们改了是同一个文件,会冲突
<<<<<<< HEAD # 下面是我的代码
print('asdfasdfads')
======= # 下面是别人代码
print('tang')
>>>>>>> 2174bd1a466536dda553ba3835cfd9768ae32be0 # 别人代码的版本号
删除报错,看代码,如果改的一样,就留别人的,把自己的代码删除
git add .
git commit -m
git push origin master
5.2 合并分支
# 操作步骤
git branch dev
# 在dev分支操作
git checkout dev
在settings.py最后写代码
git add.
git commit -m 'dev加代码'
# 在master分支操作
git checkout master
在settings.py最后写代码
git add.
git commit -m 'master加代码'
# 合并分支出冲突
git merge dev # 出冲突了,解决冲突,再提交
git add .
git commit -m