Git教程

本文介绍了Git的基本概念,包括分布式版本控制的特点、工作区、暂存区和Git仓库的区分,以及如何安装配置Git、进行基本操作如添加文件、提交更改、撤销修改、忽略文件和查看提交历史。

01 Git基本概念

分布式版本控制系统

特点:基于服务器、客户端的运行模式

  • 服务器保存文件的所有更新版本
  • 客户端是服务器的完整备份,并不是只保留文件的最新版本

优点:

  • 联网运行,支持多人协作开发
  • 客户端断网后支持离线本地提交版本更新
  • 服务器故障或损坏后,可使用任何一个客户端的备份进行恢复 

Git 是一个开源的分布式版本控制系统

Git 中的三个区域:

使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库

Git 中的三种状态:

已修改 modified:表示修改了文件,但还没将修改的结果放到暂存区

已暂存 staged:表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表中

已提交 committed:表示文件已经安全地保存在本地的 Git 仓库中

02 安装并配置Git

安装:Git - Downloads 

配置用户信息:

git config --global user.name "Bobi"

git config --global user.email "88888888@qq.com"

检查配置信息:

查看所有的全局配置项

git config --list --global

查看指定的全局配置项:

git config user.name 

git config user.email

获取帮助信息 :

git --help config 

git config -h

03 Git的基本操作

在现有目录中初始化仓库 :

  1. 在项目目录中,通过鼠标右键打开“Git Bash”
  2. 执行 git init 命令将当前的目录转化为 Git 仓库

检查文件的状态:

git status 

git status -s (以精简的方式查看)

git status --short

?? 表示文件未被跟踪

A 表示文件已暂存

M 表示修改过的、未暂存的文件

M 表示已修改、已暂存

工作区中文件的 4 种状态 :

跟踪新文件、暂存已修改的文件: 

git add index.html

git add 命令还可以把有冲突的文件标记为已解决状态

提交更新:

git commit -m "对提交的内容做描述" 

撤销对文件的修改: 

git checkout -- index.html

此操作无法恢复,危险性较高,谨慎操作!! 

向暂存区中一次性添加多个文件:

git add .

取消暂存的文件:

git reset HEAD 要移除的文件名

跳过使用暂存区域直接提交: 

git committed -a -m "对提交的内容做描述" 

移除文件 : 

从 Git 仓库和工作区中同时移除对应的文件 :

git rm -f index.html

只从 Git 仓库中移除指定的文件,但保留工作区中对应的文件 

git rm --cached  index.html

忽略文件: 

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 在这种情况下,我们可以创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式。

文件 .gitignore 的格式规范如下:

  1. 以 # 开头的是注释
  2. 以 / 结尾的是目录
  3. 以 / 开头防止递归
  4. 以 ! 开头表示取反
  5. 可以使用 glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)

glob 模式 

glob 模式是指简化了的正则表达式:  

  • 星号 * 匹配零个或多个任意字符  
  • [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)  
  • 问号 ? 只匹配一个任意字符  
  • 在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)  
  • 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等) 

 .gitignore 文件的例子

查看提交历史: 

ps. 使用 git log 之后可以用"Q"来离开

回退到指定的版本:

