当前位置: 首页 > news >正文

Git多人协同远程开发

1. 李四(项目负责人)操作步骤

  1. 在github中创建远程版本库testgit
  2. 将基础代码上传⾄testgit远程库
  3. 远程库中基于main分⽀创建dev分⽀
  4. 将 githubleaflife/testgit 共享给组员
  5. 李四继续在基础代码上添加⾃⼰负责的模块内容

2. 张三、王五(组员)操作步骤

  1. 在桌⾯新建zhangsan⽂件夹
  2. 登录⾃⼰的github账户中
  3. GitHub搜索githubleaflife/testgit fork到⾃⼰的账户中
  4. 下载源码到本地新增模块功能

3.协同开发过程中遇到问题

上传代码到远程库
李四负责人

➜  ~ cd 桌面
➜  桌面 mkdir lisi_fuzeren
➜  桌面 cd lisi_fuzeren 
➜  lisi_fuzeren git clone git@github.com:flymeawei/testgit.git
正克隆到 'testgit'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 8 (delta 1), reused 4 (delta 1), pack-reused 0
接收对象中: 100% (8/8), 完成.
处理 delta 中: 100% (1/1), 完成.
➜  lisi_fuzeren ls
testgit
➜  lisi_fuzeren cd testgit 
➜  testgit git:(main) ls
hello.py  LICENSE  README.md
➜  testgit git:(main) ls -a
.  ..  .git  .gitignore  hello.py  LICENSE  README.md
➜  testgit git:(main) cat hello.py 
i = 10
➜  testgit git:(main) vi hello.py 
➜  testgit git:(main) ✗ git branch
➜  testgit git:(main) ✗ 
➜  testgit git:(main) ✗ git add hello.py
➜  testgit git:(main) ✗ git commit -m "新建项目基础代码"
[main f3aa3f5] 新建项目基础代码1 file changed, 1 insertion(+), 1 deletion(-)
➜  testgit git:(main) git status                      
位于分支 main
您的分支领先 'origin/main' 共 1 个提交。(使用 "git push" 来发布您的本地提交)无文件要提交,干净的工作区
➜  testgit git:(main) git pull --rebase origin main
来自 github.com:flymeawei/testgit* branch            main       -> FETCH_HEAD
当前分支 main 是最新的。
➜  testgit git:(main) git push -u origin main
枚举对象中: 5, 完成.
对象计数中: 100% (5/5), 完成.
使用 2 个线程进行压缩
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 319 字节 | 319.00 KiB/s, 完成.
总共 3 (差异 1),复用 0 (差异 0)
remote: Resolving deltas: 100% (1/1), c

张三负责人

  ~ cd 桌面
