git版本管理工具基本使用

2024-09-03 06:18

本文主要是介绍git版本管理工具基本使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Git基本使用

软件安装

命令行软件:

Ubuntu:参考:https://git-scm.com/download/linux

sudo apt install git 

Windows:https://git-scm.com/ 下载安装即可
可通过以下命令确认是否安装成功

git --version

界面管理软件:

Ubuntu:SmartGit
Windows:git tortoise:https://tortoisegit.org/download/
clion\pycharm:内置了Git管理工具

命令操作

初始化git仓库

git init

实时查看当前仓库状态

git status

配置邮箱和用户名:(整个系统只用配置一次)

git config --global user.email "xxx@xx.com"
git config --global user.name "xxxx"

将文件变化加入到State舞台(所有文件的增删改)

git add .

将文件变化加入到State舞台(个别文件)

git add 文件名

提交Stage舞台上的所有变化(所有文件的增删改)

git commit -m "提交注释"

查看历史记录:(按q退出)

git log

文件状态说明
Untracked:未追踪状态(git add . 更新为staged)常见于新添加的文件或目录
not staged:未记录的变换(git add . 更新为staged)常见于修改、删除文件
Staged:待提交状态(需要通过 git commit -m “提交注释”)将之提交
Commited:文件已提交到版本库,会在历史记录中体现
在这里插入图片描述

提交到远程仓库

gitee, github

远程仓库初始化及push

1.创建远程仓库
2.添加远程仓库的链接,命名为origin

git remote add origin https://gitee.com/xxx/xxx

3.将当前分支和远端origin的master进行关联(只需要执行一次)

git push --set-upstream origin master

也可以使用指定的远端分支进行推送

git push -u origin main

在这里插入图片描述

获取远程仓库代码pull

1.获取已有的远程仓库代码

git clone https://gitee.com/xxx/xxx

2.如果希望获取最新的远程的代码

git pull

3.等同于

git fetch + git merge

多人协作开发

commit、push
pull、merge

冲突产生

在push之前,远程版本库中有新的提交,本地没有,执行pull,发现其中的新的提交和本地的内容(相同文件的相同行)有差异。产生冲突

冲突解决

git pull 拉取并合并
手动,使用界面工具将远程内容和本地内容进行合理的编排,执行命令继续合并过程

git add .

fix conflicts and then run “git rebase --continue”
执行推送

git push

Git分支管理

查看分支(*处于当前所在分支前面)

git branch

创建分支

git branch 新建分支名称

切换分支

git checkout 分支名称

同时创建并切换分支

git checkout -b 新建分支名称

删除分支

git branch -d 删除分支名称

分支合并

git merge
-------
git checkout 需要合并到的分支(一会会将别的分支的内容合并到此分支)
git merge 需要合并的分支(将此分支内容合并到当前分支)

Git标签

创建标签

-a 是创建一个带注释的标签,建议使用
git tag -a v1.0

查看标签

git tag

删除标签

git tag -d 标签名称

查看此版本所修改内容

git show 标签名称

Git 版本回退

查看提交日志,每一次提交都有对应的 *commit id* 和 *commit message*

git log
# 提交的信息会在一行显示
git log --pretty=oneline

根据id会退到指定的版本

git reset --hard id(根据日志,可以查看到id号)

查看命令操作的历史

git reflog

这篇关于git版本管理工具基本使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132260

相关文章

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr