02.Git常用基本操作

一、基本配置

(1)打开Git Bash

(2)配置姓名和邮箱

git config --global user.name "Your Name"
git config --global user.email "Your email"

        因为Git是分布式版本控制工具,所以每个用户都需要有自己的名字和邮箱。

        --global参数,表示该分支上的所有Git仓库都使用这个配置。

(3)查看配置信息

# 查看已有配置信息
git config --list
# 单独查看某项配置信息
git config user.name
……

二、基础操作指令

0.工作流程&状态变化图

(1)clone(克隆):从远程仓库中克隆代码到本地仓库;

(2)checkout(检出):从本地仓库中检出一个仓库分支,然后进行修订;

(3)add(添加):将代码从工作区添加到暂存区;

(4)commit(提交):将代码提交到本地仓库;本地仓库保存修改的各个历史版本;

(5)fetch(抓取):从远程仓库抓取到本地仓库,不进行任何的合并操作;

(6)pull(拉取):从远程仓库拉到本地仓库,自动进行合并(merge),然后放到工作区,相当于fetch+merge;

(7)push(推送):修改完成后,需要与团队成员共享代码时,将代码推送到远程仓库。

1.查看修改状态(status)

(1)作用:查看文件修改状态

(2)命令形式:git status

2.添加工作区到暂存区(add)

(1)作用:添加工作区中一个或多个文件的修改到到暂存区

(2)命令形式:git add 单个文件名或通配符

3.提交暂存区到本地仓库(commit)

(1)作用:将暂存区内容提交到本地仓库的当前分支

(2)命令形式:git commit -m "备注信息"

4.查看提交日志(log)

(1)作用:查看提交记录

(2)命令形式:git log [option]

        --all:显示所有分支

        --pretty=online:将提交信息显示为一行

        --abbrev-commit:使输出记录更加简短

        --graph:以图的形式显示

5.版本回退

(1)作用:版本切换

(2)命令形式:git reset --hard commit_Id

注:commit_Id可以使用git-log或git log指令查看

(3)如何查看已删除的记录?

git reflog:可以看到已经删除的提交记录

6. 添加文件至忽略列表

(1)作用:将不需要被git管理的文件自动忽略

(2)方法:创建.gitignore文件,在文件中写入需要被忽略的文件

7.自定义命令别名

(1)在电脑用户目录下创建“.bashrc”文件

(2)在文件中自定义别名,格式如下:

        alias 自定义命令名='原始命令'

三、分支常用指令

1. 查看分支

命令:git branch

2.创建本地分支

命令:git branch 分支名

3.切换分支

命令:git checkout 分支名

创建并切换:git checkout -b 分支名

4.合并分支

命令:git merge 分支名

作用:将其他分支上的提交,合并到当前分支上

5.删除分支

命令:git branch -d/D 分支名

-d:删除分支时,需要做各种检查

-D:不做任何检查,强制删除

注意:不能删除当前分支,只能删除其他分支。

6.分支合并冲突解决

        两个分支上对同一个文件的修改可能存在冲突,比如他们同时修改了同一行,这时在合并时就会导致冲突发生,需要手动解决:

(1)找到文件中冲突的位置;

(2)将冲突内容修改为我们希望合并后的样子;

修改为我们希望合并后的样子:

(3)将解决完冲突后的文件加入暂存区;

(4)提交文件到仓库;

四、分支使用原则与流程

        几乎所有的版本控制系统都以某种形式支持分支,使用分支可以让我们把自己的工作从开发主线上分离开来,进行bug修复、新功能开发等,避免影响开发主线。

        在开发中,一般有如下分支使用原则和流程:

        (1)master(生产)分支:线上分支、主分支,中小规模项目作为线上运行的应用对应的分支。

        (2)develop(开发)分支:从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本中进行开发,阶段开发完毕后,需要合并到master分支中准备上线。

        (3)feature/xxxx分支:从develop创建的分支,一般用于同期并行开发,但不同期上线时创建的分支,该分支上的研发任务完成后合并到develop分支。

        (4)hotfix/xxxx分支:从master上派生的分支,一般用于线上bug修复,修复完成后合并到master、test、develop分支。

        (5)test分支:用于代码测试……

        (6)pre分支:预上线分支……

        ……

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

02-分组查询group by和having的使用

分组查询 MySQL中默认是对整张表的数据进行操作即整张表为一组, 如果想对每一组的数据进行操作,这个时候我们需要使用分组查询 分组函数的执行顺序: 先根据where条件筛选数据,然后对查询到的数据进行分组,最后也可以采用having关键字过滤取得正确的数据 group by子句 在一条…

【STM32】STM32学习笔记-EXTI外部中断(11)

00. 目录 文章目录 00. 目录01. 中断系统02. 中断执行流程03. STM32中断04. NVIC基本结构05. NVIC优先级分组06. EXTI简介07. EXTI基本结构08. AFIO复用IO口09. EXTI框图10. 计数器模块11. 旋转编码器简介12. 附录 01. 中断系统 中断:在主程序运行过程中&#xff0…

easy贪吃蛇

之前承诺给出一个贪吃蛇项目。 1.EasyX库认知 有关EasyX库的相关信息,您可以看一下官方的文档:EasyX官方文档。 这里我做几点总结: EasyX库就和名字一样,可以让用户调用一些简单的函数来绘制图像和几何图形利用EasyX库可以制作…

ES6 面试题 | 15.精选 ES6 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

知识付费平台选择指南:如何找到最适合你的学习平台?

在当今的知识付费市场中,用户面临的选择越来越多,如何从众多知识付费平台中正确选择属于自己的平台呢?下面,我们将为您介绍我有才知识付费平台相比同行的优势,帮助您做出明智的选择。 一、创新的技术架构,…

3.3【窗口】窗口的几何形状(二,窗口属性)

写在前面 应用程序使用窗口来显示内容。一些属性决定了窗口及其内容的大小和位置。其他属性决定了窗口内容的外观和解释。 了解窗口属性引用的两个坐标系非常重要。如果你知道你正在使用的坐标系,那么为你的窗口属性选择设置值会容易得多,并且会更有意义。 一,显示相关属…

【CMU 15-445】Lecture 11: Joins Algorithms 学习笔记

Joins Algorithms Nested Loop JoinNaive Nested Loop JoinBLock Nested Loop JoinIndex Nested Loop Join Sort-Merge JoinHash JoinBasic Hash JoinPartitioned Hash Join Conclusion 本节课主要介绍的是数据库系统中的一些Join算法 Nested Loop Join Naive Nested Loop Joi…

华媒舍:打造出色科普文章的10步路透社发稿手册

1.科普文章的编写是一项让科技知识更为浅显易懂重要工作。下面我们就详细介绍路透社的发稿手册,带来了好用的流程,协助作者从零开始创作出色的科普文章。 2.明确主题风格在创作科普文章以前,首先要明确要介绍的主题风格。选择一个有趣且适合…

verilog语法进阶,时钟原语

概述: 内容 1. 时钟缓冲 2. 输入时钟缓冲 3. ODDR2作为输出时钟缓冲 1. 输入时钟缓冲 BUFGP verilog c代码,clk作为触发器的边沿触发,会自动将clk综合成时钟信号。 module primitive1(input clk,input a,output reg y); always (posed…

【C++11特性篇】探究【右值引用(移动语义)】是如何大大提高效率?——对比【拷贝构造&左值引用】

前言 大家好吖,欢迎来到 YY 滴C11系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.【左值&左值引用】和【右值&a…

Leetcode 删除有序数组中的重复项

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成 示例 1: 输入&…

超声波清洗机哪个好?怎么样挑选清洗力比较强超声波清洗机

大部分的年轻人,现在因为各种原因,戴眼镜的人群不再是局限于学生,很多打工族或者是老人也戴上了眼镜,近视眼或者是老花眼都有。戴眼镜的人群越来越多,会有很多人忽视眼镜清洗这个事情,眼镜长时间不清洗的话…

多层记忆增强外观-运动对齐框架用于视频异常检测 论文阅读

MULTI-LEVEL MEMORY-AUGMENTED APPEARANCE-MOTION CORRESPONDENCE FRAMEWORK FOR VIDEO ANOMALY DETECTION 论文阅读 摘要1.介绍2.方法2.1外观和运动对其建模2.2.记忆引导抑制模块2.3. Training Loss2.4. Anomaly Detection 3.实验与结果4.结论 论文标题:MULTI-LEVE…

云渲染技术下的虚拟现实:技术探索与革新思考

虚拟现实(含增强现实、混合现实)是新一代信息技术的重要前沿方向,是数字经济的重大前瞻领域,将深刻改变人类的生产生活方式,产业发展战略窗口期已然形成。但是虚拟现实想要深入改变影响我们的生活,以下技术…

PyQt6 QToolBar工具栏控件

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计44条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

【QT】时间日期与定时器

目录 1.时间日期相关的类 2.日期时间数据与字符串之间的转换 2.1 时间、日期编辑器属性设置 2.2 日期时间数据的获取与转换为字符串 2.3 字符串转换为日期时间 3.QCaIendarWidget日历组件 3.1基本属性 3.2 公共函数 3.3 信号 4.实例程序演示时间日期与定时器的使用 …

Linux c++开发-06-使用Linux API 进行文件的读写

先简单的介绍一下open,read,write 先用open接口去打开文件,flag表示打开文件的权限不同。 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);示例 结果:

学习MS Dynamics AX 2012编程开发 2. X++语言

X是用于构建Dynamics AX功能的编程语言。X是一种与C类似的面向对象编程语言。 完成本章后,您将能够理解X语言;您将知道可用的数据类型是什么,如何创建各种循环,如何比较和操作变量,在哪里可以找到预定义的函数&#x…

TypeScript编译环境配置

TypeScript 安装和配置 全局安装TypeScript语言的编辑器npm i -g typescript用vscode打开项目文件夹,右键选择在终端中打开,在终端中输入tsc -int // tsc是ts语言的编译器,c是compile的意思 ,编译结果:在当前项目文件…

Java与前端:风云变幻的技术之路

前言 近日,有关“Java已死、前端已凉”的言论在IT圈内流传甚广,引起了广泛关注和讨论。这究竟是真相还是一场对技术人员的焦虑贩卖呢?让我们一同探讨这场技术风暴带来的变化与机遇,并分享一些实用的建议。 一、技术变革的常态 …