git多分支、git远程仓库、ssh方式连接远程仓库、协同开发(避免冲突)、解决协同冲突(多人在同一分支开发、 合并分支)

news2024/9/20 8:54:40

1 git多分支

2 git远程仓库

2.1 普通开发者,使用流程

3 ssh方式连接远程仓库

4 协同开发

4.1 避免冲突
4.2 协同开发

5 解决协同冲突

5.1 多人在同一分支开发
5.2 合并分支

1 git多分支

在这里插入图片描述

## 命令操作分支
	-1 创建分支
    	git branch dev
    -2 查看分支
    	git branch
    -3 分支合并(可能经常用)
    	git merge dev  # 需要在master分支上,合并dev
    -4 删除分支
    	git branch -d 分支名   # 不能在当前分支上,删除当前分支
    -5 分支切换
    	git checkout 分支名

2 git远程仓库

在这里插入图片描述

# github  gitlab  gitee
# 远程仓库以:gitee 为例,目标:把luffy_api提交到远程仓库----远程仓库是空的情况
	- 1 在gitee上创建了仓库 (确保仓库是空的)
    - 2 本地:git init
    - 3 本地:git commit -m 提交版本
	- 4 指定远程仓库地址
    	# 添加一个远程仓库,名字叫origin 地址是 后面地址
    	-git remote add origin https://gitee.com/liuqingzheng/luffy_api.git
     -5 推送到远端
    	git push  origin master
        # 弹出:让你输入用户名和密码---》gitee的用户名密码
        
        

        
 # 远程仓库有东西的情况
	1 本地先不做仓库---.git 删除
    2 找个位置,把远程仓库内容下载
    	git clone https://gitee.com/liuqingzheng/luffy_api.git
    3 把我们写好的代码,复制到这个文件夹下
    4 提交到本地仓库
    	git add .   git commit -m
    5 推送到远程仓库
    	git push origin master
        
        
        
        
  # 本地还没开始写代码,远端建仓库(有东西)
	-把远端仓库下载下来,用pycharm打开,写代码--本地提交--提交到远程
    
    
  # 现在公司里有个项目了,写了很多代码了,也用版本管理了
	-远程仓库一定是空
    -本地的不要删---》直接提交到远程---》远程也有之前的版本管理
    
    
    
 # 在公司里,这些都不用你做,创建仓库,提交初始化的代码都是领导做好了
	-你只需要从远程仓库,下载代码:git clone
    -用pycharm打开,继续写--提交即可
    

在这里插入图片描述

2.1 普通开发者,使用流程

# 1 领导会把你的账户添加为开发者
# 2 下载代码到本地--》在这个基础上开发
	-方式一命令:git clone https://gitee.com/vip-linjun/luffy_api.git
    -方式二:使用pycharm下载
    	-先配置git
    -方式三:下载zip,下载后使用pycharm打开
# 3 使用pycharm打开
	-写代码,提交到本地仓库
    -提交到远程仓库

在这里插入图片描述

3 ssh方式连接远程仓库

# 之前,提交,拉取代码 都是走的https协议

# 公司内部,一般会走 ssh协议,以后不需要用户名密码了,只需要ssh的公钥和私钥
	-非对称加密

# 操作步骤
	- 1 生成公钥私钥
    	ssh-keygen -t ed25519 -C "xxx@qq.com"  
    -2 用户家路径,生成的公钥和私钥
    	-C:\Users\Administrator\.ssh
            
    -3 复制你的公钥,配置在gitee上
    	-设置---》添加ssh公钥,把公钥粘贴,确定
        
    -4 以后,再操作git,不需要用户名密码了(走的是公钥和私钥)---》只针对于你这台机器
    
    -5 把远程仓库的连接,修改成ssh协议
    	# 把原来的remote的对应关系删除
        git remote remove origin
    	# 新增一个对应关系,协议是ssh
        git remote add origin git@gitee.com:vip-linjun/luffy_api.git
    -6 以后本地改了代码,提交到本地版本库,想推送到远程仓库,直接 git push即可,不需要再输入用户名密了
    
    
    
# 总结:你们到公司后,使用git流程
	1 注册个账户---》gitlab---》(有可能右同时给你注册了,密码得改)
    2 领导会把你加成开发者
    3 进入到你的家里,你就能看到这个项目了
    4 项目clone到本地
    	-https方式:git clone https://gitee.com/vip-linjun/luffy_api.git
   		-ssh方式:git clone git@gitee.com:vip-linjun/luffy_api.git
            
    5 在本地生成公钥私钥,把公钥配置在gitlab
    6 以后,在pycharm中打开项目写功能,提交到本地,提交到远端即可
   
    

4 协同开发

在这里插入图片描述

4.1 避免冲突

假设:
张三:改了 settings.py  第一行,提交了

李四:改了 settings.py 第二行,提交了

你也在改setting.py ,没有拉取代码,不知道他们提交了,动了第二行,但是跟李四代码不一样
你要提交,必须先拉取,一拉,把张三的,李四的都会加到你代码中,就会出冲突


