初识Git :版本控制的魔力

在我们实际开发中我们需要根据需求不断的对自己开发的项目进行修改,当想要追踪一个或者多个文件的历史记录的时候常常很难查找,于是就有了下面这种思路

这是过去我开发的一个基于openGl的小项目,由于不会Git,我选择随着功能的增加,创建一个又一个重复的项目,每次复制一次,再增加新的功能。然后过了很久以后一会发现内存变小了,命名也逐渐离谱,并不清楚每个版本的区别。若后面需要其他人协助完成就更麻烦了。这个时候版本控制就十分重要了。

一、什么是版本控制?

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

  • 实现跨区域多人协同开发
  • 追踪和记载一个或者多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 统计工作量
  • 并行开发、提高开发效率
  • 跟踪记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低人为错误

好,要想真正学会版本控制,把上面复杂的代码使用Git移植到GitHub上,我们得先了解一下Git,那么先来学习一下Git系统配置的常见命令

二、Git系统配置的常见命令

下面是一些关于Git系统配置的常见命令,这些命令用于设置Git的全局配置、用户信息、文本编辑器等。在使用这些命令时,你需要将 <配置选项><配置值> 替换为你的具体配置信息。

1. 配置用户名:

arduino 复制代码
git config --global user.name "<你的用户名>"

2. 配置用户邮箱地址:

arduino 复制代码
git config --global user.email "<你的邮箱地址>"

3. 配置文本编辑器(例如,使用VS Code):

css 复制代码
git config --global core.editor "code --wait"

4. 配置换行符处理(Windows系统通常需要配置):

arduino 复制代码
git config --global core.autocrlf true

5. 查看当前的Git配置:

lua 复制代码
git config --list

6. 获取特定配置项的值(例如,查看用户名):

arduino 复制代码
git config user.name

7. 配置默认合并工具(例如,使用VS Code的合并工具):

lua 复制代码
git config --global merge.tool vscode

8. macOS 下查看 Git 配置文件

Git 配置文件通常存储在用户的主目录下,名为 .gitconfig 的隐藏文件中。

(1)在终端中输入以下命令,然后按 Enter 键,这将切换到你的用户主目录。

bash 复制代码
cd ~

(2)输入以下命令来列出主目录中的所有文件,包括隐藏文件和文件夹,这将显示主目录中的所有文件和文件夹的列表,包括隐藏的。在列表中,你应该能够看到名为 .gitconfig 的文件。

bash 复制代码
ls -a

(3)打开 .gitconfig 文件:你可以使用 Vim 编辑器打开 .gitconfig 文件,命令如下:

复制代码
vim .gitconfig

9. 设置Git的默认分支名(例如,将默认分支名从master改为main):

csharp 复制代码
git config --global init.defaultBranch main
相关推荐
我是一只puppy15 分钟前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
玄同7651 小时前
Git常用命令指南
大数据·git·elasticsearch·gitee·github·团队开发·远程工作
十步杀一人_千里不留行4 小时前
Git提交前ESLint校验实践(Husky + lint-staged)
git·github
hh随便起个名7 小时前
适合小白的git的基础使用方法
git
我会一直在的8 小时前
Devps持续集成
git·ci/cd
CoderJia程序员甲9 小时前
GitHub 热榜项目 - 日榜(2026-02-08)
git·ai·开源·llm·github
Serene_Dream10 小时前
git 常用命令
git
jiayong2310 小时前
Detached HEAD 状态详解
git
李少兄19 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
先跑起来再说1 天前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea