使用 Github 进行项目管理

GitHub 是一个广泛使用的代码托管和协作平台,它提供了强大的工具来支持项目管理和团队协作。在项目开发和工作中,避免不了 Github 的使用,然鹅我一直没有稍微系统地学习过 github 的整个工作流程,对这些操作都是一知半解的,所以今天就好好入门一下 github。

推荐一个非常好用的 Git 入门网站:Learn Git Branching

基础概念

仓库

  • 仓库(Repository):在 GitHub 上创建一个新的仓库,用于存放项目代码和相关资源。仓库可以设置为公开或私有状态。

分支

  • 主分支(main/master):稳定的代码分支,用于存放已发布或准备发布的代码。
  • 开发分支(develop):用于集成各个功能的开发分支,团队成员在此分支上进行合并。
  • 功能分支(feature):每个新功能或任务创建一个独立的功能分支,例如 feature/login
  • 修复分支(hotfix):用于紧急修复生产环境中的问题。

工作流程

配置 Git 用户信息

在初次使用 Git 之前,需要设置用户名和邮箱

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

查看配置:

git config --list

克隆(Clone)GitHub 仓库

首先,需要将远程的 GitHub 仓库克隆到本地计算机

git clone [仓库URL]

创建新分支(Branch)进行开发

为了保持主分支的稳定性,通常在新的分支(Branch)上进行开发

// 用于从远程仓库(名为 “origin”)获取最新的提交和分支信息
git fetch origin// 从名为 “origin” 的远程仓库中拉取 “main” 分支的最新更改,并将其合并到当前所在的本地分支
git pull origin main  # 或者 master,根据主分支名称

origin 是默认的远程仓库名称

创建并切换到新分支:新分支的名称为 feature/your-feature-name

git checkout -b [feature/your-feature-name]

在新分支上进行代码的添加、修改或删除。

忽略更改

在本地仓库中,可能有一些文件是不需要合并到远程仓库中的(比如调试时生成的日志文件),可以通过.gitignore 文件来忽略不需要追踪更改的文件。

提交(Commit)更改

查看更改状态:

// 用于显示当前工作目录和暂存区的状态
git status

添加更改到暂存区(Stage):

git add .						// 添加所有更改git add [filename]	// 添加特定文件

提交更改:

git commit -m "简要描述您的更改"

或者:

git commit# 然后在文本编辑器中输入
"""
简短的标题(50 字符以内)详细描述您的更改,说明原因和实现方式。
"""

推送(Push)分支到 GitHub

将本地分支推送到远程仓库,以便其他人可以访问更改。

推送分支到远程仓库:

git push origin [feature/your-feature-name]
// 用于将本地创建的新分支推送到远程仓库,并在远程仓库中创建相应的分支,同时设置本地分支跟踪远程分支
git push --set-upstream origin [feature/your-feature-name]

在 GitHub 上创建 Pull Request(PR)

提交更改请求,以便代码审查和合并。

代码审查(Code Review)和合并(Merge)

在 Pull Request 创建后,团队成员可以对代码进行审查

更新本地仓库

在合并完成后,确保本地仓库与远程仓库保持同步。

切换到主分支:

git checkout main  # 或者 master

拉取最新更改:

git pull origin main

删除本地已合并的分支(可选):

git branch -d [feature/your-feature-name]

git clonegit pull 的区别

git clone

  • 用于从一个远程仓库完整地复制一个项目到本地。它会创建一个新的本地目录,并将远程仓库的所有分支、提交历史等内容都复制到这个本地目录中。

git pull

  • 用于从一个已经存在的本地仓库对应的远程仓库中获取最新的提交,并将这些提交合并到当前所在的本地分支中。
  • 它实际上是git fetchgit merge两个操作的组合。git fetch从远程仓库获取新的提交,而git merge将这些提交合并到当前分支。

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

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

相关文章

servlet开发

一、Servelet (一)Servelet概述 1.概念:Severlet是一门动态web资源开发技术。 2.本质:Severlet本质是一段Java程序,但和Java程序不同的是,Severlet程序无法独立运行,需要放服务器中&#xff…

ArcGIS003:ArcMap常用操作0-50例动图演示

摘要:本文以动图形式介绍了ArcMap软件的基本操作,包括快捷方式创建、管理许可服务、操作界面元素(如内容列表、目录树、搜索窗口、工具箱、Python窗口、模型构建器窗口等)的打开与关闭、位置调整及合并,设置默认工作目…

链表|反转链表|移除链表元素|链表的中间节点|返回倒数第k个节点|合并两个有序链表(C)

206. 反转链表 用两个指针 p1指向空,p2指向第一个节点 p2的next指向p1,把方向调过来 因为p2的next指向p1,会丢掉后面的节点,所以需要三个节点 前两个指针是为了反转,后一个指针是为了找到下一个节点 p2给给p1&a…

GitGraphPro 图管理系统

1.产品介绍 产品介绍方案 产品名称: GitGraphPro 图管理系统 主要功能: 智能图谱构建版本控制与协作数据分析与可视化自定义模板与导出功能介绍: 1. 智能图谱构建 具体作用:GitGraphPro 利用先进的算法,自动从项目数据

一:时序数据库-Influx应用

目录 0、版本号 1、登录页面 2、账号基本信息 3、数据库案例 4、可视化 5、java案例 0、版本号 InfluxDB v2.4.0 1、登录页面 http://127.0.0.1:8086/signin 账号:自己账号 密码:自己密码 2、账号基本信息 查看用户id和组织id!&…