#### 如果你想避免冲突,勤拉取代码

4.2 协同开发

# 同学一:
	git clone 项目
    pycharm打开
    写代码:__init__.py
    git add .   #  当前目录下有个venv文件夹--》删除这个文件夹
    git commit -m 'ss' # 设置用户名和邮箱
    git push origin master  # 推不上去  git pull origin master
    
# 同学二
	在pycharm中改代码
    改的不是同一个文件
    git add .
    git commit -m 'sasdfasd'
    git pull origin master  # 由于我们改了不是同一个文件,不会冲突
    git push origin master  # 把自己的推上去即可
    
    

5 冲突解决

5.1 多人在同一分支开发

# 同学一:
	git clone 项目
    pycharm打开
    写代码:__init__.py ,第五行,改成 print('阿斯顿发送到发')
    
    git add .   #  当前目录下有个venv文件夹--》删除这个文件夹
    git commit -m 'ss' # 设置用户名和邮箱
    git push origin master  # 推不上去  git pull origin master
    
# 同学二
	在pycharm中改代码
    改的是同一个文件,不同行   print('aaa')
    git add .
    git commit -m 'sasdfasd'
    git pull origin master  # 由于我们改了是同一个文件,会冲突
    
    <<<<<<< HEAD   # 下面是我的代码
    print('asdfasdfads')
    =======   # 下面是别人代码
    print('tang')

    >>>>>>> 2174bd1a466536dda553ba3835cfd9768ae32be0 # 别人代码的版本号
    
    
    
    删除报错,看代码,如果改的一样,就留别人的,把自己的代码删除
    git add .
    git commit -m
    git push origin master

5.2 合并分支

在这里插入图片描述

# 操作步骤
	
	git branch dev
    # 在dev分支操作
    git checkout dev
    在settings.py最后写代码
    git add.
    git commit -m 'dev加代码'
    # 在master分支操作
    git checkout master
    在settings.py最后写代码
    git add.
    git commit -m 'master加代码'
    
    # 合并分支出冲突
    git merge dev  # 出冲突了,解决冲突,再提交
    git add .
    git commit -m
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1080958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

bash一行输入,多行回显demo脚本

效果图&#xff1a; 脚本&#xff1a; #!/bin/bash # 定义一个变量&#xff0c;用来存储输入的内容 input"" # 定义一个变量&#xff0c;用来存储输入的字符 char""# 为了让read能读到空格键 IFS_store$IFS IFS# 提示内容&#xff0c;在while循环中也有&a…

SMOS数据处理,投影变换,‘EPSG:6933‘转为‘EPSG:4326‘

在处理SMOS数据时&#xff0c;遇到了读取nc数据并存为tif后&#xff0c;影像投影无法改变&#xff0c;因此全球数据无法重叠。源数据的投影为EPSG:6933&#xff0c;希望转为EPSG:4326。 解决代码。 python import os import netCDF4 as nc import numpy as np from osgeo impo…

阿里云ModelScope 是一个“模型即服务”(MaaS)平台

简介 项目地址&#xff1a;https://github.com/modelscope/modelscope/tree/master ModelScope 是一个“模型即服务”(MaaS)平台&#xff0c;旨在汇集来自AI社区的最先进的机器学习模型&#xff0c;并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的…

sap 一次性供应商 供应商账户组 临时供应商 <转载>

原文链接&#xff1a;https://blog.csdn.net/xianshengsun/article/details/132620593 sap中有一次性供应商这个名词&#xff0c;一次性供应商和非一次性供应商又有什么区别呢&#xff1f; 有如何区分一次性供应商和非一次性供应商呢&#xff1f; 1 区分一次性供应商和非一次性…

狄拉克函数及其性质

狄拉克函数及其性质 狄拉克函数 近似处理 逼近近似 积分近似 狄拉克函数的性质 狄拉克函数的Hermite展开

【C++】【自用】STL六大组件:算法

文章目录 &#x1f53a;sortstable_sort&#x1f53a;reverse&#x1f53a;swap&#x1f53a;find&#x1f53a;max/min&#x1f53a;next_permutation/prev_permutation 全排列binary_searchlower_bound/upper_bound 求下界和上界set_union/set_intersection/set_difference 求…

结构体课程自我理解

目录 1. 结构体类型的声明 1.2特殊的声明方法 1.3结构体的自引用 1.4 typedef 对结构体命名 2. 结构体变量的创建和初始化 3. 结构成员访问操作符 4. 结构体内存对⻬ 4.1下面给大伙4个练习题&#xff0c;有自我解析 4.2为什么存在内存对齐 4.3修改默认对齐数 5. …

Centos中利用自带的定时器Crontab_实现mysql数据库自动备份_linux中mysql自动备份脚本---Linux运维工作笔记056

