当前位置: 首页 > news >正文

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分支:预上线分支……

        ……

相关文章:

  • Spring boot+nacos+mysql通过修改配置密码自动刷新数据库连接
  • C++核心编程思路(1):①程序的内存模型②引用的作用
  • Debian系统设置SSH密钥登陆
  • 15 使用v-model绑定单选框
  • 基于Spring Boot 框架的试卷自动生成系统的设计与实现
  • C语言—每日选择题—Day52
  • EasyExcel合并相同内容单元格及动态标题功能的实现
  • 华为云CodeArts Pipeline常见问答汇总
  • 智能优化算法应用:基于学校优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【golang】go执行shell命令行的方法( exec.Command )
  • 机器人制作开源方案 | 智能落叶清扫机器人
  • 【unity实战】一个通用的FPS枪支不同武器射击控制脚本
  • 如何保证架构的质量
  • Android Uri scheme协议file转content
  • [最后一个月征稿、ACM独立出版】第三届密码学、网络安全和通信技术国际会议(CNSCT 2024)
  • 【刷算法】从上往下打印二叉树
  • es的写入过程
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js写一个简单的选项卡
  • leetcode98. Validate Binary Search Tree
  • Meteor的表单提交:Form
  • Mysql5.6主从复制
  • Object.assign方法不能实现深复制
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • 半理解系列--Promise的进化史
  • 分类模型——Logistics Regression
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 构建二叉树进行数值数组的去重及优化
  • 观察者模式实现非直接耦合
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 实现菜单下拉伸展折叠效果demo
  • 转载:[译] 内容加速黑科技趣谈
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #include到底该写在哪
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (区间dp) (经典例题) 石子合并
  • (四) Graphivz 颜色选择
  • (一)基于IDEA的JAVA基础12
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转) 深度模型优化性能 调参
  • (转)关于pipe()的详细解析
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET设计模式(11):组合模式(Composite Pattern)
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @EnableWebMvc介绍和使用详细demo
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [ 第一章] JavaScript 简史
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [04]Web前端进阶—JS伪数组