设为首页 收藏本站
查看: 642|回复: 0

Git使用、合并解决冲突

[复制链接]
累计签到:500 天
连续签到:2 天
发表于 2023-1-11 00:51:00 | 显示全部楼层 |阅读模式
昨日回顾

```python
# 1 轮播图接口
   -封装一个BaseModel基类,utils/model.py
    -homeapp下的models.py创建Banner
    -序列化类
    -视图(继承哪个视图类)   queryset对象[:3]
    -路由自动生成
    -返回多少张,通过setting的配置实现
       -setting包下新建const.py
        变量名=变量值
        -dev.py
        from .const import *
        
# 2 前端轮播图
   -elementui的跑马灯  v-for   :src
    -axios发送请求
   
# 3 git
   -工作区,暂存区,版本库
   -git init   # 生成一个.git 的文件夹
    -git stauts # 查看状态(红色和绿色),必须全绿再提交到版本库
   -git add .  # 提交到暂存区
    -git commit -m '文字' # 从暂存区提交到版本库
    -git checkout . # 把工作区的代码恢复到版本库中最先的代码
    -git reset .   # 把暂存区的东西拉回到工作区(原来是绿的变红了)
    -git reset --hard 版本号  # 回退到某个版本
    分支
    -git branch  # 查看所有分支,如果分支是绿色,是再当前分支是
    -git branch 分支名  # 创建分支
    -git chekout dev  # 切换到dev分支
    -git chekout -b dev2 # 创建并切换到dev2分支
    -git branch -d dev2 # 删除dev2分支,不能再这个分支上
    -git merge dev   # 你必须再其他分支(master),合并dev
   
   
# 4 重现冲突就两种情况
   -分支合并
    -你和同时再同一条分支上改了相同的代码
   

```





# 今日内容

## 1 git远程连接

```python
# 1 码云(国内,快)
# 2 新建仓库的时候,不要勾选Readme初始化这个而仓库
# 3 现在什么都没有,新建仓库
    mkdir lqz_test
    cd lqz_test
    git init
    touch a.txt
    git add a.txt
    git commit -m "first commit"
    git remote add origin https://gitee.com/liuqingzheng/lqz_test.git  # 连接远程
    git push  origin master
# 4 已经有了仓库
    cd b
    git remote add origin https://gitee.com/liuqingzheng/lqz_test.git
    git push origin master
   
   
   
# 5 git 远程操作命令
   -git remote # 查看远程仓库(没有就看不到)
    -git remote add origin https://gitee.com/liuqingzheng/lqz_test.git # 跟远程仓库建立连接
    -git push origin master  # 把本地的master分支提交到远程的origin,需要输入用户名和密码(之前存的需要删掉)
```



## 2 git项目创始者和开发者

```python
# 1 项目创始者,如上
# 2 项目开发者,参与者(换了一台电脑),把代码拉下来继续开发
   -git clone https://gitee.com/liuqingzheng/lqz_test.git
    -能看到完整的版本和日志控制
    -可以回复到任意版本
       -git rest --hard 版本号
    -git checkout . # 表示回到指针指向的版本,因为已经用git rest --hard把指针移动了,所以checkout .就是当前再的版本上的东西
# 3 本地新增c.txt文件
   -提交到暂存区
    -提交到版本库(没有提交到远程,远程看不到)
    -提交到远程:git push origin master
   
   
# 4 a文件夹中的代码成为最新的
   -git pull origin master
   
# 5 重点:每次再提交代码之前,一定要先更新代码(拉),如果不拉提不上去
```



## 3 ssh连接和https连接

```python
# 1 公司内部大部分用ssh连接
   -领导给你一个git地址(项目地址)
    - git clone 地址  到本地
    -改代码,改完了---》提交(禁止)
    -ssh配置,以后都不用输密码了
# 2 配置如何做
   -对称加密(加密和解密用同一套秘密)
    -非对称加密(公钥和私钥),公钥加密,私钥解密
   
    -生成一对公钥和私钥(用命令)
       -https://gitee.com/help/articles/4181
        -ssh-keygen -t rsa -C "lqz@qq.com" 生成到用户家目录的.ssh文件夹下(一个公钥,一个私钥)  
        -把公钥复制出来,再码云上配置

# 跟远程操作有三个命令
git pull
git push
-git feacth(一般不用,他跟pull是一个东西,当作不知道)
```

