luffy 06

1 git多分支

# 为什么要有分支
-可以保证,主分支的版本都是可以查看的版本
-我们都在开发分支开发,开发完成,合并到主分支
# 分支操作
-分支查看
git branch
-分支创建
git branch 分支名
git branch dev
-分支切换
git checkout dev # 切换到dev分支
-分支删除
git branch -d dev
-合并分支:(重要)
-把dev合并进master
-先来到master分支: git branch checkout master
-执行合并命令: git merge dev # 把dev合并到我(master)身上
# 分支合并可能会出冲突
# 公司里分支方案: 小公司
-master分支, dev分支, bug分支,所有人在dev分支开发,开发完成合并到主分支
-master分支, de分支, bug分支,个人分支,个人在个人分支上开发,开发完成合并到dev分支

2 git远程仓库

# 把本地的版本提交到远程仓库
# gitee, github, gitlab。。。
# gitlab的搭建过程
https://zhuanlan.zhihu.com/p/413217715
# 讲课以 gitee作为远程仓库
# luffy_api 写好了一部分功能,要把代码提交到远程仓库
# 操作步骤:
本地:
1 在luffy_api 敲git init
2 设置忽略文件(.gitignore)
3 git add .
4 git commit -m '第一次提交'
----提交到了本地版本库-----被版本管理了
远程:
1 远程要创建仓库: gitee上创建仓库,右上角 +
2 填一些信息, 保证仓库是空的
本地:
1 安装远端提示的步骤操作
2 设置用户和邮箱
3 咱们是已有仓库
cd luffy_api
# 添加一个远程仓库地址名字叫origin,地址是xxx
git remote add origin
https://gitee.com/liuqingzheng/luffy_api.git
# 把本地的版本库推送到远程仓库
# 把本地当前所在分支,推送到orgin对应的远程的master上
git push origin master
# 需要输入用户名密码,输入一次,以后就不用输入了(本地保存:凭据管理)
# 如果提交了,再写忽略文件的步骤
luffy.log--->暂存区--->版本库
.gitignore--->写上忽略,但是不好被忽略,只要luffy.log有变化还是会被监控到
删除luffy.log---> 会被监控到---> add, commit--->版本库中没有luffy.log
再出的luffy.log 就不会被管理了

3 ssh方式连接远程仓库

# 刚刚提交代码---->输入了用户名密码---> 才可以提交上去--->使用的是https的协议提交的代码
-它需要输入用户名和密码
# 咱们要使用ssh方案:需要公钥和私钥 --->公司里这种方式多
-私钥在本地保存
-公钥配置到gitee上
-以后再提交代码,不需要其他任何认证了,一路绿灯
# 使用步骤:
- 生成公钥私钥:
https://gitee.com/help/articles/4181
-在命令窗口中执行。一路回车
ssh-keygen -t ed25519 -C "932679790@qq.com"
-生成在: C:\Users\Administrator\.ssh 两个文件: 一个公钥,一个私钥
-把公钥,配置在gitee上
-之前origin对应的地址是 https的, 现在要使用ssh提交代码,需要把它删除,再增加成ssh的协议
git remote remove origin
git remote add origin
git@gitee.com:l

4 协调开发

# 我[仓库管理员]创建了仓库, 我对仓库有各种权限
# 我们要多人开发(张三 李四),张三李四再自己的仓库中,能看到我的项目吗? 看不到
# 我[仓库管理员], 把张三李四设置为仓库的开发者,设置完成后,在张三李四的仓库中就能看到这个项目了
# 仓库管理员 邀请开发者进入
-邀请的开发者,对这个仓库就有读写权限,他们就可以开发代码,提交
# 我作为开发者,本地没有代码
1 把代码从远程仓库 clone 下来
git clone git@gitee.com:liuqingzheng/luffy_api.git
2 使用pycharm打开,配置好解释器,安装依赖
3 开发代码 开发完
git add
# 设置用户名和邮箱
git config user.name wei
git config user,email 3@qq.com
git commit
git push origin master
# 刚去公司的步骤
1 自己注册 hr给你 gitlab 账号和密码
-自己去账户里 配置ssh
2 老大会把一个仓库地址给你 [这时候已经把你加成开发者了] https ssh
3 clone下来代码
4 使用pycharm打开,配置环境---->代码运行起来
5 开发代码, 本地提交---push到远端
add
commit
push

5 冲突解决

# 出现冲突的原因
1 多人在同一分支开发
2 分之合并出现冲突
# 多人在同一分支开发冲突
-张三:
git pull origin master
在requirements.txt 最后一行加入 wei
git add .
git commit -m
git push origin master
-我:
在requirements.txt 最后一行加入 wei
git add .
git commit -m
git pull origin master
# 冲突了
# 解决冲突 冲突的 箭头丢掉,阅读代码,选择保留或删除别人或自己的代码,再提交
# 提交到远程仓库,这是解决后的
# 冲突出现的样子: 你如果要删除别人的代码, 你需要跟别人说一声
<<<<<<< HEAD 我的代码
print('刘亦菲')
======= 它的代码
print('彭于晏')
>>>>>>> 6f720edbd84c8744b1c7c10767fb89a5d0fa98f5
# 避免出现冲突
-你如果想少出现冲突,勤拉取代码
# 冲突出现的原因2: 分支合并出冲突
-我:
1 创建dev分支
git branch dev
2 在dev分支的view.py 中第2行加入代码
3 提交到本地仓库
-我:
1 在主分支的view.py 中第2行加入代码
2 提交到版本库
3 在主分支合并代码 git merge dev
4 冲突了,解决冲突
5 再提交代码 到此结束

6 线上分支合并

# 线下分支合并
git merge dev
# 线上 分支合并
-gitee上,新建一个分支, 点点点创建出来
-本地同步远程dev分支
git pull origin dev # 拉下来了 还看不到 只有切过去, 才看得到
git checkout dev
-在dev上开发代码
随便加代码
git add
git commit
# 提交到本地的dev
- 推到远端 dev
git push origin dev
-master中没有代码, dev中提交的 现在要线上分支合并
-把远程的dev合并进远程的master
- 提交pr 提交rr
-在网站上,申请提交pull request
-领导审核,测试,通过后,点击合并
-线上dev就合并进线上的master了

7 远程仓库回滚

# 你不要用
# 想远程的代码,是最初的状态
# 步骤:
1 本地版本回退
git reset --hard 版本号
2 强行推到远端
git push origin master -f
posted @   性格如此w  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示