Git配置详解

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 一、Git介绍
    • 1. 本地版本控制系统
    • 2. 集中式版本控制系统
    • 3. 分布式版本控制系统
  • 二、Git配置
    • 1. Git配置工具config的介绍
      • 1.1 `/etc/gitconfig`文件
      • 1.2 `~/.gitconfig`或者`~/.config/git/config`文件:
      • 1.3 当前仓库的Git目录中的config文件(`.git/config`)
    • 2. 查看Git的配置信息
      • 2.1 查看Git配置文件及文件位置
      • 2.2 查看Git配置参数列表
    • 3. 配置Git的用户信息
      • 3.1 全局配置用户信息
      • 3.2 特定项目配置用户信息
      • 3.3 查看Git单一参数
    • 4. 配置Git界面颜色
    • 5. 配置Git忽略文件
      • 5.1 `.*`
      • 5.2 `*.class`
      • 5.3 `a.class`
      • 5.4 `!.*`
      • 5.5 `!*.class`
    • 6. 配置Git命令别名
      • 6.1 配置方式
      • 6.2 举例
      • 6.3 删除别名


Git相关文章参考:
Git学习和使用指南简单篇
Git学习和使用指南详细篇
Git命令汇总

一、Git介绍

常见的版本控制系统有:本地版本控制系统、集中式版本控制系统、分布式版本控制系统

1. 本地版本控制系统

复制整个项目目录作为版本控制文件
流行的本地版本控制系统如RCS
在硬盘上保存补丁集,每个补丁记录一个版本的变动

2. 集中式版本控制系统

英文Centalized Version Control System,简称CVCS,使用一个集中管理的服务器保存版本控制文件
优点是每个人都能看到别人做了什么修改
缺点是服务器一旦宕机就无法提交更新,若服务器磁盘未做备份,一旦损坏无法恢复
主流的集中式版本控制系统如:CVS、Subversion、Perforce

3. 分布式版本控制系统

Distributed Version Control System,简称DVCS,代码仓库和记录都会被镜像到本地,也就是服务器和本地都有备份项目代码和历史记录
优点是速度更快,协作更方便
主流的集中式版本控制系统如:Git、Mercurial、Bazaar、Darcs

二、Git配置

.gitignore文件中的语法:
#表示注释
*.class表示排除所有.class文件
!.class表示不排除.class文件
app.class表示排除app.class文件
!app.class表示不排除app.class文件

Git命令

1. Git配置工具config的介绍

git的外观和行为配置都使用git config工具来控制
外观和行为配置的变量存储在三个位置:/etc/gitconfig~/.gitconfig或者~/.config/git/config.git/config

1.1 /etc/gitconfig文件

存放系统上每一个用户及用户的仓库的通用配置
执行git config命令时带上–system选项就会读写该文件中的配置变量,但需要系统管理员权限

1.2 ~/.gitconfig或者~/.config/git/config文件:

该文件只配置用户参数,可通过–global选项让git强制读写该文件,会对系统所有仓库项目生效

