首页 > 编程语言 > python之路 80 路飞项目、git多分支、git远程仓库、ssh方式连接远程仓库、协同开发、冲突解决、线上分支合并、远程仓库回滚

python之路 80 路飞项目、git多分支、git远程仓库、ssh方式连接远程仓库、协同开发、冲突解决、线上分支合并、远程仓库回滚

时间:2023-03-02 19:37:07浏览次数:55  
标签:origin git 仓库 dev master 远程 分支

git多分支

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

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

image

git远程仓库

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



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

操作步骤:
    本地:
        1在luffy_api敲git init
        2设置忽略文件(.gitignore)
        3git add .
        4git commit -m '第一次提交'
    
-------提交到了本地版本库 ------被版本管理了

远程
   1 远程要创建仓库:gitee上创建仓库,右上角+
   2 填一些信息,保证仓库是空的
   
  本地:
    1 按照远端提示的步骤操作
    2 设置用户和邮箱
    3 已有 仓库
     cd luffy_api
   # 添加一个远程仓库地址名字叫origin 地址是xxx
     git remote add origin https://gitee.com/liuqingzheng/luffy_api.git
   
   # 把本地的版本库推送到远程仓库
   # 把本地当前所在分支,推送到 origin对应的远程的master上
     git push origin master
   # 需要输入用户名密码,输入一次,以后就不用输入了(本地保存了:凭据管理)


# 如果提交了,再写忽略文件的步骤
    luffy.log--->暂存区---》版本库
    
    .gitignore---》写上忽略,但是不好被忽略,只要luffy.log有变化还是会被监控到
    
    删除luffy.log---》会被监控到---》add,commit---》版本库中已经没有luffy.log
    再出的luffy.log,就不会被管理了

image

ssh方式连接远程仓库

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

协同开发

# 我[仓库管理员]创建了仓库,我对仓库有各种权限
# 我们要多人开发(张三,李四),张三李四在自己的仓库中,能看到我的项目吗?看不到
# 我[仓库管理员],把张三李四设置为该仓库的开发者,设置完成后,在张三李四的仓库中就能看到这个项目了


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

冲突解决

# 出现冲突的原因
    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 再提交代码,到此结束
        

线上分支合并

# 线下分支合并
    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了

远程仓库回滚

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

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

标签:origin,git,仓库,dev,master,远程,分支
From: https://www.cnblogs.com/xm15/p/17173074.html

相关文章

  • GitLab修改群组报错“路径已经被使用”
    GitLab修改群组报错“路径已经被使用” 1、问题背景在GitLab修改群组时,遇到如下报错“路径已经被使用” 2、原因分析根据报错提示信息,新建的群组路径已经被占用......
  • gitlab 启用双因子验证
    启用2AF登录测试参考文档https://docs.gitlab.com/ee/security/two_factor_authentication.html#enforce-two-factor-authentication......
  • 路飞-day5——git 多分支开发、git远程仓库、ssh方式连接远程仓库、协同开发、冲突解
    目录一、git多分支开发git分支管理分支操作公司里使用的分支方案二、git远程仓库把我们写了一部分的luffy项目上传到gitee上传项目到本地版本库上传项目到远程仓库需要被......
  • 环境变量与git的配合实现dotenv
    事由最近在开发淘宝客返利程序的后台服务时发现对接到淘宝联盟的appKey和secret是极为重要的假设这两串数字被恶意盗用轻则消耗平台你的流量,重则封号所以就需要将重要......
  • TortoiseGit 安装后不显示图标问题
    1.  【TortoiseGit 安装后不显示图标问题,亲测有效,记得注册表前面多打点空格】  TortoiseGit显示文件状态图标-独木成林-博客园(cnblogs.com)......
  • docker部署gitlab 15.9
    docker-compose.ymlversion:'3.6'services:web:image:'gitlab/gitlab-ce:15.9.1-ce.0'restart:alwayshostname:'project.example.com'contai......
  • 搭建docker本地镜像仓库
    一、本地镜像仓库:也就是私有服务器,主要用于企业内部镜像的共享,包括上传与下载二、搭建本地镜像仓库操作步骤1.本地服务器上安装dockerce,具体步骤参考https://www.cnblog......
  • git 操作指令
    git操作指令指令注释gitinit初始化仓库,当前文件夹多出.git文件夹gitinitxxx在上一级敲,指定初始化下一级的xxx文件夹gitstatus查看文件变化,在......
  • 浅析厂房仓库电气火灾的成因及对策
    陈盼安科瑞电气股份有限公司上海嘉定201801摘要: 文章分析了厂房仓库电气火灾的成因及火灾特点,并有针对性地提出了预防火灾的对策。 关键词: 厂房仓库;电气火灾;成因;预......
  • git
    1git多分支#为什么要有分支 -可以保证,主分支的版本都是可以查看的版本-我们都在分支开发,开发完成,合并到主分支#分支操作 -分支查看 gitbranch......