用Git远程仓库实现多人协同开发

news2024/11/17 9:24:26

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

分支

初识分支

分支-合并与删除

分支-合并与提交

分支-合并冲突

Git 常用命令

Git 远程仓库 

Git 远程仓库-克隆 

多人协同开发 

Git 常用命令  ​编辑


分支

初识分支

概念:本质上是指向 提交节点 的可变 指针 ,默认名字是 master
注意 HEAD 指针 影响工作区/暂存区的代码状态
场景:开发 新需求 / 修复 Bug ,保证主线代码随时可用,多人协同开发提高效率
例如
        在现有代码上创建新分支完成内容列表业务突然需要紧急修复 Bug - 单独创建分支解决 Bug
需求:创建内容列表 content 分支,并产生 3 次提交记录
步骤
        1. 创建分支命令: git branch 分支名
        2. 切换分支命令: git checkout 分支名
        3. 工作区准备代码并暂存提交,重复 3 次
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (master)
$ git branch content

周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (master)
$ git checkout content
Switched to branch 'content'
A       day01/page/login/index.css

周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git branch
* content
  master

周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git add .

周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git commit -m '7.内容页面-标题搭建'
[content 83b2566] 7.内容页面-标题搭建
 44 files changed, 1369 insertions(+)
 create mode 100644 day01/page/login/index.css   
     
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git log --oneline
83b2566 (HEAD -> content) 7.内容页面-标题搭建
b58777f (master) 1.登录页面-标签部分准备

分支-合并与删除

需求:把 login-bug 合并回到 master 分支并删除 login-bug 分支
步骤
        1. 切回到要合入的分支上:git checkout master
        2. 合并其他分支过来: git merge login-bug
        3. 删除合并后的分支指针:git branch -d login-bug

写完新的分支login-bug后,先切回要合入的分支上 

在当前分支中合并login-bug分支

最后将原来的login-bug分支删除

分支-合并与提交

合并提交:发生于 原分支 产生了 新的提交 记录后,再 合并 回去时发生,自动使用多个快照记录合并后产生一次新的提交
步骤
        1. 切回到要合入的分支上: git checkout master
        2. 合并其他分支过来: git merge content
        3. 删除合并后的分支: git branch -d content
最后合并回到主分支上时,提交记录流程图:
注意 提交记录的顺序按照产生的先后顺序排列,而非合并的先后顺序

分支-合并冲突

需求1:基于 master 新建 publish 分支,完成发布文章业务,然后修改内容页面的 html 文件的 title 标签,并提交一次
需求2:切换到 master,也在修改内容页面的 html 文件的 title 标签,并提交一次
冲突:把 publish 分支合并到 master 回来,产生合并冲突
概念 不同分支 中,对 同一个文件 同一部分 修改,Git 无法干净的合并,产生合并冲突
解决
        1. 打开 VSCode 找到冲突文件并手动解决
        2. 解决后需要提交一次记录
避免:(多交流)
        1. 按页面划分不同分支开发
        2. 公共代码在统一文件夹维护
        3. Node等软件版本统一,npm 包统一下载

Git 常用命令

Git 远程仓库 

概念: 托管在因特网或其他网络中的你的项目的 版本库
作用:保存版本库的历史记录,多人协作
创建:公司自己服务器 / 第三方托管平台( Gitee ,GitLab,GitHub...)
需求:创建远程版本库,并把本地 Git 仓库推送上去保存
步骤:
        1. 注册第三方托管平台网站账号
        2. 新建仓库得到 远程仓库 Git 地址
        3. 本地 Git 仓库 添加 远程仓库原点地址
                命令git remote add 远程仓库别名 远程仓库地址
                例如:git remote add origin https://gitee.com/lidongxu/work.git
        4. 本地 Git 仓库 推送 版本记录到远程仓库
                命令git push -u 远程仓库别名 本地和远程分支名
                例如:git push -u origin master
                完整写法:git push --set-upstream origin master:master

