git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚
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方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚的更多相关文章
- git冲突解决、线上分支合并、luffy项目后台登陆注册页面分析引入
		
今日内容概要 git冲突解决 线上分支合并 登陆注册页面(引入) 手机号是否存在接口 腾讯云短信申请 内容详细 1.git冲突解决 1.1 多人在同一分支开发,出现冲突 # 先将前端项目也做上传到 g ...
 - git下载线上分支到本地分支
		
首先执行 'git branch -r' 查看线上的所有分支 例如像要拷贝线上分支 'origin/online' 到本地本地分支 'online',则执行 'git checkout -b onli ...
 - git 远程仓库ssh方式
		
用ssh-keygen生成公匙和私钥 d:\c\learnc>ssh-keygen Generating public/private rsa key pair. Enter file in w ...
 - 使用TortoiseGit,设置ssh方式连接git仓库。
		
开始设置之前的准备:建立项目文件夹,初始化git仓库(右键 git init),右键打开 git bash ,git pull “仓库地址”, 把网站上的仓库代码拉取下来. TortoiseGit使 ...
 - Git使用手册:HTTPS和SSH方式的区别和使用
		
在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地.这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制htt ...
 - git 因线上分支名重复导致无法拉取代码
		
有时 git pull 或 git fetch 时发现 git 报了个异常,说法像是无法将线上某个分支与本地分支合并,由于分支是...(很长的hash)但是分支却是...(很长的hash) 仔细查查后 ...
 - mac系统下用ssh方式连接git仓库
		
1.应用程序-终端,键入命令 ssh-keygen -t rsa -C "xxxxx@xxxxx.com" ,后面是你的邮箱地址.一直回车,生成密钥. 2.键入 open ~ ...
 - SSH方式连接Git服务器需要注意的地方
		
如何安装Git?这个我这里就不再多说了,想要了解的可以自行百度,以下文字是基于本地Git安装OK,且Git服务器可用的情况下,我的Git是GitLab 接下来开始操作 1:首先在本地生成私钥和公钥,这 ...
 - Xshell通过ssh方式连接Linux服务器,通过Xftp进行文件传输
		
准备工作: 一.Linux服务器一台,并配置ssh(本文以腾讯云服务器为例). 1.生成秘钥 打开腾讯云控制台,依次选择:总览->云服务器->SSH秘钥 点击创建秘钥,输入秘钥名称,点击确 ...
 - tomcat 远程debug配置,教你远程调试代码,解决线上故障
		
IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 CATALINA_OPTS=&quo ...
 
随机推荐
- 初探富文本之CRDT协同算法
			
初探富文本之CRDT协同算法 CRDT的英文全称是Conflict-free Replicated Data Type,最初是由协同文本编辑和移动计算而发展的,现在还被用作在线聊天系统.音频分发平台等 ...
 - mysql13 sql优化-explain
			
1.Explain Explain可以对sql语句的执行性能进行分析.使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的.分析你的查询语句或是表结构 ...
 - C++练习6 不同参数的传递方式
			
当函数的形参是变量时,函数内的操作是只对形参的操作,并不会对实参造成影响 当函数的形参是引用时,在函数内对形参操作的同时也会对实参造成影响 1 #include <iostream> 2 ...
 - Solon v2.1.4 发布。支持 java、kotlin、groovy!
			
本次发布,重点测试和验证了在 java.kotlin.groovy 三种 jvm 语言里,开箱即用的特性.并发布 Solon Initializr: https://solon.noear.org/s ...
 - Ubuntu18.04修改IP地址的方法
			
转载csdn: ubuntu18.04更改本地IP_lvjianjin128的博客-CSDN博客 Ubuntu18.04修改IP地址的方法_VLadimir_的博客-CSDN博客_ubuntu18.0 ...
 - SpringCloud 源码学习笔记2——Feign声明式http客户端源码分析
			
系列文章目录和关于我 一丶Feign是什么 Feign是一种声明式. 模板化的HTTP客户端.在Spring Cloud中使用Feign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一一样的 ...
 - GIT初学者详细指令学习
			
参考网站:https://www.liaoxuefeng.com/wiki/896043488029600 基础概念 1.自定义名字和邮箱号 git config --global user.name ...
 - 06#Web 实战:可滑动的标签页
			
实现效果图 本随笔只是记录一下大概的实现思路,如果感兴趣的小伙伴可以通过代码和本随笔的说明去理解实现过程.我的 Gitee 和 GitHub 地址.注意哦:这个只是 PC 上的标签页,手机端的没用,因 ...
 - cximage菜单(Mirror)
			
// ID_CXIMAGE_MIRROR 文件:CxImage\demo\demoDoc.cpp 菜单项:cximage->Mirror ON_COMMAND(ID_CXIMAGE_MIRROR ...
 - Linux改密码失败authentication token manipulation error   的处理办法
			
给root改密码时提示:passwd authentication token manipulation error 代表一是有可能是磁盘存储不足了,另一个原因是因为密码文件被赋予了特殊权限,不可被修 ...