使用Git和GitHub完成团队项目开发

news2025/1/19 19:29:49

前提

  • 拥有自己的GitHub账号
  • 项目组组长已经创建好了 一个远程仓库
  • 能够科学上网
  • 安装了Git软件

基础步骤

  该内容分为两个部分,分别为团队协作者(项目成员)和团队组织者(项目组长),我们首先来介绍作为项目成员该如何完成团队项目的开发。


作为项目成员

  1. 在你的电脑上任意地方(只要你找的到)创建一个新的文件夹
    在这里插入图片描述

  2. 进入文件右击运行Git Bash Here进入该页面
    在这里插入图片描述

  3. 使用git init初始化仓库
    在这里插入图片描述

  4. 到GitHub上面找到团队项目的URL
    在这里插入图片描述

  5. 使用git remote add <name> <url>来给该地址取个名字,在这里我一般使用git remote add origin https://github.com/hiddenSharp429/xxxxxxxxx
    在这里插入图片描述

  6. 添加完后如果不清楚有没有添加成功则可以使用git remote -v来进行查看
    在这里插入图片描述

  7. 使用git pull origin将远程仓库的文件全部下载到新建文件夹里,等待全部下载好了就可以在新建文件夹中看到相关的文件了
    在这里插入图片描述
    在这里插入图片描述

  8. 在新建文件夹里修改相关文件(假如我这里修改了README文件),或者进行项目的更新迭代,完成修改后使用git add .将所有已修改的文件(包括新增、删除、修改)添加到缓存区域
    注:这里你可以使用git status来查看本地仓库文件的变化
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  9. 使用git commit -m "your message"将缓存区的所有文件提交到本地仓库新建文件夹
    在这里插入图片描述

  10. 将本地仓库的所有内容上传到远程仓库的新的分支
      假如团队项目的远程仓库现在只有一个分支(默认分支main),那么提交新版本的时候尽量不要上传到main分支,而是开辟一个新的分支如new,这么做的目的是可以将两个分支的文件进行对比,在经过项目组的审核和讨论后再决定是否要将new分支与main分支进行合并。
      在这一步需要使用git push <远程仓库的地址名> <本地仓库的分支名>:<远程仓库的分支名>,这里需要注意的是假如远程仓库的分支并不存在,则会新建一个分支。在这里我使用的是git push origin master:new,最后可以看到GitHub上面多了一个new分支,随后就可以发出合并请求来查看有哪些文件被修改了~
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


作为项目组长

  1. 进入到本地项目的文件夹目录。
    在这里插入图片描述

  2. 右击进入Git Bash Here,然后使用git checkout -b <new branch new>创建一个新的分支newBranch

    git checkout -b newBranch
    

    在这里插入图片描述

  3. 随后可以在该分支上进行项目BUG的修复、特性的跟新、版本的迭代等等。(这里我简单的修改了readme文件)。
    在这里插入图片描述

  4. 使用git add .提交所有的更改到缓存区。

    git add .
    
  5. 使用git commit -m "<your message>"来将缓存区的所有文件更新到本地仓库。

    git commit -m "modified readme file"
    

    在这里插入图片描述
    在这里插入图片描述

  6. 使用git push origin <your branch name>来将新建本地分支上传到GitHub上面,若GitHub上没有名称<your branch name>的分支,则会自动创建一个。

    git  push origin newBranch
    

    在这里插入图片描述
    在这里插入图片描述

  7. 确认无误后可以在GitHub上面将masternewBranch两个分支合并了。
    在这里插入图片描述
    在这里插入图片描述
    这样一来就完成了GitHub上面的分支合并了,但是到这里还没有结束,为了下一次开发我们需要初始化。

  8. 首先你先要在本地仓库中切换到master分支上。

    git checkout master
    
  9. 随后使用git merge <your branch name>将原先的master分支和提交到GitHub的newBranch合并 。

    git merge newBranch
    

    在这里插入图片描述

  10. 最后使用git branch -d <your branch name>将本地的newBranch分支删除就可以了。
    在这里插入图片描述


结束语

  下一篇会教大家如何使用ForkGitHub Desktop等Git可视化工具来完成团队项目开发~,如何觉得这篇博客对你有帮助的话可以给我一个免费的赞吗?你的认同是我创作的动力!!😄

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

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

相关文章

BitoAI:新型AI编码助手,支持GPT-4

在之前的文章中&#xff0c;小编带大家分享体验过OpenAI的Cursor代码生成器、Codeium编程助手、亚马逊的CodeWhisperer。大家也都非常踊跃的在评论区分享了体验的感受及遇到的问题。 而最近又出现了一款新型编程助手BitoAI。今天的主要内容就是给大家介绍它&#xff0c;号称 I…

栈的顺序存储结构与操作 题目编号:457

题目描述 请你定义一个顺序栈&#xff0c;可以对顺序栈进行“将某个元素入栈”、“弹出栈顶元素”、“取栈顶元素&#xff08;不删除&#xff09;”、“判断栈是否为空”、“清空栈”等操作。键盘输入一些命令&#xff0c;可以执行上述操作。本题中&#xff0c;顺序栈元素为字…

宝塔面板主题模板修改详细使用教程

宝塔面板主题模板修改详细使用教程 宝塔面板目前没有完善的主题、语言包功能&#xff0c;因此资源均采用覆盖的方式使用。 使用前请确保面板版本与资源包版本一致&#xff0c;新版本没有资源可以使用 降级版本 的方式使用。 原创资源均采用只修改少量静态文件的方式&#xff0c…

Portainer自定义设置默认的用户名密码

文章目录 Portainer介绍用户密码问题解决一半未完待续 Portainer介绍 Portainer是一款轻量级的Docker管理Web界面&#xff0c;它可以让用户方便地管理和部署Docker容器&#xff0c;管理Docker Swarm集群等用户可以通过Portainer轻松完成基于Docker的应用部署、镜像管理、容器监…

三台Windows服务器搭建RabbitMq集群及镜像队列

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、RabbitMq是什么&#xff1f;二、RabbitMq集群搭建步骤1.环境说明2.RabbitMQ 安装3.RabbitMQ 集群搭建4.RabbitMQ镜像队列 总结 前言 消息中间件-RabbitMq集…

Ubuntu 23.04 安装 Harbor

Ubuntu 23.04 安装 Harbor 安装 Docker CE配置 tls 证书配置 docker 信任自签名证书下载和安装 Harbor设置 Harbor 开机启动验证 安装 Docker CE sudo apt-get remove docker docker-engine docker.io containerd runcsudo apt-get update -y sudo apt-get install -y \ca-cer…

shell脚本----循环语句for

文章目录 一、echo命令二、for循环三、continue和break 一、echo命令 常见转义字符&#xff1a; 转义符号含义-n表示不换行输出\e输出转义字符&#xff0c;将转义后的内容输出到屏幕上\b转义后相当于按退格键&#xff0c;但前提是b后面存在字符: b表示删除前一个字符&#xf…

【Spring篇】IOC/DI配置管理第三方bean

&#x1f353;系列专栏:Spring系列专栏 &#x1f349;个人主页:个人主页 目录 一、案例:数据源对象管理 1.环境准备 2.实现Druid管理 3.实现C3P0管理 二、加载properties文件 1.第三方bean属性优化 2.读取单个属性 3.注意事项 三、核心容器 1.环境准备 2.容器 1.容器的创建…

linux|进程间通信如何加锁

进程间通信有一种[共享内存]方式&#xff0c;大家有没有想过&#xff0c;这种通信方式中如何解决数据竞争问题&#xff1f;我们可能自然而然的就会想到用锁。但我们平时使用的锁都是用于解决线程间数据竞争问题&#xff0c;貌似没有看到过它用在进程中&#xff0c;那怎么办&…

【Linux】进程概念与fork初识——if与else竟然能够同时执行?!

文章目录 &#x1f490;专栏导读&#x1f490;文章导读&#x1f337;进程是什么&#x1f337;进程的描述——PCB&#x1f337;进程的组织&#x1f337;如何查看进程&#x1f337;如何通过系统调用查看进程PID&#x1f337;通过系统调用创建进程&#x1f33a;认识fork&#x1f3…

