Git 常用知识点总结
Git 是一款强大的分布式版本控制系统,以下是其常用知识点总结:
一、基础概念
- 仓库(Repository):存储项目代码和版本历史的地方,分为本地仓库(本地目录)和远程仓库(如 GitHub、GitLab 等)。
- 工作区(Working Directory):当前编辑的文件目录,是代码的实际工作区域。
- 暂存区(Staging Area) :临时存放待提交的修改,介于工作区和本地仓库之间,通过
git add命令将工作区修改添加到此处。 - 版本库(Local Repository) :存储所有提交的版本历史,通过
git commit将暂存区内容提交到这里。
二、常用命令
0. 初始化与配置
设置全局用户名和邮箱:
git config --global user.name "Your Name"
- git config --global user.email "your.email@example.com"
查看当前配置:
git config --list
1. 仓库初始化与克隆
git init:在当前目录初始化一个新的本地仓库。git clone <远程仓库地址>:克隆远程仓库到本地(会创建一个与仓库同名的目录)。
2. 查看状态与差异
git status:查看工作区、暂存区的状态(哪些文件被修改、新增或删除)。git diff:查看工作区与暂存区之间的文件差异。git diff --staged:查看暂存区与本地仓库最新版本的差异。
3. 暂存与提交
git add <文件名>:将指定文件的修改添加到暂存区;git add .或git add -A添加所有修改。git commit -m "提交说明":将暂存区的内容提交到本地仓库,-m后跟提交信息(需清晰描述修改内容)。git commit --amend:修改最近一次的提交信息(若提交后发现信息有误)。
4. 分支操作
git branch:查看本地所有分支(当前分支前有*标记)。git branch <分支名>:创建新分支。git checkout <分支名>:切换到指定分支;git switch <分支名>(Git 2.23+ 新增,更直观)。git checkout -b <分支名>或git switch -c <分支名>:创建并切换到新分支。git merge <分支名>:将指定分支的代码合并到当前分支(需先切换到目标分支)。git branch -d <分支名>:删除已合并的本地分支;-D强制删除未合并的分支。git push origin --delete <分支名>:删除远程分支。
5. 远程仓库交互
git remote:查看已配置的远程仓库;git remote -v显示详细地址。git remote add <远程名> <地址>:添加远程仓库(通常远程名用origin)。git push <远程名> <分支名>:将本地分支推送到远程仓库(首次推送可加-u关联,后续直接git push)。git pull <远程名> <分支名>:拉取远程分支的最新代码并合并到本地当前分支(等价于git fetch + git merge)。git fetch <远程名>:获取远程仓库的最新更新(不合并,需手动git merge)。
6. 版本回退与撤销
git log:查看提交历史(--oneline简化显示)。git reset --hard <提交ID>:将本地仓库回退到指定版本(工作区和暂存区也会同步修改,慎用)。git revert <提交ID>:创建一个新的提交,抵消指定提交的修改(安全,不改变历史)。git restore <文件名>:撤销工作区的修改(未add的文件)。git restore --staged <文件名>:将暂存区的修改撤销回工作区(已add但未commit的文件)。
7. 其他常用
git stash:将工作区未提交的修改暂存起来(用于临时切换分支)。git stash pop:恢复最近一次stash的内容,并删除该记录。git stash list:查看所有暂存的stash记录。git tag <标签名>:给当前版本打标签(用于标记发布版本,如v1.0)。git tag:查看所有标签;git push origin <标签名>推送标签到远程。
三、工作流建议
- 通常使用
main/master作为主分支,保持稳定可发布状态。 - 开发新功能时,从主分支创建新分支(如
feature/xxx),完成后合并回主分支。 - 修复bug时,从主分支创建
bugfix/xxx分支,修复后合并。 - 提交信息需清晰(如
feat: 新增登录功能、fix: 修复表单验证bug),便于追溯。
掌握这些知识点,可满足日常开发中的版本管理需求,复杂场景可进一步学习 Git 的高级功能(如变基 rebase、冲突解决等)。
Git 下载安装、密钥生成与绑定指南(以 GitHub 为例)
一、Git 下载与安装
1. 下载 Git
- Windows 系统 :
访问 Git 官方网站,根据系统位数(32位/64位)下载对应安装包。 - macOS 系统 :
- 方式1:通过 Git 官方网站 下载安装包。
- 方式2:使用包管理工具 Homebrew,终端执行
brew install git。
- Linux 系统 :
- Debian/Ubuntu 系列:终端执行
sudo apt-get install git。 - CentOS/RHEL 系列:终端执行
sudo yum install git。
- Debian/Ubuntu 系列:终端执行
2. 安装 Git
- Windows 系统 :
双击下载的安装包,按默认选项一路点击"Next"即可(建议勾选"Add Git to PATH",方便终端调用)。 - macOS/Linux 系统 :
下载的安装包双击后按提示完成安装;通过包管理工具安装的无需额外操作。
3. 验证安装
打开终端(Windows 用 Git Bash 或 cmd,macOS/Linux 用终端),执行 git --version,若显示版本号(如 git version 2.40.1),则安装成功。
二、SSH 密钥生成
1. 检查是否已有密钥
终端执行以下命令,查看是否存在已生成的 SSH 密钥:
bash
ls -la ~/.ssh
若显示 id_rsa(私钥)和 id_rsa.pub(公钥),则可直接使用,无需重复生成。
2. 生成新密钥
若没有密钥或需新建,执行以下命令:
bash
ssh-keygen -t rsa -C "你的邮箱地址(如 xxx@example.com)"
- 提示"Enter file in which to save the key"时,按回车使用默认路径(
~/.ssh/id_rsa)。 - 提示"Enter passphrase"时,可设置密钥密码(增强安全性,回车则无密码),后续操作需输入该密码。
- 再次确认密码后,密钥生成成功,会显示密钥保存路径和指纹信息。
3. 查看公钥内容
生成后,通过以下命令查看公钥内容(需复制用于后续绑定):
bash
cat ~/.ssh/id_rsa.pub
输出内容类似:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... 你的邮箱,全选复制该内容。
三、SSH 密钥与远程仓库绑定
1. 登录远程仓库
打开 GitHub 官网,登录你的账号。
2. 进入密钥设置页面
- 点击右上角头像,选择 "Settings"。
- 在左侧菜单中找到 "SSH and GPG keys",点击进入。
3. 添加新密钥
- 点击 "New SSH key" 按钮。
- 在 "Title" 栏填写密钥名称(如"我的笔记本电脑",便于区分设备)。
- 在 "Key" 栏粘贴之前复制的公钥内容(确保无多余空格或换行)。
- 点击 "Add SSH key" 完成添加,若账号开启二次验证,需输入验证码确认。
4. 验证绑定是否成功
终端执行以下命令,测试与 GitHub 的连接:
bash
ssh -T git@github.com
- 首次连接会提示 "Are you sure you want to continue connecting",输入
yes回车。 - 若显示 "Hi 你的用户名! You've successfully authenticated...",则绑定成功。
补充说明
- 密钥绑定的作用:通过 SSH 协议与远程仓库交互(如
git clone、git push)时,无需每次输入账号密码,更安全高效。 - 不同远程仓库(如 GitLab、Gitee)的绑定步骤类似,均需在对应平台的"SSH 密钥"设置中添加公钥。
- 若更换设备或密钥丢失,需重新生成密钥并在远程仓库更新绑定。
- 如果使用gitee,可在添加秘钥处查看秘钥生成方案。