首页 > 其他分享 >路飞项目day05

路飞项目day05

时间:2023-03-02 23:14:52浏览次数:45  
标签:git 项目 仓库 dev 路飞 day05 提交 远程 分支

昨日内容回顾

# 1 前端首页

# 2 轮播图接口
    Banner.vue---->created--->axios--->渲染在页面上
    v-if
    
# 3 git 介绍
    -软件,版本管理软件
    -代码版本管理,协同开发,合并代码...
    -下载---》分平台---》一路下一步安装
    -命令行中 输入 git,右键
    
# 4 git 和 svn 区别
    集中式管理
    分布式管理
    
# 5 git gitee github gitlab
    -git软件
    -gitee远程git仓库,网站,开放源代码,私有代码,国内最大的开源仓库
    -github远程git仓库,网站,开放源代码,私有代码,国外最大的开源仓库
    -gitlab:公司里的
    
# 6 git工作流程
    工作区:修改操作代码的地方
    暂存区:工作区的变更提交到暂存区
    版本库:暂存区提交到版本库,你的变更就被版本管理
       -回退,查看之前版本
        
# 7 常用命令
    -git init 初始化仓库
    -git status 查看状态[工作区,暂存区]
    -git add 把工作区变更提交到暂存区
    -git commit -m '一定要加注释' 把暂存区提交到版本库
    -git reflog
    -git log 查看版本信息
    
    -设置用户名和邮箱(全局局部)
    
    -git checkout .  把工作区变更回退
    -git reset HEAD  把暂存区拉回到工作区
    
    -git reset --hard 版本号   回退到某个版本  记住
    