TuGraph 开源数据库体验

TuGraph 开源数据库体验 文章目录 TuGraph 开源数据库体验1. 简单介绍2. 可视化界面体验&#xff1a;查询界面&#xff1a;数据建模&#xff1a;数据导入&#xff1a; 3. 体验心得&#xff1a; 1. 简单介绍 TuGraph 是蚂蚁集团自主研发的大规模图计算系统&#xff0c;提供图数…

大数据技术之SparkSQL

第1章 Spark SQL概述 1.1 什么是Spark SQL 1&#xff09;Spark SQL是Spark用于结构化数据&#xff08;Structured Data&#xff09;处理的Spark模块。 1.2 为什么要有Spark SQL 1.3 Spark SQL原理 1.3.1 什么是DataFrame &#xff08;1&#xff09;DataFrame是一种类似RDD的分…

统计学习方法第四章——朴素贝叶斯法

x.1 前言 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。是通过给定training dataset学习联合概率分布的方法&#xff0c;是一种生成方法。 x.2 使用贝叶斯定理做分类 使用贝叶斯定理做分类&#xff0c;相比较于朴素贝叶斯即丢除特征条件独立假设这个条件。 …

MySQL主从复制详细介绍

一、主从复制的目的 ​ MySQL内建的复制功能是构建基于MySQL的大规模、高性能应用的基础&#xff0c;复制功能的目的是构建高性能的应用&#xff0c;同时也是高可用性、可扩展性、灾难恢复、备份以及数据仓库等工作的基础。比较常见的用途有以下几种&#xff1a; 数据分布&am…

APP渗透—查脱壳、反编译、重打包签名

APP渗透—查脱壳、反编译、重打包签名 1. 前言1.1. 其它 2. 安装工具2.1. 下载jadx工具2.1.1. 下载链接2.1.2. 执行文件 2.2. 下载apktool工具2.2.1. 下载链接2.2.2. 测试 2.3. 下载dex2jar工具2.3.1. 下载链接 3. 查壳脱壳3.1. 查壳3.1.1. 探探查壳3.1.2. 棋牌查壳 3.2. 脱壳3…

【MiniGPT-4】手把手教部署

最近MiniGPT4开源了&#xff0c;获得了很多网友好评&#xff0c;在Github上获得了1.6万的star&#xff0c;它相比ChatGPT3.5来说&#xff0c;可以实现图片识别&#xff0c;生成想要的文本效果&#xff0c;理解能力非常强。 论文地址&#xff1a;https://github.com/Vision-CAIR…

【大数据之Hadoop】二十一、MapReduce、HDFS、Yarn配合工作(作业提交全过程)

1-11、26为Yarn&#xff1b;12-17为HDFS写数据流程&#xff1b;18-25、27-31为MapReduce&#xff1b;19-25为Shuffle&#xff1b;32-41为HDFS写数据流程。 &#xff08;0&#xff09;MR程序提交到客户端所在的节点&#xff0c;在集群模式中运行MR程序&#xff0c;当运行到主函…

数学建模第七天:数学建模算法篇之插值及MATLAB实现

目录 一、前言 1、引例 2、拟合定义 3、拟合与插值的关系 二、拟合 1、线性最小二乘法求解 ①思路 ②解法 2、MATLAB对线性最小二乘拟合的实现 ①函数说明 ②求解例题 3、MATLAB实现非线性曲线拟合 ①lsqcurvefit函数 ②代码求解 4、MATLAB实现非线性最小二乘拟…

华为2023暑期笔试(2-2)——最近最少使用(LRU, Least recently used)缓存算法

目录 题目内容解答要求&#xff08;解答要求限制了只能使用LRU&#xff09;输入描述样例思路代码 题目内容 你是一名网络工程师&#xff0c;你正在为一家云计算公司开发一个虚拟机管理系统。你的系统需要为每个虚拟机分配一个唯一的ID&#xff0c;用来标识和通信。为了实现这个…