### Git 入门教程与使用指南 Git 是一个分布式版本控制系统,广泛用于软件开发中,帮助开发者管理代码的变更历史、协作开发以及维护多个版本的代码库。以下是 Git 的基本使用和操作指南,适合初学者快速上手。 #### 1. Git 的安装与配置 在使用 Git 之前,需要先在本地环境中安装 Git。安装完成后,建议配置全局用户名和邮箱,以便在提交代码时记录作者信息。 ```bash # 配置全局用户名 git config --global user.name "YourName" # 配置全局邮箱 git config --global user.email "your.email@example.com" ``` 这些信息会记录在每次提交中,确保团队协作时可以追溯代码的来源[^1]。 #### 2. 初始化本地仓库 创建一个新的 Git 仓库可以通过 `git init` 命令完成。该命令会在当前目录下生成一个 `.git` 子目录,用于存储版本控制数据。 ```bash # 初始化一个新的 Git 仓库 git init ``` #### 3. 克隆远程仓库 如果已有远程仓库(如 GitHub、GitLab 或公司内部 Git 服务器),可以使用 `git clone` 命令将远程仓库复制到本地。 ```bash # 克隆远程仓库到本地 git clone https://git.code.tencent.com/git-class-001/git-test.git ``` 克隆完成后,会在本地生成一个与远程仓库完全相同的副本,开发者可以在本地进行修改和提交[^2]。 #### 4. 查看仓库状态与提交历史 在进行提交或修改之前,建议使用 `git status` 查看当前分支的状态,了解哪些文件已被修改但尚未提交。 ```bash # 查看当前分支状态 git status ``` 如果需要查看提交历史,可以使用 `git log` 命令: ```bash # 查看提交历史 git log ``` 在查看提交历史时,可以使用键盘上的方向键滚动,按 `Q` 键退出查看模式。 #### 5. 添加与提交更改 在修改文件后,需要将更改添加到暂存区,然后进行提交。 ```bash # 添加所有修改到暂存区 git add . # 提交更改并添加提交信息 git commit -m "描述本次提交的内容" ``` 提交信息应简明扼要,说明本次提交的目的或修改的内容,便于后续查看和理解。 #### 6. 推送更改到远程仓库 提交完成后,可以将本地的更改推送到远程仓库,以便其他开发者同步更新。 ```bash # 推送本地提交到远程仓库 git push origin main ``` 其中 `origin` 是远程仓库的默认名称,`main` 是默认的主分支名称。如果使用其他分支,需替换为对应的分支名。 #### 7. 分支管理 Git 支持创建多个分支,便于并行开发和版本管理。常用的分支操作包括创建、切换、合并和删除分支。 ```bash # 创建新分支 git branch feature-branch # 切换到指定分支 git checkout feature-branch # 创建并切换到新分支(简化命令) git checkout -b feature-branch # 查看所有分支 git branch # 合并指定分支到当前分支 git merge feature-branch # 删除分支 git branch -d feature-branch ``` 分支管理是 Git 的核心功能之一,合理使用分支可以有效组织开发流程,避免主分支的不稳定状态[^3]。 #### 8. 使用 Git Rebase 整理提交历史 除了 `git merge`,还可以使用 `git rebase` 来整合分支的提交历史。`git rebase` 可以将一个分支的更改“移植”到另一个分支上,使提交历史更加线性、清晰。 ```bash # 切换到要 rebase 的分支 git checkout feature-branch # 将 feature-branch 的提交基于 main 分支进行 rebase git rebase main ``` 在 rebase 过程中可能会遇到冲突,需要手动解决冲突后继续 rebase 操作。 #### 9. 解决冲突 当多人同时修改了同一个文件的相同部分时,Git 会提示冲突。冲突文件中会标记冲突区域,开发者需要手动编辑文件,选择保留的代码。 ```bash # 冲突解决后标记为已解决 git add <filename> # 继续 rebase 或 merge 操作 git rebase --continue ``` #### 10. 常用命令总结 | 操作 | 命令示例 | |--------------------------|---------------------------------------| | 初始化仓库 | `git init` | | 克隆远程仓库 | `git clone <仓库地址>` | | 查看状态 | `git status` | | 查看提交历史 | `git log` | | 添加修改到暂存区 | `git add .` | | 提交更改 | `git commit -m "提交信息"` | | 推送更改 | `git push origin <分支名>` | | 创建分支 | `git branch <分支名>` | | 切换分支 | `git checkout <分支名>` | | 创建并切换分支 | `git checkout -b <分支名>` | | 合并分支 | `git merge <分支名>` | | 删除分支 | `git branch -d <分支名>` | | Rebase 操作 | `git rebase <目标分支>` | | 解决冲突后继续 Rebase | `git rebase --continue` | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值