Git 远程仓库-克隆 

克隆:拷贝一个 Git 仓库到本地,进行使用
命令 git clone 远程仓库地址, 例如:git clone https://gitee.com/lidongxu/work.git
效果:在运行命令所在文件夹,生成 work 项目文件夹(包含版本库,并映射到暂存区和工作区)
注意1:Git 本地仓库已经建立好和远程仓库的链接
注意2:仓库公开随意克隆,推送需要身为仓库团队成员

多人协同开发 

需求:小传新代码共享给小智
步骤:
        1. 小传开发代码 -> 工作区 -> 暂存区 -> 提交 -> 拉取(可选)-> 推送
        2. 小智 -> 拉取(后续也可以开发代码 -> ... -> 推送)
        3. 想要看到别人同步上去的最新内容: git pull origin master 等价于
                git fetch origin master:master(获取远程分支记录到本地,未合并)
                git merge origin/master (把远程分支记录合并到所在分支下)

Git 常用命令  

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

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

相关文章

Spring Cloud Stream

1.binder 2.binging 3.Message 4.个性化使用方法 5.统一分组消费机制

【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一)

系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二) 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三) 【如何训…

汽车交流充电桩控制主板的电路设计

汽车充电桩控制主板的电路设计 你是否曾经遇到过汽车没油的问题?但是,随着电动汽车的普及,充电问题也变得越来越重要。而汽车充电桩控制板电路设计则是解决这一问题的关键。 汽车充电桩控制板电路设计包括硬件电路设计、软件电路设计和安全性设计。硬件…

面试题 汇总

一、 七层模型和五层模型以及对应的作用 二、 TCP和UDP的区别 UDPTCP是否连接无连接面向连接是否可靠不可靠传输,不使用流量控制和拥塞控制可靠传输,使用流量控制和拥塞控制连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信传输方式面向报文面向字节…

deathnote1靶场详解

deathnote1靶场复盘 靶机下载地址:https://download.vulnhub.com/deathnote/Deathnote.ova 首先nmap -sP 192.168.102.0/24 找到ip后对ip进行一个单独的扫描,查看都开启了什么服务。 打开后发现ip变成了域名。 我们就在kali的hosts文件中添加一条域名…

C++运算符:优先级

#include <iostream> using namespace std;//#define INT int //宏命令 // typedef int BOO; //移动 // INT a10; // BOO b 12;void fun(string& str) {int pos str.find(a);cout << "位置" << pos << endl;str.replace(pos,…

【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二)

系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码&#xff08;一&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存&#xff08;二&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型部署&#xff08;三&#xff09; 【如何训…

《2023年数字政府蓝皮报告》(127页)

导读 本报告从国家对数字政府建设要求出发&#xff0c;立足时代发展需要&#xff0c;结合各地建设实践&#xff0c;将数字政府典型业务场景梳理归纳为: 经济调节类、市场监管类、社会管理类、公共服务类、环境保护类、政务运行类六大类、22 类二级业务场景、89 类三级细分场景…

下载安装:SQLite+SQLiteStudio+VS

目录 1、SQLite 1.1、下载SQLite 1.2、配置SQLite的环境变量 2、SQLite Studio 2.1、下载SQLite Studio 2.2、安装SQLite Studio 3、Visual Studio 3.1、下载Visual Studio 3.2、安装Visual Studio 1、SQLite 1.1、下载SQLite SQLite官网&#xff1a;SQLite Downl…

高通WLAN框架学习(37)-- TDLS(Tunneled Direct Link Setup)通道直接链路建立