1.3 当前仓库的Git目录中的config文件(.git/config

当前仓库的Git目录中的config文件(.git/config)
对当前仓库生效,进入某个git仓库后,默认情况下就会使用该文件,但可通过–local选项让git强制读写该文件

2. 查看Git的配置信息

2.1 查看Git配置文件及文件位置

查看配置文件及所在位置的命令

git config --list --show-origin

注意:
.git/config的配置会覆盖/etc/config的配置
在windows中查看配置文件和位置时,git会查找C:\Users$USER的.gitconfig文件
这里$USER是变量,对应的是你自己电脑的用户名

2.2 查看Git配置参数列表

查看Git配置参数列表,如账号名邮箱等的参数内容

git config --list

3. 配置Git的用户信息

3.1 全局配置用户信息

在机器的整个环境下所有项目都会使用这个用户信息提交代码
用户名配置,寒山是我自定义的用户名

git config --global user.name "寒山"

邮箱配置,hanshan@163.com是我自己的邮箱(假的,这名字被人取了)

git config --global user.email hanshan@163.com

3.2 特定项目配置用户信息

在某个项目下想使用单独的用户信息提交代码,可使用不带–global的命令配置用户信息
某个项目目录下配置用户名

git config user.name "hanshan"

某个项目目录下配置用户邮箱

git config user.email hanshan@163.com

3.3 查看Git单一参数

查看用户名

git config user.name

查看邮箱

git config user.email

等等

4. 配置Git界面颜色

git config --global color.ui true

5. 配置Git忽略文件

在提交时想忽略一些文件不提交,如密码等配置文件,可使用.gitignore文件配置
在git工作区的根目录即.git文件同级目录,创建.gitignore文件(正常在使用远程仓库时会自动生成)
在.gitignore文件中编写需要忽略的文件即可

忽略具体某个文件则只需在.gitignore文件中写该文件名即可
忽略某一类型的文件可使用*.类型的方式,如忽略.class结尾的文件可写成*.class

还有一种情况就是忽略某一类型文件后其中有一个文件不想忽略,则可将该文件卸载忽略文件中并加上!,如忽略.class结尾文件后不想忽略java.class文件,可以在.gitignore中写!java.class

忽略文件.gitignore语法

5.1 .*

.*表示忽略所有以.开头的文件

5.2 *.class

*.class表示忽略所有以.class结尾的文件

5.3 a.class

a.class表示忽略文件a.class

5.4 !.*

!.*表示不排除以.开头的文件

5.5 !*.class

!*.class表示不排除所有以.class结尾的文件

注意:
如果想强制添加被忽略的文件,执行时加-f参数强制执行即可

git add -f a.class				

检查忽略规则

git check-ignore

6. 配置Git命令别名

当使用git命令时,可以通过配置git命令别名来简写git命令
如git add .可换成git a .
git commit -am"" 可以换成git cm -am""
git pull 可以换成git pl
git push 可以换成git ps

6.1 配置方式

--global是配置全局,不加则只对当前用户
语法如下

git config --global alais.gitNewCommands 'git-origin-commands'

gitNewCommands表示新命令即别名
git-origin-commands表示原命令

6.2 举例

git config --global alais.a add
git config  --global alais.cm commit

当然除了单词的缩写,还可以将组合命令简写
如显示最后一次提交信息

git log -1
git config --global alais.last 'log -1'

后续即可使用git last相当于git log -1

6.3 删除别名

如何将配置的别名删除
全局配置文件的删除方法:
在.git/config文件中的alais部分是别名的配置参数,删除对应的别名即可
用户配置文件的删除方法:
当前用户的配置文件放在用户目录下的.gitconfig中,删除文件中对应的别名即可


感谢阅读,祝君暴富!

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

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

相关文章

js实现元素根据鼠标滚轮滚动向左右上下滑动着从模糊到清楚显示出来

html代码 <div ref{test} id"animatedElement" className"not-animated"> <div style{{width:"100px",height:"50px",backgroundColor:"red"}}> </div> </div> JS代码 const te…

用智能插件(Fitten Code: Faster and Better AI Assistant)修改好了可以持久保存的vue3留言板

天际 第一修改是选项式&#xff1a; <!-- 模板结构 --> <template><div><textarea placeholder"请输入备注内容" v-model"newItem"></textarea><button click"addItem">添加</button><hr><…

Vue2+Element 封装评论+表情功能

有需要的小伙伴直接拿代码即可&#xff0c;不需要下载依赖&#xff0c;目前是初始版本&#xff0c;后期会进行代码的优化。 评论组件如下&#xff1a; 创建 comment.vue 文件。 表情组件 VueEmoji.vue 在评论组件中使用。 <template><div class"comment"…

《主对角线求和》

描述 有一个n行n列的二维数组&#xff0c;请你求出二维数组的主对角线上的所有数字的和是多少。 输入描述 第一行一个整数n&#xff0c;代表下面输入的是n行n列(2≤n≤10)的二维数组&#xff1b; 接下来n行&#xff0c;每行n列&#xff0c;表示二维数组的每个元素各是多少。 …

数字孪生技术在管理中有哪些实际应用?

随着科学技术的不断提高&#xff0c;数字孪生技术也在不断的从理论应用至现实&#xff0c;并且涉及领域较为广泛。 在生产运营管理层面&#xff0c;通过构建数字孪生模型&#xff0c;企业可以精准模拟和优化生产线&#xff0c;实现生产流程的智能化和高效化。比如&#xff0c;…

TypeScript-搭建编译环境

搭建编译环境 TypeScript 编写的代码是无法直接在js引擎( 浏览器 / Nodejs )中运行的&#xff0c;最终还需要经过编译成js代码才可以正常运行 搭建手动编译环境 1️⃣ 全局安装 typescript 包&#xff08;编译引擎&#xff09; -> 注册 tsc 命令 npm i -g typescript 2…

下拉框操作/键鼠操作/文件上传

在我们做UI自动化测试的时候&#xff0c;会有一些元素需要特殊操作&#xff0c;比如下拉框操作/键鼠操作/文件上传。 下拉框操作 在我们很多页面里有下拉框的选择&#xff0c;这种元素怎么定位呢&#xff1f;下拉框分为两种类型&#xff1a;我们分别针对这两种元素进行定位和…

2024最新 Jenkins + Docker 实战教程(五)- 配置Gitee Webhooks实现自动构建部署

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Packet Tracer-HSRP+DHCPv4+VLAN间路由+以太通道综合实验

实验拓扑&#xff1a; 实验内容&#xff1a; VLAN及VLAN间路由的配置&#xff0c;以太通道的配置&#xff0c;STP的根调整&#xff0c;DHCPv4的配置&#xff0c;首跳冗余HSRP的配置。 实验最终结果&#xff1a; PC可以自动获取到DHCP-Server分配的IP地址&#xff0c;实现首跳…

【Sentinel】Sentinel配置zk持久化

代码 import cn.hutool.core.util.StrUtil; import com.alibaba.csp.sentinel.datasource.ReadableDataSource; import com.alibaba.csp.sentinel.datasource.zookeeper.ZookeeperDataSource; import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule; import com.a…

信息系统工程师--八大绩效域-交付绩效域

信息系统工程师的八大绩效域包括&#xff1a;干系人、团队、开发方法和生命周期、项目工作、规划、交付、度量、不确定性。 预期目标 1、项目有助于实现业务目标和战略 2、项目实现了预期成果 3、在预定时间内实现了项目收益 4、项目团队对需求有清晰的理解 5、干系人接受…

GitLab的原理及应用详解(五)

本系列文章简介: 随着软件开发的不断进步和发展,版本控制系统成为了现代软件开发过程中不可或缺的一部分。而GitLab作为其中一种流行的版本控制工具,在软件开发领域享有广泛的应用。GitLab不仅提供了强大的版本控制功能,还集成了项目管理、持续集成和部署、代码审查等多个功…

web学习笔记(五十七)

目录 1. 面试题总结 1.1 public和assets区别 1.2 vite的作用 1.3 vue单页面应用 1.4 组件分为两种类型&#xff1a; 1.5 App.vue文件 1.6 main.js 1.7 vue2中为什么不能直接监听到数组的改变&#xff1f; 2. .vue页面的组成 3. ref 响应式数据 1. 面试题总结 1.1…

Web3革命:探索科技与物联网的无限可能

引言 Web3时代正在悄然而至&#xff0c;带来了对互联网的彻底颠覆和改变。作为互联网的下一代&#xff0c;Web3不仅是技术革新的延续&#xff0c;更是对传统互联网模式的重新构想。在这个新时代&#xff0c;科技与物联网的结合将迎来无限的可能性&#xff0c;将探索到一片全新…

iOS系统故障怎么办?这三种苹果手机系统修复方法你一定要知道

随着苹果手机使用时间越长&#xff0c;苹果手机有时也会出现系统问题&#xff0c;如卡顿、崩溃、无法启动等。这些问题不仅影响用户的使用体验&#xff0c;还可能导致数据丢失。因此&#xff0c;掌握苹果手机系统修复方法显得尤为重要。本文将详细介绍苹果手机系统修复的常见方…

Leetcode 3153. Sum of Digit Differences of All Pairs

Leetcode 3153. Sum of Digit Differences of All Pairs 1. 解题思路2. 代码实现 题目链接&#xff1a;3153. Sum of Digit Differences of All Pairs 1. 解题思路 这一题的话只需要统计一下每一个位上0-9各自出现了多少次即可。 然后&#xff0c;对于每一位&#xff0c;答…

数仓领域,Serving 是什么概念?

在数据仓库&#xff08;Data Warehouse&#xff09;和更广泛的数据工程领域中&#xff0c;“Serving”通常指的是将处理和优化后的数据提供给最终用户或应用程序的过程。这包括数据的查询、检索、展示等操作&#xff0c;使得数据能够在决策支持、报告、分析、或机器学习等应用中…

大模型之Ollama:在本地机器上释放大型语言模型的强大功能

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

实战Java虚拟机-实战篇

一、内存调优 1.内存溢出和内存泄漏 内存泄漏&#xff08;memory leak&#xff09;&#xff1a;在Java中如果不再使用一个对象&#xff0c;但是该对象依然在GC ROOT的引用链上&#xff0c;这个对象就不会被垃圾回收器回收&#xff0c;这种情况就称之为内存泄漏。内存泄漏绝大…

一番赏小程序开发,为玩家带来线上抽赏魅力

随着人们对娱乐消费的增加&#xff0c;以及二次元文化的快速发展&#xff0c;以动漫IP为主的一番赏受到了越来越多的年轻人关注&#xff0c;一番赏市场迎来了黄金发展期&#xff01; 一番赏的运营模式是以“限量”为主&#xff0c;不管什么商品数量都是有限的&#xff0c;因此…