# 8 忽略文件
    -仓库中有些文件,文件夹不需要提交到版本库,来管理
    -node_models
    -.idea
    -*.pyc
    -*.log
    
    -使用步骤
        -在仓库目录下新建 .gitignore
        -在里面写忽略文件,文件夹
           直接写文件名
           /文件名
           /目录名/xx.txt
           /*.txt

今日内容

  • git多分支

  • git远程仓库

  • ssh方式连接远程仓库

  • 协同开发

  • 冲突解决

  • 线上分支合并

  • 远程仓库回滚

1 git 多分支

# 为什么要有分支
  -可以保证,主分支的版本都是可以查看的版本
  -我们都在开发分支开发,开发完成,合并到主分支

1.1 分支操作

分支查看
   git branch

image-20230302163053400

分支创建
   git branch 分支名
   git branch dev

image-20230302163345313

分支切换
   git checkout dev  # 切换到dev分支

image-20230302163621543

分支删除
   git branch -d 分支名

1.2 合并分支(重要)

# 把dev合并进master
  -先来到master分支:git checkout master
    
  -执行合并命令:git merge dev  # 把dev合并到master身上

# 分支合并可能会出冲突

image-20230302172406067

image-20230302172638084

image-20230302172836667

# 公司里分支方案:小公司
  -master分支,dev分支,bug分支,所有人在dev分支开发,开发完成合并到主分支
  -master分支,dev分支,bug分支,个人分支,个人在个人分支上开发,开发完成合并到dev分支

2 git远程仓库

# 把本地的版本提交到远程仓库
# gitee,github,gitlab。。。
# gitlab的搭建过程:https://zhuanlan.zhihu.com/p/413217715
以 gitee作为远程仓库

# luffy_api 写好了一部分功能,要把代码提交到远程仓库

2.1 操作步骤

本地:
    1 在luffy_api 敲git init

image-20230302190935334

    2 设置忽略文件 (.gitignore)

image-20230302191012947

    3 git add.
    4 git commit -m '第一次提交'
    提交到了本地版本库-------被版本管理了

image-20230302191143258

忘记写忽略文件提交,如何再重写忽略文件步骤

luffy.log---->暂存区---->版本库

.gitignore---->写上忽略,但是不好被忽略,只要luffy.log有变化还是会被监控到

删除luffy.log---->会被监控到---->add,commit---->版本库中已经没有luffy.log

再出的luffy.log,就不会被管理了

gitee远程仓库

远程:
    1 远程要创建仓库:gitee上创建仓库,右上角 +

image-20230302191302034

    2 填一些信息,保证仓库是空的

image-20230302200437936

本地传远程

image-20230302201027728

1 按照远程仓库的提示的步骤操作
2 设置用户和邮箱

image-20230302201233932

3 咱们是已有仓库

# 添加一个远程仓库地址名字叫origin,地址是...
git remote add origin https://gitee.com/super-xiao-zhao/luffy_api.git
# 把本地的版本库推送到远程仓库
# 把本地当前所在分支,推送到 origin对应的远程的master上
git push -u origin "master"
# 需要输入用户名密码,输入一次,以后就不用输入了(本地保存了:凭据管理)

image-20230302203533282

image-20230302203645341

image-20230302204238108

image-20230302204326739

3 ssh方式连接远程仓库

# 刚刚提交代码---》输入了用户名密码---》才可以提交上去----》使用的是https的协议提交的代码
  -它需要输入用户名密码
# 咱们要使用ssh方案:需要公钥和私钥   ---》公司里这种方式多
	-私钥在本地保存
    -公钥配置到gitee上
    -以后再提交代码,不需要其他任何认证了,一路绿灯

使用步骤

生成公钥私钥的详细步骤:https://gitee.com/help/articles/4181
    
-在命令窗口执行,一路回车
   ssh-keygen -t ed25519 -C "[email protected]" 
    
-生成在:C:\Users\Super小赵/.ssh 两个文件 一个公钥 一个私钥

image-20230302205749670

-把公钥,配置在gitee上

image-20230302205910830

-之前origin对应的地址是 https的,现在要使用ssh提交代码,需要把它删除,再增加成ssh的协议
   
    # 删除远程仓库
   git remote remove origin
    # 再次提交
   git remote add origin [email protected]:super-xiao-zhao/luffy_api.git

image-20230302210244894

image-20230302211107748

4 协同开发

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

5 冲突解决

# 出现冲突的原因
    1 多人在同一分支开发
    2 分之合并出现冲突
# 多人在同一分支开发冲突
    -张三:
        git pull origin master
        在requirements.txt,最后一行加入 lqz
        git add .
        git commit -m 
        git push origin master
        
        
        
    -我:
        在requirements.txt,最后一行加入 lqz
        git add .
        git commit -m 
        git pull origin master
        # 冲突了
        # 解决冲突 冲突的 箭头去掉,阅读代码,选择保留或删除别人或自己的代码,再提交
        # 提交到远程仓库,这是解决后的
# 冲突出现的样子:你如果要删除别人的代码,你需要跟别人说一声
    <<<<<<< HEAD   我的代码
    print('刘亦菲')
    =======   它的代码
    print('彭于晏')
    >>>>>>> 6f720edbd84c8744b1c7c10767fb89a5d0fa98f5

避免出现冲突

你如果想少出现冲突,勤拉取代码

冲突出现的原因2,分支合并出冲突

-我:
    1 创建dev分支 
       git branch dev
        
    2 在dev分支的views.py 中第2行加入代码
       
    3 提交到本地仓库
        
        
-我:
	  1 在主分支的views.py 中第2行加入代码
      2 提交到版本库
        
      3 在主分支合并代码  git merge dev
      4 冲突了,解决冲突
      5 再提交代码,到此结束

image-20230302220621718

6 线上分支合并

# 线下分支合并
    git merge dev
# 线上 分支合并
  - gitee上,新建一个分支 

image-20230302222214960

 -本地同步远程dev分支
    git pull origin dev
    # 拉下来了,但是看不到,只有切过去,才看得到
    git checkout dev

image-20230302222958859

 -在dev上开发代码
    随便加代码
    git add .
    git commit -m '操作的注释'
    # 提交到了本地的dev

image-20230302223549254

 -推到远端 dev
    git push origin dev

image-20230302223639147

 -但主分支master中没有修改的代码,dev中有提交的,现在要进行线上分支合并
 -把远程的dev合并进远程的master
 - 提交pr    提交rr

image-20230302224111200

 -在网站上,申请提交pull request
 -领导审核,测试,通过后,点击合并
 -线上dev就合并进线上的master了

image-20230302224401927

image-20230302224621391

image-20230302224631762

image-20230302224724977

image-20230302224940210

image-20230302224957982

7 远程仓库回滚

# 你不要用
# 想远程的代码,是最初的状态

# 步骤:
     1 本地版本回退
     git reset --hard 版本号
        
     2 强行推到远端
     git push origin master -f

标签:git,项目,仓库,dev,路飞,day05,提交,远程,分支
From: https://www.cnblogs.com/super-xz/p/17173938.html

相关文章

  • 路飞1
    后台日志封装日志的作用就是用来记录一些错误信息和操作的,所以我们在以后的项目中都尽量不要出现print了,以后都使用日志logger.info(),以后只需要调整日志级别就好了日......
  • 路飞首页前端
    路飞前台的全局CSS,全局配置文件整理项目App.vue<template><divid="app"><router-view/></div></template>router/index.jsconstroutes=[{pa......
  • 路飞后台
    后台主页模块设计1.首页要写哪些接口轮播图接口推荐课程接口2.创建首页app在apps文件夹下执行python../../manage.pystartapphome3.创建......
  • 路飞
    今日内容1.git多分支2.git远程仓库3.ssh方式连接远程仓库4.协同开发5.冲突解决6.线上分支合并7.远程仓库回滚1.git多分支#为什么要有分支 -可以保证,主分支的版......
  • 路飞项目day_06
    目录今日内容详细一、git多分支二、git远程仓库三、ssh方式连接远程仓库四、协同开发五、冲突解决六、线上分支合并七、远程仓库回滚今日内容详细一、git多分支#为什么......
  • python之路 80 路飞项目、git多分支、git远程仓库、ssh方式连接远程仓库、协同开发、
    git多分支为什么要有分支可以保证,主分支的版本都是可以查看的版本我们都在开发分支开发,开发完成,合并到主分支分支操作分支查看gitbranch分支......
  • 路飞-day5——git 多分支开发、git远程仓库、ssh方式连接远程仓库、协同开发、冲突解
    目录一、git多分支开发git分支管理分支操作公司里使用的分支方案二、git远程仓库把我们写了一部分的luffy项目上传到gitee上传项目到本地版本库上传项目到远程仓库需要被......
  • 项目插件记录
    效果类:无缝滚动 vue-seamless-scroll安装后局部引入,做列表无缝滚动<script>importvueSeamlessScrollfrom'vue-seamless-scroll'exportdefault{co......
  • vue+vant项目中 rem适配配置
    vantrem适配,需要安装两个插件postcss-pxtorem 是一款postcss插件,用于将单位转化为rem  lib-flexible 用于设置rem基准值postcss-pxtorem:npminstallpostc......
  • vue项目实践1,项目中各个文件夹
    vue-cli脚手架初始化项目。node+webpack+淘宝镜像node_modules文件夹:项目依赖文件夹public文件夹:一般放置一些静态资源(图片),放在public里面的静态资源,webpack在进......