➜  桌面 ls
'19 芒果头条项目'   FlaskProjects   PythonProjects   zs_fuzerenDjangoProjects     lisi_fuzeren    test
➜  桌面 cd FlaskProjects 
➜  FlaskProjects git clone git@github.com:flymeawei/testgit.git
正克隆到 'testgit'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 11 (delta 2), reused 6 (delta 1), pack-reused 0
接收对象中: 100% (11/11), 完成.
处理 delta 中: 100% (2/2), 完成.
➜  FlaskProjects ls
flaskProject01  testgit
➜  FlaskProjects ls -a
.  ..  flaskProject01  testgit
➜  FlaskProjects cd testgit 
➜  testgit git:(main) ls
hello.py  LICENSE  README.md
➜  testgit git:(main) ls -a
.  ..  .git  .gitignore  hello.py  LICENSE  README.md
➜  testgit git:(main) cat hello.py 
# 这是基础代码
➜  testgit git:(main) vi hello.py 
➜  testgit git:(main) ✗ git add hello.py
➜  testgit git:(main) ✗ git commit -m "张三的内容"
[main 3cf9029] 张三的内容1 file changed, 1 insertion(+)
➜  testgit git:(main) ls
hello.py  LICENSE  README.md
➜  testgit git:(main) cat hello.py 
# 这是基础代码
这是张三的代码
➜  testgit git:(main) 
➜  testgit git:(main) 
➜  testgit git:(main) git status
位于分支 main
您的分支领先 'origin/main' 共 1 个提交。(使用 "git push" 来发布您的本地提交)无文件要提交,干净的工作区
➜  testgit git:(main) git pull --rebase origin main
来自 github.com:flymeawei/testgit* branch            main       -> FETCH_HEAD
当前分支 main 是最新的。
➜  testgit git:(main) git push -u origin main
枚举对象中: 5, 完成.
对象计数中: 100% (5/5), 完成.
使用 2 个线程进行压缩
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 318 字节 | 318.00 KiB/s, 完成.
总共 3 (差异 1),复用 0 (差异 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:flymeawei/testgit.gitf3aa3f5..3cf9029  main -> main
分支 'main' 设置为跟踪来自 'origin' 的远程分支 'main'。
➜  testgit git:(main) git status                   
位于分支 main
您的分支与上游分支 'origin/main' 一致。无文件要提交,干净的工作区
➜  testgit git:(main) 

在这里插入图片描述

王五负责人

➜  ~ cd 桌面/ww_fuzeren 
➜  ww_fuzeren git init
已初始化空的 Git 仓库于 /home/sanha/桌面/ww_fuzeren/.git/
➜  ww_fuzeren git:(master) git checkout -b dev
切换到一个新分支 'dev'
➜  ww_fuzeren git:(dev) git clone git@github.com:flymeawei/testgit.git
正克隆到 'testgit'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 14 (delta 3), reused 8 (delta 1), pack-reused 0
接收对象中: 100% (14/14), 完成.
处理 delta 中: 100% (3/3), 完成.
➜  ww_fuzeren git:(dev)ls
testgit
➜  ww_fuzeren git:(dev) ✗ cd testgit 
➜  testgit git:(main) ls
hello.py  LICENSE  README.md
➜  testgit git:(main) vi hello.py 
➜  testgit git:(main) ✗ git add hello.py
➜  testgit git:(main) ✗ git commit -m "王五新增的代码"
[main ea9a991] 王五新增的代码1 file changed, 2 insertions(+), 1 deletion(-)
➜  testgit git:(main) git status
位于分支 main
您的分支领先 'origin/main' 共 1 个提交。(使用 "git push" 来发布您的本地提交)无文件要提交,干净的工作区
➜  testgit git:(main) git pull --rebase origin main
来自 github.com:flymeawei/testgit* branch            main       -> FETCH_HEAD
当前分支 main 是最新的。
➜  testgit git:(main) git push -u origin main     
枚举对象中: 5, 完成.
对象计数中: 100% (5/5), 完成.
使用 2 个线程进行压缩
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 330 字节 | 330.00 KiB/s, 完成.
总共 3 (差异 1),复用 0 (差异 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:flymeawei/testgit.git3cf9029..ea9a991  main -> main
分支 'main' 设置为跟踪来自 'origin' 的远程分支 'main'。
➜  testgit git:(main) 

在这里插入图片描述

Pull request
在这里插入图片描述

new pull request
在这里插入图片描述

合并
在这里插入图片描述


相关文章:

Git多人协同远程开发

1. 李四(项目负责人)操作步骤 在github中创建远程版本库testgit将基础代码上传⾄testgit远程库远程库中基于main分⽀创建dev分⽀将 githubleaflife/testgit 共享给组员李四继续在基础代码上添加⾃⼰负责的模块内容 2. 张三、王五(组员&…...

Chapter4:机器人仿真

ROS1{\rm ROS1}ROS1的基础及应用,基于古月的课,各位可以去看,基于hawkbot{\rm hawkbot}hawkbot机器人进行实际操作。 ROS{\rm ROS}ROS版本:ROS1{\rm ROS1}ROS1的Melodic{\rm Melodic}Melodic;实际机器人:Ha…...

python(14)--集合

前言 本篇文章学习的是 python 中集合的基础知识。 集合元素的内容是不可变的,常见的元素有整数、浮点数、字符串、元组等。至于可变内容列表、字典、集合等不可以是集合元素。虽然集合不可以是集合的元素,但是集合本身是可变的,可以去增加或…...

【Spark分布式内存计算框架——Spark Core】4. RDD函数(中)Transformation函数、Action函数

3.2 Transformation函数 在Spark中Transformation操作表示将一个RDD通过一系列操作变为另一个RDD的过程,这个操作可能是简单的加减操作,也可能是某个函数或某一系列函数。值得注意的是Transformation操作并不会触发真正的计算,只会建立RDD间…...

Mysql 数据类型

1、数值数据类型 1.1 整数类型(精确值) INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT MySQL支持SQL标准的整数类型INTEGER (或INT)和SMALLINT。作为标准的扩展,MySQL还支持整数类型TINYINT、MEDIUMINT和BIGINT。下表显示了每种整数类型所需的存储和范围。…...

运行Whisper笔记(1)

最近chatGPT很火,就去逛了一下openai的github项目。发现了这个项目。 这个项目可以识别视频中的音频,转换出字幕。 带着一颗好奇的心就尝试自己去部署玩一玩 跟着这篇文章一步步来进行安装,并且跟着这篇文章解决途中遇到的问题。 途中还会遇…...

2023年最强大的12款数据可视化工具,值得收藏

做数据分析也有年头了,好的坏的工具都用过,推荐几个觉得很好用的,避坑必看! PS:一般比较成熟的公司里,数据分析工具不只是满足业务分析和报表制作,像我现在给我们公司选型BI工具,是做…...

LeetCode刷题系列 -- 523. 连续的子数组和

给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为 k 的倍数。如果存在,返回 true ;否则,返回 false 。如果存…...

LeetCode刷题系列 -- 525. 连续数组

给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums [0,1]输出: 2说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。示例 2:输入: nums [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数…...

JavaEE15-Spring Boot统一功能处理

目录 1.统一用户登录权限效验 1.1.最初用户登录验证 1.2.Spring AOP用户统一登录验证的问题 1.3.Spring拦截器 1.3.1.创建自定义拦截器,实现 HandlerInterceptor 接口并重写 preHandle(执行具体方法之前的预处理)方法 1.3.2.将自定义拦…...

centos7.6 设置防火墙

1、查看系统版本 cat /etc/redhat-release2、查看防火墙运行状态 systemctl status firewalld这里可以看到当前是未运行状态(inactive)。 3、关闭开机自启动防火墙 systemctl disable firewalld.service4、启动防火墙并查看状态,系统默认 22 端口是开启的。 sy…...

在线支付系列【22】微信支付实战篇之集成服务商API

有道无术,术尚可求,有术无道,止于术。 文章目录前言1. 环境搭建2. 特约商户进件3. 统一下单总结前言 在上篇文档中,我们做好了接入前准备工作,接下来使用开源框架集成服务商相关API。 一个简单的支付系统完成支付流程…...

3.2 埃尔米特转置

定义 对于复矩阵,转置又不一样,常见的操作是共轭转置,也叫埃尔米特转置Hermitian transpose。埃尔米特转置就是对矩阵先共轭,再转置,一般来说用三种符号表示埃尔米特转置: 第一种符号是AHA^HAH&#xff0c…...

Python爬虫之Scrapy框架系列(13)——实战ZH小说爬取数据入MySql数据库

目录:1 数据持久化存储,写入Mysql数据库①定义结构化字段:②重新编写爬虫文件:③编写管道文件:④辅助配置(修改settings.py文件):⑤navicat创库建表:⑥ 效果如下&#xf…...

MySQL篇02-三大范式,多表查询

数据入库时,由于数据设计不合理,会存在数据重复、更新插入异常等情况, 故数据库中表的设计遵循的设计规范:三大范式1.第一范式(1NF)要求数据库的每一列都是不可分割的原子数据项,即原子性。强调的是列的原子性,即数据库中每一列的…...

vue-cli3创建Vue项目

文章目录前言一、使用vue-cli3创建项目1.检查当前vue的版本2.下载并安装Vue-cli33.使用命令行创建项目二、关于配置前言 本文讲解了如何使用vue-cli3创建属于自己的Vue项目,如果本文对你有所帮助请三连支持博主,你的支持是我更新的动力。 下面案例可供…...

Linux perf probe 的使用(三)

文章目录前言一、Dynamic Tracing二、kprobes2.1 perf kprobe 的使用2.2 kprobe Arguments3.3 tcp_sendmsg()3.3.1 Kernel: tcp_sendmsg()3.3.2 Kernel: tcp_sendmsg() with size3.3.2 Kernel: tcp_sendmsg() line number and local variable三、uprobes的使用3.1 perf uprobe …...

python GUI编程 多窗口跳转

# 多窗口跳转例子from tkinter import *def main(): # 主窗体def goto(num):root.destroy() # 关闭主窗体if num 1:one() # 进入第1个窗体elif num 2:two() # 进入第2个窗体root Tk()root.geometry(300x150600200)root.title(登录窗口)but1 Button(root, text"进入…...

nuxt 学习笔记

这里写目录标题路由跳转NuxtLinkquery参数params参数嵌套路由tab切换效果layouts 文件夹强制约定放置所有布局文件&#xff0c;并以插槽的形式作用在页面中1.在app.vue里面2.component 组件使用Vue < component :is"">Vuex生命周期数据请求useFetchuseAsyncDat…...

Python编程自动化办公案例(1)

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.使用库讲解 1.xlrd 2.xlwt 二.主要案例 1.批量合并 模板如下&#xf…...

Docker镜像的制作

什么是Docker镜像&#xff1f; Docker镜像是一个轻量级、独立的可执行软件包&#xff0c;包含运行应用程序所需的一切&#xff1a;代码、运行时、系统工具、系统库和设置。镜像是容器的基础&#xff0c;容器是镜像的运行实例。 准备工作 安装Docker 首先确保你的系统已安装D…...

如何通过3个步骤快速掌握BetaFlight黑匣子日志分析

如何通过3个步骤快速掌握BetaFlight黑匣子日志分析 【免费下载链接】blackbox-log-viewer Interactive log viewer for flight logs recorded with blackbox 项目地址: https://gitcode.com/gh_mirrors/bl/blackbox-log-viewer 你是否曾经在调试无人机飞行问题时感到束手…...

Hugging Face Hub下载模型文件:hf_hub_download vs snapshot_download保姆级对比指南

Hugging Face Hub模型下载实战指南&#xff1a;hf_hub_download与snapshot_download深度解析 当你第一次在Python项目中集成Hugging Face模型时&#xff0c;是否曾被这两个看似相似的下载函数困扰过&#xff1f;作为Hugging Face生态中最常用的两个下载工具&#xff0c;hf_hub_…...

3个革命性功能:163MusicLyrics让音乐歌词管理效率提升10倍

3个革命性功能&#xff1a;163MusicLyrics让音乐歌词管理效率提升10倍 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 在数字音乐时代&#xff0c;歌词管理已成为音乐爱好…...

ChezScheme测试性能优化:从53分钟到8分钟的效率跃迁

ChezScheme测试性能优化&#xff1a;从53分钟到8分钟的效率跃迁 【免费下载链接】ChezScheme Chez Scheme 项目地址: https://gitcode.com/gh_mirrors/ch/ChezScheme 一、痛点分析&#xff1a;串行测试的性能瓶颈 识别测试效率问题 在软件开发迭代过程中&#xff0c;…...

实战数据可视化:基于快马平台构建小龙虾销售趋势分析看板

实战数据可视化&#xff1a;基于快马平台构建小龙虾销售趋势分析看板 最近帮朋友的小龙虾连锁店做数据分析&#xff0c;发现传统Excel报表根本满足不了实时决策的需求。老板们需要一眼就能看懂销售趋势、口味偏好和地区差异&#xff0c;于是我尝试用InsCode(快马)平台快速搭建…...

java的for循环

public class Demo6 {public static void main(String[] args) {for (int money1;money<10;money){System.out.println("换一元纸币"money"张。换5角硬币"(10-money)*2"个");}} }public class Demo8 {public static void main(String[] args)…...

AI写论文不再难,4款AI论文生成工具带你开启高效写作之旅!

在2025年愈演愈烈的学术写作智能化趋势中&#xff0c;越来越多的人选择借助AI写论文工具。现实中许多这样的工具在撰写硕士、博士论文等长篇学术作品时&#xff0c;常常缺乏必要的理论深度&#xff0c;逻辑也显得比较松散。普通的AI论文写作工具显然无法满足这些专业写作的需求…...

AI原生应用:解决幻觉难题的有效途径

AI原生应用:解决幻觉难题的有效途径 关键词:AI原生应用、大模型幻觉、检索增强生成(RAG)、验证模块、智能系统架构 摘要:大语言模型(LLM)的“幻觉”(Hallucination)问题——生成与事实不符的内容,正成为AI应用落地的最大障碍。本文将从“AI原生应用”的视角出发,用通…...

Pixel Fashion Atelier入门必看:Forge!按钮物理位移反馈的CSS3实现原理

Pixel Fashion Atelier入门必看&#xff1a;Forge!按钮物理位移反馈的CSS3实现原理 1. 引言&#xff1a;像素世界的物理交互 在Pixel Fashion Atelier这款独特的图像生成工具中&#xff0c;最令人印象深刻的莫过于那个醒目的橙色"锻造"按钮。当用户点击时&#xff…...