![1595315082819](assets/1595315082819.png)



### pycharm操作git

```python
# 1 安装git
# 2 pycharm中配置,setting---git--->git.exe的地址
# 3 git clone --->等同于下图
# 4 使用pycharm创建本地分支(见下图)
# 5 拉取代码,如下图
# 6 push代码,如下图
```

![1595301976791](assets/1595301976791.png)

![1595314048881](assets/1595314048881.png)

![1595314084159](assets/1595314084159.png)

![1595314121443](assets/1595314121443.png)

![1595314167062](assets/1595314167062.png)

![1595314245430](assets/1595314245430.png)

## 4 协同开发

```python
# 1 协同开发出现冲突,如何解决
# 2 git pull origin master  拉下远程代码,同事和你修改了同一个位置,会冲突,如下
<<<<<<< HEAD
你的代码
=======
别人代码
>>>>>>> origin/master
# 3 处理方案
    -删除你的代码
    -删除同时代码
    -合并你们的代码
```

## 5 合并分支出现冲突

```python
# 1 分支:本地分支,远程分支

# 2 创建本地分支
   -git checkout -b dev
# 3 把本地分支提交到远程
   -git push origin dev  

```



## 5 线上分支合并

![1595315172363](assets/1595315172363.png)

![1595315293642](assets/1595315293642.png)

```python
# 如果看到可自动合并,表示合并后不会有冲突,正常操作即可
# 测试人员点通过,直接合并即可
```



## 6 线上回滚

```python
# 1 切换到master分支
# 2 回滚打某个版本  git reset --hard  版本号
# 3 强制提交代码 git push origin master -f

```

## 7 分支合并出现冲突解决

```python
# 1 远端创建一个dev分支
   -在远端直接创建
    -本地创建,提交到远端
    git checkout -b dev
    git push origin dev
# 2 本地新建一个dev_bug分支
   -dev_bug分支改了文件
    -dev分支改了同样的文件
    -合并就出冲突
    -git merge dev_bug (在dev分支上操作)
    -解决冲突(删你的,同事的,合并起来)
    -git add .  git commit
    -正常了,冲突解决
# 3 手动线下合并代码并提交到远程
   -git checkout master
    -git merge dev
    -如果出冲突,解决
    -git add .
    -git commit
    -git push..
```



## 7 vue登录页面

```python
# Login.vue
<template>
    <div class="login">
    <span @click="close_login">X</span>
    </div>
</template>

<script>
    export default {
        name: "Login",
        methods:{
            close_login(){
                //子传父组件 this.$emit,给父组件传递一个事件
                this.$emit("close")
            },

        },

    }
</script>

<style scoped>
.login{
    width: 100vw;
    height: 100vw;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 666;
    background-color: rgba(0,0,0,0.3);
}
    span{
        font-size: 30px;
        cursor: pointer;
    }
</style>

# Head.vue
#template
<div class="right-part">
<div>
<span @click="pull_login">登录</span>
<span class="line">|</span>
<span>注册</span>
</div>
</div>
</div>

<Login v-if="is_login" @close="close"/>
<!--is_loginTrue就显示,false就不显示-->
</div>
# js
pull_login(){
    this.is_login=true
},
close(){
    this.is_login=false
},
```







# 补充

## 1 pycharm找回误删,修改的东西

![1595314881189](assets/1595314881189.png)

## 2 git的变基

```python
git rebase
```

# 作业

## 1 使用自己的码云,初始化项目提交,作为开发者拉去代码,提交

## 2 使用自己的码云,配置ssh连接

## 3 线上创建dev分支,和同桌协同开发,制造冲突,解决

## 4 线上合并分支,线下分支合并

## 5 后台登录接口,之前写过(多条件登录(邮箱,手机号,用户名))



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-1003534-1-1.html 上篇帖子: Django之drf回顾 下篇帖子: 前后端分离:登录注册是实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表