python脚本:十六进制数据小端序转大端序

大多数机器的存储方式都是小端排序,小端序指的是数据的高位(偏左边的)放在内存中的高地址(偏右边的)处,这样会导致存放好的数据对于我们看来好像是“倒过来”的 大端序则是我们看上去从左到右的正常排序 例…

流场主动流动控制

对于流场的主动控制而言,其难点主要集中在强化学习的环境搭建过程,如何建立数值仿真与强化学习的信息交互是研究过程中的拦路虎。经过几个星期的研究,已基本实现由pycharm程序数据端向star ccm端的数据传递。其主要过程包括如下过程&#xff…

Django-文件上传

定义: 上传规则-前端【html】: 上传规则-后端【Django】: urlpatterns [path(upload,views.test_upload) ] 例子: settings添加: MEDIA_URL /media/ MEDIA_ROOT os.path.join(BASE_DIR, media) 主路由: urlpa…

kafka-console-ui的简介及安装使用

kafka-console-ui的简介及安装使用 一、kafka-console-ui的简介二、安装kafka-console-ui2.1 源码安装2.2 docker安装 三、kafka-console-ui功能使用3.1、功能特性3.2、 功能介绍3.2.1 集群3.2.2 topic3.2.3 消费组3.2.4 Acl3.2.5 运维 一、kafka-console-ui的简介 kafka-cons…

ONLYOFFICE 8.2 版本产品评测——遥遥领先

知孤云出岫-CSDN博客 目录 产品介绍——篇【1】 一.关于 ONLYOFFICE 桌面编辑器 二.关于 ONLYOFFICE 协作空间 三.关于 ONLYOFFICE 文档 四.关于 ONLYOFFICE的版本介绍 产品新功能——篇【2】 一.关于 ONLYOFFICE的新增功能介绍 二.OLE FICE文档概述 三.PDF编辑器更新 …

星河飞雪网络安全学习笔记-shodan使用7(完结)

学习笔记-shodan使用7 Shodan命令 info shodan info查询账户搜索次数。 Domain shodan domain baidu.com查询ip域名信息 Scan shodan scan submit ip对ip进行实时扫描,类似nmap。 shodan scan list显示扫描信息。 Stats shodan stats --facets ssl.version countr…

【原创分享】详述中间件的前世今生

中间件是一种软件组件,位于应用程序和操作系统之间,通过提供统一的接口和功能来简化开发和管理应用程序、提高应用程序的可靠性和性能。 中间件的前世可以追溯到20世纪80年代的分布式系统和网络技术的发展。在那个时候,随着计算机网络的普及…

Python | Leetcode Python题解之第524题通过删除字母匹配到字典里最长单词

题目: 题解: class Solution:def findLongestWord(self, s: str, dictionary: List[str]) -> str:m len(s)f [[0] * 26 for _ in range(m)]f.append([m] * 26)for i in range(m - 1, -1, -1):for j in range(26):if ord(s[i]) j 97:f[i][j] iel…

论文翻译 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES

摘要 最近的信息检索研究主要集中在如何从一个任务(通常有丰富的监督数据)转移到其他各种监督有限的任务上,其隐含的假设是从一个任务可以泛化到所有其他任务。然而,这忽略了这样一个事实,即存在许多多样化和独特的检索…

AIGC时代的网络威胁和防御

AIGC时代的网络威胁和防御 1. 生成式AI是否将成为网络威胁者的战术新宠?​论文地址​研究背景​主要贡献​攻击方法​示例​研究结论​ 2. LLM Honeypot: 利用大型语言模型打造先进的交互式蜜罐系统​论文地址​一、研究背景​二、研究方法​(一&#xf…

mysql中的锁理解

1.共享锁,排他锁,也叫读锁和写锁 共享锁(S锁)(读锁):事务在读取记录的时候获取共享锁,允许其它事务同时获取共享锁。 排他锁(X锁)(写锁):事务在修改记录的时候获取排他锁,只允许一个事务获取排他锁&#x…

聚水潭数据集成到MySQL的技术实操与解决方案

聚水潭数据集成到MySQL的技术案例分享 在现代企业的数据管理过程中,如何高效、可靠地实现不同系统之间的数据对接是一个关键问题。本案例将聚焦于“聚水谭-仓库查询单-->BI邦盈-仓库表”的数据集成方案,详细探讨如何通过轻易云数据集成平台&#xff…

鸿蒙系统的优势 不足以及兼容性与未来发展前景分析

2024 年 10 月 22 日:华为正式发布原生鸿蒙操作系统 HarmonyOS next,并正式命名为 HarmonyOS 5,这是鸿蒙系统史上最大的升级,实现了国产操作系统从底层架构到应用生态的全面自主可控。 鸿蒙系统与安卓、iOS 相比,具有…

C++:哈希表

目录 哈希的概念 直接定址法 哈希冲突 负载因子 哈希函数 除法散列法/除留余数法 乘法散列法 处理哈希冲突 开放定址法 线性探测 二次探测 双重散列 链地址法 哈希表的实现 哈希表的结构 闭散列(开放定址法) 结构 插入 查找 删除 …

Java系统学习笔记

计算机知识 CMD 环境变量 想要在任意目录下都可以打开指定的软件,就可以把软件的路径配置到环境变量中。 JDK JDK安装目录中 javac 是JDK提供的一个工具,可以通过这个工具,把java文件编译成class文件 java 也是JDK提供的一个工具&#xf…