一 TDLS概述 隧道直连设置(TDLS)基于IEEE 802.11z-2010IEEE标准802.11z标准(无线局域网介质访问控制(MAC)和物理层(PHY)规范。 TDLS允许与同一AP关联的设备之间建立直接链路。Wi-Fi Direct允许设备之间直接连接,而不需要AP。Wi-Fi联盟认证可用于IEEE 802.11a和802.11g设备的T…

C++类——Vector容器的模拟实现

目录 一.vector类的成员变量&#xff1a; 二.Vector类的初始化方式&#xff1a; 三.vector的基本成员函数 四.vector类的增删查改&#xff1a; 指针失效问题&#xff1a; insert(): 代码解析&#xff1a; erase(): 代码解析&#xff1a; 所以erase()函数的正确写法:…

【面试题】Linux关于操作日志的命令行

学到老&#xff0c;活到老~ 文章目录 前言1. 查看日志文件内容1.1 cat1.2 less1.3 tail1.4 grap 2. 删除日志文件3. 分析日志文件3.1 awk3.2 sed 前言 在面试过程中&#xff0c;命令行针对日志的操作是高频的问题&#xff0c;今天我们就来彻底解决这个问题。 1. 查看日志文件内…

DAY7,C++(封装标准模板库(STL)---Vectors容器模板)(已优化)

1.封装标准模板库(STL)---Vectors容器模板&#xff08;已优化&#xff09;; #include <iostream>using namespace std;template <typename T> class Myvector { private:T *first; //指向堆区空间容器的首地址T *last; //指向容器最后一个元素的下一个位置T *en…

编译/反编译

1.Android APK 1.软件 1.apktool 1.作用&#xff1a;反编译apk或重新打包apk 2.dex2jar 1.作用&#xff1a;将Android的可执行文件.dex转换为.jar 3.jd-gui 1.作用&#xff1a;方便阅读jar文件的代码工具 2.步骤 1.通过apktool将apk软件反编译2.使用dex2jar将classes.dex文件转…

算法的时间复杂度、空间复杂度如何比较?

目录 一、时间复杂度BigO 大O的渐进表示法&#xff1a; 例题一&#xff1a; 例题2&#xff1a; 例题3&#xff1a;冒泡排序的时间复杂度 例题4&#xff1a;二分查找的时间复杂度 书写对数的讲究&#xff1a; 例题5&#xff1a; 实例6&#xff1a; 利用时间复杂度解决编…

filter(过滤器)

目录 一、过滤器应用场景 二、Filter&#xff1a;过滤器 1. 快速入门 2. 过滤器执行流程 3. 过滤器生命周期方法 4. 过滤器配置详解 5. 过滤器链(配置多个过滤器) 三、监听器 一、过滤器应用场景 过滤器是处于客户端与服务器资源文件之间的一道过滤网&#xff0c;在访问…

基于Python机器学习、深度学习在气象、海洋、水文等技能提升教程

详情点击链接&#xff1a;基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用 前言 Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;能够在不同操作系统和平台使用&#xff0c;简洁的语法和解释性语言使其成为理想的脚本语言。…

经营简报及考核360表格

文章目录 经营简报效果图代码tableObjectSpanMethod.js 考核360委员会效果图 经营简报效果图不需要合并单元格且有汇总表头的 懒得封装了&#xff0c;所以整体没有封装 经营简报 效果图 代码 <template><el-tableref"tableRef":data"tableData.lengt…

基础实验篇 | CopterSim中回传提示消息实验

基础实验篇|CopterSim中回传提示消息实验 01实验名称及目的 回传提示消息实验&#xff1a;在飞控中&#xff0c;我们时常需要向外发布一些文字消息&#xff0c;来反映系统当前的运行状态&#xff0c;这个功能可以通过发送“mavlink_log”的uORB消息来实现。 02实验效果 在Cop…

如何让 ChatGPT 更懂你?新功能 Custom Instructions 尝试

对比 我们先来做一个对比实验。这里咱们让 ChatGPT 执行一个很简单的任务 —— 介绍一下 AI 生成内容&#xff08;AIGC&#xff09;。为了能够让 ChatGPT 查询资料&#xff0c;咱们给它提供了 Web Pilot 插件。但是 ChatGPT 并没有主动调用插件&#xff0c;而是直接给出了解释。…