新手入门:Git 初次配置与 Gitee 仓库操作全指南 —— 从环境搭建到代码推送一步到位
作为一名开发新手,第一次使用 Git 连接远程仓库时总会遇到各种疑问:如何配置身份信息?SSH 密钥有什么用?git clone
和 git pull
有什么区别?本文将以 Gitee 为例,手把手教你完成从 Git 初始配置到拉取、推送代码的全过程。
零、Gitee仓库的创建
1、下面是我在gitee创建仓库的配置
git Bash环境配置首先配置用户信息(确保与 Gitee 账号一致):
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱地址"
克隆仓库推荐使用 SSH 地址(需提前配置 SSH 密钥):
git clone git@gitee.com:ruice/gitpractice.git
如果尚未配置 SSH 密钥,可以先使用 HTTPS 地址克隆:
git clone https://gitee.com/ruice/gitpractice.git
添加完成后,在终端执行以下命令测试连接:
bash
ssh -T git@gitee.com
Git 核心概念与操作全指南(含工作区、暂存区、版本库详解)
一、Git 安装准备
首先确保你的电脑已经安装了 Git 客户端:
- Windows 系统:从 Git 官网 下载安装包,安装时保持默认选项即可
- macOS 系统:使用 Homebrew 安装
brew install git
- Linux 系统:使用
sudo apt-get install git
(Debian/Ubuntu) 或sudo yum install git
(CentOS)
安装完成后,打开终端(Windows 用 Git Bash),输入 git --version
验证是否安装成功。
二、配置 Git 全局身份信息
为了让 Gitee 正确识别你的提交身份,需配置用户名和邮箱(这一步非常重要):
# 配置用户名(建议与 Gitee 用户名一致)
git config --global user.name "ruice"
# 配置邮箱(建议与 Gitee 绑定邮箱一致)
git config --global user.email "1339562872@qq.com"
--global
表示全局配置,所有本地仓库默认使用该身份- 若需为单个仓库配置不同身份,进入仓库目录后不加
--global
执行命令即可
查看配置是否生效:
git config --global --list
三、Git 三个核心区域详解
Git 中文件的状态流转依赖三个核心区域,理解它们是掌握 Git 操作的基础:
1. 工作区(Working Directory)
- 定义:你在电脑中能看到的项目目录,所有文件的实时修改都发生在这里。
- 状态:
- 未跟踪(Untracked):新创建的文件,Git 从未记录过(如刚新建的
test.txt
)。 - 已修改(Modified):之前被 Git 跟踪过,但内容有更新(如修改已提交过的
index.html
)。
- 未跟踪(Untracked):新创建的文件,Git 从未记录过(如刚新建的
- 特点:工作区的修改不会自动被 Git 记录,需手动执行命令提交到暂存区。
2. 暂存区(Staging Area / Index)
- 定义:一个临时存储区域(位于
.git/index
文件中),用于存放「即将提交到版本库」的变更。 - 作用:相当于「提交缓冲区」,可精确控制某次提交包含哪些文件的修改(例如只提交部分文件的更新)。
- 常用操作:
git add <文件>
:将工作区的修改添加到暂存区(未跟踪文件变为「已跟踪」,已修改文件更新暂存记录)。git reset HEAD <文件>
:将暂存区的文件移除,回到工作区的「已修改」状态(撤销暂存)。
- 注意:暂存区存储的是「快照」,若
git add
后再次修改工作区文件,暂存区不会自动更新,需重新git add
才能记录新修改。
3. 版本库(Repository)
- 定义:Git 真正存储版本历史的地方(位于
.git
目录中),包含所有提交记录、分支信息、标签等。 - 状态:文件以「已提交(Committed)」状态存在,是 Git 安全存储的版本快照(不可修改)。
- 操作:通过
git commit -m "提交说明"
将暂存区的所有内容提交到版本库,生成一条包含作者、时间、修改内容的永久记录。
四、区域流转关系与示例
流转流程
工作区(修改文件) → git add → 暂存区(暂存修改) → git commit → 版本库(保存版本)
↓(撤销暂存)
git reset HEAD <文件>
常见场景示例
-
新建文件:
a.txt
刚创建时在工作区(未跟踪)→git add a.txt
后进入暂存区 →git commit
后进入版本库(已提交)。 -
修改已跟踪文件:
工作区修改b.txt
(变为「已修改」)→git add b.txt
后暂存区更新为最新版本 →git commit
后版本库记录新状态。 -
撤销暂存:
误将c.txt
加入暂存区 → 执行git reset HEAD c.txt
→c.txt
回到工作区(保留修改,但暂存区不再包含该文件)。
五、配置 SSH 密钥(推荐方式)
SSH 密钥可实现连接 Gitee 时免输入账号密码,既安全又便捷。
1. 生成 SSH 密钥
在终端输入以下命令,连续按三次回车使用默认设置:
ssh-keygen -t rsa -C "1339562872@qq.com"
- 提示「保存路径」:默认路径(
~/.ssh/id_rsa
)即可 - 提示「设置密码」:直接跳过(无需密码更方便)
- 提示「确认密码」:再次回车完成生成
2. 查看并复制公钥
- Windows/macOS/Linux 系统通用命令:
复制输出的完整内容(从cat ~/.ssh/id_rsa.pub
ssh-rsa
开始到13395@ruice
结束)。
3. 在 Gitee 中添加公钥
- 登录 Gitee,进入「个人设置」→「SSH 公钥」
- 粘贴公钥内容,设置标题(如 “My Laptop”)
- 点击「确定」完成添加
4. 验证 SSH 连接
ssh -T git@gitee.com
成功会显示:Hi ruice! You've successfully authenticated...
六、克隆远程仓库到本地
克隆(clone
)是将远程仓库完整下载到本地的操作(仅需执行一次)。
以仓库 gitpractice
为例:
# SSH 方式(推荐,需提前配置 SSH 密钥)
git clone git@gitee.com:ruice/gitpractice.git
# HTTPS 方式(备用,需输入账号密码)
git clone https://gitee.com/ruice/gitpractice.git
克隆成功后,本地会生成 gitpractice
文件夹(包含远程仓库所有内容),且自动关联远程仓库(别名为 origin
)。
注意:查看关联信息的正确方式
克隆后需进入仓库目录才能看到关联信息:
cd gitpractice # 进入克隆生成的文件夹
git remote -v # 查看远程仓库关联
输出示例:
origin git@gitee.com:ruice/gitpractice.git (fetch)
origin git@gitee.com:ruice/gitpractice.git (push)
七、关联远程仓库(手动配置场景)
若本地仓库是通过 git init
创建(非克隆),需手动关联远程仓库:
1. 首次关联
git remote add origin git@gitee.com:ruice/gitpractice.git
说明:
<远程仓库别名>:通常默认用 origin(可自定义,如 github、gitee),后续操作(如 git push origin)会用到。
<远程仓库URL>:远程仓库的地址,支持 HTTPS 或 SSH 两种格式(推荐 SSH,免重复输入密码)。
执行后,再次运行 git remote -v,会显示已关联的远程仓库信息,例如:
2. 修改远程仓库地址
git remote set-url origin 新的远程仓库地址
3. 删除远程关联
git remote remove origin
八、拉取远程仓库更新
当远程仓库有新提交时,需同步到本地,常用命令如下:
1. git pull
(推荐新手)
自动获取远程更新并合并到本地分支:
# 进入仓库目录
cd gitpractice
# 拉取 origin 远程的 master 分支更新
git pull origin master
2. git fetch
(进阶用法)
仅获取远程更新,需手动合并(更灵活):
# 获取远程更新
git fetch origin
# 查看更新内容
git log origin/master
# 合并到本地分支
git merge origin/master
3. 拉取命令区别
git clone
:首次完整下载远程仓库(仅一次)git pull
:拉取更新并自动合并(日常常用)git fetch
:拉取更新但不合并(需手动操作)
九、推送本地代码到远程仓库
本地修改后,推送步骤如下(结合核心区域流转):
-
查看修改状态(工作区变化):
git status
-
添加修改到暂存区:
git add . # 添加所有修改 # 或 git add 文件名 # 添加指定文件
-
提交到本地版本库:
git commit -m "提交说明(如:修复登录bug)"
-
推送到远程仓库:
# 首次推送,关联分支(后续可简化为 git push) git push -u origin master
-u
:关联本地与远程分支master
:分支名(若默认分支为main
则替换)- git push --set-upstream origin master(关联分支完整操作)
十、HTTPS 与 SSH 方式的区别
方式 | 优点 | 缺点 |
---|---|---|
HTTPS | 配置简单,无需额外设置 | 每次推送可能需要输入账号密码(可配置缓存) |
SSH | 配置后无需重复验证,更安全 | 需要提前配置 SSH 密钥 |
推荐使用 SSH 方式,一次配置长期受益。
十一、总结
本文涵盖 Git 核心原理与 Gitee 协作流程:
- 理解三个核心区域:工作区(实时修改)→ 暂存区(临时缓冲)→ 版本库(永久存储)。
- 掌握基础操作链:
git add
(工作区→暂存区)→git commit
(暂存区→版本库)→git push
(本地→远程)。 - 熟练远程协作:克隆仓库、拉取更新、推送修改,结合 SSH 密钥实现免密操作。
理解区域流转逻辑是掌握 Git 的关键,后续可逐步探索分支、标签等进阶功能。