Git 版本管理使用-介绍-示例

news2024/9/29 5:35:35

文章目录

  • Git是一种版本控制工具,它可以帮助程序员组织和管理代码的变更历史
  • Git的使用方式:
  • 常见命令
  • 安装Git软件
    • 第一次上传
    • 分支
      • 删除分支

Git是一种版本控制工具,它可以帮助程序员组织和管理代码的变更历史

以下是Git的基本概念和使用方式:

  1. 仓库(Repository):Git使用仓库来存储代码的历史变更记录,包括所有的代码文件和版本信息。一个Git仓库可以存储在本地计算机或者远程服务器上。

  2. 分支(Branch):Git允许程序员在同一个仓库中创建多个不同的分支,每个分支可以包含不同版本的代码。程序员可以在不同的分支上进行开发和实验,最终将不同分支的代码合并起来。

  3. 提交(Commit):Git的基本单位是提交(Commit),每次提交是对代码的一个修改或一系列修改的快照。每个提交都包含一个唯一的标识符,以及提交者、提交时间等元数据。

  4. 拉取(Pull):Git允许程序员从远程仓库中拉取代码到本地计算机上,以便查看和修改代码。使用拉取功能需要先连接到远程仓库并获取访问权限。

  5. 推送(Push):若要将本地的代码更改推送到远程仓库,程序员需要使用推送功能。推送将所有本地的提交上传到远程仓库中。

  6. 合并(Merge):当两个分支的代码有冲突时,程序员可以使用合并(Merge)来将两个分支的代码合并在一起。合并时需要解决冲突,保留两个分支的代码。

  7. 标签(Tag):Git允许程序员对代码仓库中的某个版本打上标签。标签一般用于标识一个版本或者某个重要的里程碑,以便于查找和回溯。

Git的使用方式:

  1. 首先在本地计算机或者远程服务器上创建一个新的Git仓库;
  2. 将代码文件添加到仓库中;
  3. 使用提交功能将代码文件的修改保存到仓库中;
  4. 使用分支功能在同一个仓库中创建多个不同的分支,进行开发和实验;
  5. 使用拉取和推送功能连接到远程仓库,并将代码从本地推送到远程仓库;
  6. 使用合并功能将不同分支的代码合并到一起;
  7. 使用标签功能打上标签,以便于查找和回溯。

常见命令

创建仓库

git init 初始化仓库
git clone 拷贝一份远程仓库,也就是下载一个项目。

提交与修改

git add 添加文件到仓库
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git commit 提交暂存区到本地仓库。
git reset 回退版本。
git rm 删除工作区文件。
git mv 移动或重命名工作区文件。
提交日志
git log 查看历史提交记录
git blame 以列表形式查看指定文件的历史修改记录

远程操作

git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并

安装Git软件

去这里下载Git下载地址,选择你需要的版本下载安装即可;
安装完后你可以直接打开利用指令进入你的项目;或者在你的项目目录里,右键选择Git Bash Here打开
git

打开将你的用户名,邮箱配置了,这是个全局配置,会把所有这个电脑上的仓库都写上,当然你可以针对某个仓库设不同的

git config --global user.name "名字"
git config --global user.email "邮箱"

第一次上传

按照流程走,先初始化仓库,在工作目录下生成一个.git隐藏文件夹

git init

把目录下的文件全部添加进本地仓库 (.)代表全部,也可以指定文件名添加

git add .

关联远程仓库

git commit -m "1.0"

把文件提交到仓库

git remote add origin 刚刚的地址

把本地库的所有内容推送到远程库上

git push -u origin master

分支

上传一个独立的分支(比如代码是从工程中直接DOWNLOAD ZIP文件,该文件与原MASTER分支是独立的)

1、git init (在本地工程目录下)
2、git add .
3、git commit -m “luyang” (”luyang“为分支名)
4、git branch luyang (创建分支)
5、git checkout luyang (切换分支)
6、git remote add origin http://192.168.36.10:10080/quantum_rng_testing/nist (”quantum_rng_testing/nist“ 为工程的目录,这次不要后面的.git后缀)
7、git push origin luyang (将分支上传)
注意:如果提示 "please tell me who you are“
在.git 目录下的config文件,在最后添加
[user]
name = xxxx
email = xxxxxxx@xx.com

这就创建了一个分支并上传了

合并分支

git merge luyang

合并分支
然后去远程仓库看一下合并成功了没有,如果没有则执行下面这个命令:

git push --force origin master

合并分支

删除分支

在合并后就可以将分支删除了,可以在远程仓库的分支管理里删除
或者执行

git branch -d 分支名称

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

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

相关文章

AI 绘画Stable Diffusion 研究(二)sd模型ControlNet1.1 介绍与安装

部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好,我是风雨无阻。 众所周知,StableDiffusion 是非常强大的AI绘图工具,需要详细了解StableDiffusion的朋友,可查看我之前的这篇文章: …

Qt6.5.2+WebRTC学习笔记(十三)开发环境搭建(macOS13.5)