这个经常需要,怕出问题因而需要经常备份数据库,可以利用centos自带的定时器,配合脚本实现自动备份. 1.首先查看一下,这个crontab服务有没有打开: 执行:ntsysv 可以看到已经开机自启动了. 注意这个操作界面,用鼠标不行,需要用,tab按键,直接tab到确定,或取消,然后按回车回到命…

如何下不可选中的文章

背景&#xff1a; 看到了一篇比较有用的微信公众号文章&#xff08;这个文章应该是跳转到了公众号外的网站的 url 了&#xff09;&#xff0c;想留档&#xff0c;但是手机选中不了。但是这个事情作为程序员&#xff0c;怎么能束手呢。 操作&#xff1a; 1、将微信公众号链接在…

Copa:无需重建镜像,直接修补容器漏洞

关注【云原生百宝箱】公众号&#xff0c;与你一起探讨应用迁移&#xff0c;GitOps&#xff0c;二次开发&#xff0c;解决方案&#xff0c;CNCF生态。 copa 是一个使用 Go 编写的 CLI 工具&#xff0c;基于 buildkit&#xff0c;可以根据像 Trivy 这样的流行工具的漏洞扫描结果直…

LeetCode-343-整数拆分

题目描述&#xff1a; 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 题目链接&#xff1a; LeetCode-343-整数拆分 解题思路&#xff1a; 还是根据动规五…

Centos (含Rocky-Linux) VSFTPD 简单设置

本文并非深入讨论vsftp配置的文章&#xff0c;仅以能连通为目的&#xff0c;适合那些临时需要上传点东西到服务器的场景。 一、安装 dnf -y updatednf -y install vsftpdsystemctl start vsftpdsystemctl enable vsftpd二、防火墙 开放21端口&#xff1a; firewall-cmd --zo…

利用正则表达式进行数据采集和处理

目录 一、正则表达式的概述 二、正则表达式在数据采集中的运用 1、匹配和提取数据 2、数据清洗 3、数据验证 三、Python中的re模块介绍 1、re.match()方法 2、re.search()方法 总结 正则表达式是一种强大的文本处理工具&#xff0c;它可以用于模式匹配、提取、替换等操…

Android 自定义横向时间轴

示例&#xff1a; 一、添加依赖 dependencies {******//添加RecyclerView的依赖包implementation androidx.recyclerview:recyclerview:1.2.1 } 二、页面代码 activity_main.xml: <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmln…

大语言模型迎来重大突破!找到解释神经网络行为方法

前不久&#xff0c;获得亚马逊40亿美元投资的ChatGPT主要竞争对手Anthropic在官网公布了一篇名为《朝向单义性&#xff1a;通过词典学习分解语言模型》的论文&#xff0c;公布了解释经网络行为的方法。 由于神经网络是基于海量数据训练而成&#xff0c;其开发的AI模型可以生成…

Virtual Box + Vagrant 快速搭建 Linux 虚拟开发环境

Virtual Box Vagrant 快速搭建 Linux 虚拟开发环境 1、根据自己所使用的操作系统平台&#xff0c;选择下载对应的虚拟机客户端软件 Virtual Box 并进行安装&#xff0c;这里选择的是 Virtual Box 7.0.10 Windows hosts 平台安装包。 选择安装目录为其他盘&#xff0c;避免默认…

【C++】STL总结:理解六大核心组件、各个组件主要功能

文章目录 六大核心组件的关联性1.容器2.迭代器3.算法4. 仿函数 / 函数对象5. 适配器 / 包装器6. 空间配置器 六大核心组件的关联性 1.容器 &#x1f517;&#x1f449;点击跳转 2.迭代器 &#x1f517;&#x1f449;点击跳转 3.算法 &#x1f517;&#x1f449;点击跳转 …

安科瑞消防设备电源监控系统在城市建筑中的应用

安科瑞 崔丽洁 摘要&#xff1a;2021年十四五规划里&#xff0c;也都有写到关于绿色循环经济的议题。在这样一个背景下&#xff0c;建筑行业也需要为实现“双碳”目标作出改变&#xff0c;建筑行业飞速发展&#xff0c;大量高层建筑拔地而起&#xff0c;在为了响应国家对于建筑…

生态共建 | 7-9月,YashanDB与13款产品完成兼容互认证

7-9月&#xff0c;深圳计算科学研究院崖山数据库系统YashanDB与柏科数据技术&#xff08;深圳&#xff09;股份有限公司、深圳钛铂数据有限公司、华润数字科技有限公司、武汉中地数码科技有限公司、龙芯中科技术股份有限公司、华瑞指数云科技&#xff08;深圳&#xff09;有限公…

LeetCode-199-二叉树的右视图

题目描述&#xff1a; 题目链接&#xff1a;LeetCode-199-二叉树的右视图 解题思路&#xff1a; 在 102 的基础之上进行改进&#xff0c;一维数组每次只保存 size1 时候的值 代码实现&#xff1a; class Solution {public List<Integer> rightSideView(TreeNode root) {i…