git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚

昨日内容回顾

# 1 前端首页

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

今日内容概要

  • 1 git多分支
  • 2 git远程仓库
  • 3 ssh方式连接远程仓库
  • 4 协同开发
  • 5 冲突解决
  • 6 线上分支合并
  • 7 远程仓库回滚

今日内容详细

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分支 dev分支 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 地址是你gitee仓库的地址
git remote add origin https://gitee.com/zpf1107/lufei_api.git
# 把本地的版本库推送到远程仓库
# 把本地当前所在分支 推送到origin对应的远程master上
git push origin master
# 需要输入用户名密码 输入一次 以后就不用输入了(本地凭据管理存储了) # 如果提交了 再写忽略文件的步骤
luffy.log---> 暂存区---> 版本库 已经被管理之后的luffy.log再写到忽略文件中 不容易被忽略 只有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 "xxx@qq.com"
生成在:命令窗口中会提示c盘当前用户的.ssh中 两个文件 一个公钥 一个私钥 把公钥 配置在gitee上
之前origin对应的地址是 https的 现在要使用ssh提交代码 需要把它删除 再增加成ssh的协议
git remote remove origin
git remote add origin git@gitee.com:zpf1107/lufei_api.git

4 协同开发

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

5 冲突解决

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

git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚的更多相关文章

  1. git冲突解决、线上分支合并、luffy项目后台登陆注册页面分析引入

    今日内容概要 git冲突解决 线上分支合并 登陆注册页面(引入) 手机号是否存在接口 腾讯云短信申请 内容详细 1.git冲突解决 1.1 多人在同一分支开发,出现冲突 # 先将前端项目也做上传到 g ...

  2. git下载线上分支到本地分支

    首先执行 'git branch -r' 查看线上的所有分支 例如像要拷贝线上分支 'origin/online' 到本地本地分支 'online',则执行 'git checkout -b onli ...

  3. git 远程仓库ssh方式

    用ssh-keygen生成公匙和私钥 d:\c\learnc>ssh-keygen Generating public/private rsa key pair. Enter file in w ...

  4. 使用TortoiseGit,设置ssh方式连接git仓库。

    开始设置之前的准备:建立项目文件夹,初始化git仓库(右键 git  init),右键打开 git bash ,git pull “仓库地址”, 把网站上的仓库代码拉取下来. TortoiseGit使 ...

  5. Git使用手册:HTTPS和SSH方式的区别和使用

    在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地.这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制htt ...

  6. git 因线上分支名重复导致无法拉取代码

    有时 git pull 或 git fetch 时发现 git 报了个异常,说法像是无法将线上某个分支与本地分支合并,由于分支是...(很长的hash)但是分支却是...(很长的hash) 仔细查查后 ...

  7. mac系统下用ssh方式连接git仓库

    1.应用程序-终端,键入命令  ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  ,后面是你的邮箱地址.一直回车,生成密钥. 2.键入  open ~ ...

  8. SSH方式连接Git服务器需要注意的地方

    如何安装Git?这个我这里就不再多说了,想要了解的可以自行百度,以下文字是基于本地Git安装OK,且Git服务器可用的情况下,我的Git是GitLab 接下来开始操作 1:首先在本地生成私钥和公钥,这 ...

  9. Xshell通过ssh方式连接Linux服务器,通过Xftp进行文件传输

    准备工作: 一.Linux服务器一台,并配置ssh(本文以腾讯云服务器为例). 1.生成秘钥 打开腾讯云控制台,依次选择:总览->云服务器->SSH秘钥 点击创建秘钥,输入秘钥名称,点击确 ...

  10. tomcat 远程debug配置,教你远程调试代码,解决线上故障

      IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 CATALINA_OPTS=&quo ...

随机推荐

  1. 3分钟安装fcpx10.6.5最新 小白一看就会 简体中文版 (亲测有效)

    Final Cut Pro 简介 Final Cut Pro X for Mac是苹果推出的一款功能强大的视频编辑软件,具有先进的调色功能.HDR 视频支持,以及 ProRes RAW,让剪辑.音轨. ...

  2. Python 内置界面开发框架 Tkinter入门篇 丁

    如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/X5cqennLrq7i1pzBAAqQ2w 本文大概 2562 个字,阅读需花 15 分钟 内 ...

  3. JAVA8 常见用法

    1 . 集合List<T> 去单个元素,返回集合 List<Tbhr01> tbhr01List = new ArrayList<Tbhr01>(); List&l ...

  4. 三:Mybatis

    三.MyBatis 主流的ORM 支持java .NET Ruby三种语言,MyBatis是对JDBC的封装 ORM框架Hibernate 区别: 1)sql 优化方面 Hibernate 使用 HQ ...

  5. Hadoop 及Spark 分布式HA运行环境搭建

    作者:京东物流 秦彪 工欲善其事必先利其器,在深入学习大数据相关技术之前,先手动从0到1搭建一个属于自己的本地Hadoop和Spark运行环境,对于继续研究大数据生态圈各类技术具有重要意义.本文旨在站 ...

  6. JZOJ 5415. 【NOIP2017提高A组集训10.22】公交运输

    题目 城市中有一条长度为 \(n\) 的道路,每隔 \(1\) 的长度有一个公交车站,编号从 \(0\) 到 \(n\),学校在 \(0\) 号车站的位置.其中每个公交车站(除了 \(n\) 号车站) ...

  7. VSCode 国内镜像下载地址

    https://vscode.cdn.azure.cn/stable/,比如: https://vscode.cdn.azure.cn/stable/e4503b30fc78200f846c62cf8 ...

  8. 基于C++的OpenGL 08 之基础光照

    1. 引言 本文基于C++语言,描述OpenGL的基础光照 前置知识可参考: 基于C++的OpenGL 07 之颜色 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多描 ...

  9. Postgresql表膨胀率计算

    一.简介 PostgreSQL自带了pgstattuple模块,可用于精确计算表的膨胀率.譬如这里的tuple_percent字段就是元组实际字节占关系总大小的百分比,用1减去该值即为膨胀率. 二.示 ...

  10. Lambda表达式和Collection集合

    Lambda表达式 Lambda表达式理解 Lambda表达式是Jdk 8 开始新增的一种语法形式:作用:用于简化匿名内部类的代码写法 注意:Lambda表达式只能简化函数式接口的匿名内部类!!! 什 ...