前言 在ubuntu和win10开发测试一段时间了,但总在存在平台特性的问题,所以准备将程序移植到macOS上测试,同步进行三个主要桌面系统开发,本教程记录下环境搭建过程 一、准备 1.操作系统macOS13.5 64位 x86架构(建议系…

tinkerCAD案例:22. Backpack Zipper Pull 背包拉链头

tinkerCAD案例:21. Custom Stamp 定制印章 原文 tinkerCAD案例:22. Backpack Zipper Pull 背包拉链头 Lesson Overview: 课程概述: Now we’re going to make a zipper pull! 现在我们要做一个拉链头! Your backpack, howev…

【TypeScript】TS入门级基础学习(一)

【TypeScript】TS入门级基础学习(一) 一、前言 TypeScript 是一种用于应用程序规模的 JavaScript 语言。 TypeScript 向 JavaScript 添加了可选类型,支持用于任何浏览器、任何主机、任何操作系统的大规模 JavaScript 应用程序的工具。 Type…

【简历完善】- SLAM - 第一篇:卡尔曼滤波的学习

场景:晚上你需要从自己的卧室去上厕所,你知道家里的布局,了解自己的步长,但是没有灯。你如何才能走到厕所呢? 一些术语 “预测” “估计”。下面所说的预测和估计就是一回事。不同博客里面这两个词语大概意思也是一…

如何⾃定义⼀个SpringBoot Srarter

⾃定义⼀个SpringBoot Srarter 1、创建⼀个项⽬,命名为 demo-springboot-starter,引⼊SpringBoot相关依赖 2、编写配置⽂件 定义属性配置的前缀 3、⾃动装配 创建⾃动配置类HelloPropertiesConfigure 4、配置⾃动类 在 /resources/META-INF/spri…

ROS 基础知识汇总

How to learn ROS ROS for Beginners: How to Learn ROS - The Construct ROSwiki 界面介绍 ROS/Tutorials/NavigatingTheWiki - ROS Wiki ROS要学会哪些?如何学习Ros? - 知乎 setup.bash 的作用 ROS中的setup.bash_泠山的博客-CSDN博客 包的层级架构 …

ChatGPT长文本对话输入方法

ChatGPT PROMPTs Splitter 是一个开源工具,旨在帮助你将大量上下文数据分成更小的块发送到 ChatGPT 的提示,并根据如何处理所有块接收到 ChatGPT(或其他具有字符限制的语言模型)的方法。 推荐:用 NSDT设计器 快速搭建可…

如何搭建并部署抖音SEO源代码?

搭建并部署抖音SEO源代码,需要以下步骤: 购买服务器:在云服务商或者VPS提供商购买一台服务器,选择Linux系统。 安装LAMP/LEMP环境:LAMP是指Linux Apache MySQL PHP,LEMP是指Linux Nginx MySQL PHP。…

卷积的意义及其应用

卷积的意义及其应用 卷积的定义 我们将形如 ∫ − ∞ ∞ f ( τ ) g ( x − τ ) d τ \int^\infty_{-\infty} f(τ)g(x-τ)dτ ∫−∞∞​f(τ)g(x−τ)dτ 的式子称之为f(x)与g(x)的卷积记为 h ( x ) ( f ∗ g ) ( x ) h(x…

js开发技巧

1. 初始化数组 如果想要初始化一个指定长度的一维数组,并指定默认值,可以这样: const array Array(6).fill(); // [, , , , , ] 如果想要初始化一个指定长度的二维数组,并指定默认值,可以这样: const…

【尚硅谷】第01章:随堂复习与企业真题(Java语言概述)

来源:尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备) 基本都是宋老师发的资料里面的内容,只不过补充几个资料里没直接给出答案的问题的答案。 不想安装markdown笔记的app所以干脆在这里发一遍。 第01章:随堂复习…

电路原理分析1

d2的作用是提供一个1.25v的电平 r3、r4的作用都是限流 c1是滤波 运放的4、8脚是常规的外围 这个运放是一个运算放大电路 具体计算是这样的: 按照虚短原则,输入的信号Uinu1,输出的信号Uoutu3 按照虚断原则,i1i2i5i5 u1/r2i1i5&#xff…

windows使用多账户Git,多远程仓库版本管理

1 清除全局配置 git config --global --list // 看一下是否配置过user.name 和 user.email git config --global --unset user.name // 清除全局用户名 git config --global --unset user.email // 清除全局邮箱 2 本地仓库,每个远程对应的本地仓库目录下执行 $…

Redis缓存击穿问题以及解决方案

Redis缓存击穿问题以及解决方案 前言一、什么是Redis缓存击穿二、解决方案1.使用锁来解决使用锁的流程:核心思路:思路流程图:操作的锁的代码:业务的实现: 2.逻辑过期来解决思路分析:解决流程:业…

YOLOv5改进系列(17)——更换IoU之MPDIoU(ELSEVIER 2023|超越WIoU、EIoU等|实测涨点)

【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 YOLOv5改进系列(1)——添加SE注意力机制

【数据结构】_5.栈

目录 1. 概念 2. 栈的使用 2.1 方法 2.2 示例 3. 栈的模拟实现 4. 栈的应用场景 4.1 题目1:不可能的出栈序列 4.2 题目2:逆序打印单链表 4.3 题目3:逆波兰表达式求值 4.4 题目4:括号匹配 4.5 题目5:栈的压入…

如何构建高效的接口自动化测试框架

在选择接口测试自动化框架时,需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说,使用Python相关的测试框架更为便捷。无论选择哪种框架,重要的是确保 框架功能完备,易于维护和扩展,提高测试效率和准确性。今…

最适合新手的SpringBoot+SSM项目《苍穹外卖》实战—(五)员工管理

黑马程序员最新Java项目实战《苍穹外卖》,最适合新手的SpringBootSSM的企业级Java项目实战。 新增员工 设计 DTO 类 我们需要根据新增员工接口设计对应的 DTO 类去接收前端传递的参数,前端传递参数列表如下: 注意: 当前端提交的…

C++ 成员初始化列表和new运算符的应用

输出一个学生的学号&#xff0c;姓名&#xff0c;性别和出生年月日 class Date { public:Date(int y, int m, int d) :m_year(y), m_month(m), m_day(d) {}void Print(){cout << m_year << "/" << m_month << "/" << m_day…