新手入门:Git 初次配置与 Gitee 仓库操作全指南 —— 从环境搭建到代码推送一步到位

作为一名开发新手,第一次使用 Git 连接远程仓库时总会遇到各种疑问:如何配置身份信息?SSH 密钥有什么用?git clonegit pull 有什么区别?本文将以 Gitee 为例,手把手教你完成从 Git 初始配置到拉取、推送代码的全过程。

零、Gitee仓库的创建

1、下面是我在gitee创建仓库的配置

在这里插入图片描述
git Bash环境配置首先配置用户信息(确保与 Gitee 账号一致):

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱地址"

删除对应的配置命令为:

git config [--global] --unset user.name
git config [--global] --unset 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 安装与环境准备

1.1 安装 Git 客户端

根据操作系统选择对应安装方式,确保环境配置完整:

  • Windows 系统:从 Git 官网 下载安装包,安装时保持默认选项(自动配置 Git Bash、上下文菜单等)。
  • macOS 系统
    • 推荐方式:通过 Homebrew 安装,执行命令 brew install git
    • 备用方式:从 Git 官网下载 .dmg 安装包,双击完成安装。
  • Linux 系统
    • Debian/Ubuntu 系列:sudo apt-get install git
    • CentOS/RHEL 系列:sudo yum install git

1.2 验证安装结果

打开终端(Windows 系统使用 Git Bash,macOS/Linux 系统使用自带终端),输入以下命令查看 Git 版本,确认安装成功:

git --version

示例输出:

git version 2.45.1 (Apple Git-133)

1.3 配置全局身份信息

Git 需通过用户名和邮箱识别提交者身份,建议与 Gitee/GitHub 账号信息完全一致,避免提交记录身份混乱。

1.3.1 配置全局用户名

将命令中的 "ruice" 替换为你的实际用户名(如 Gitee 用户名):

git config --global user.name "ruice"
1.3.2 配置全局邮箱

将命令中的 "1339562872@qq.com" 替换为你的 Gitee/GitHub 绑定邮箱:

git config --global user.email "1339562872@qq.com"
1.3.3 配置说明
  • --global 参数:表示该配置为全局生效,所有本地新建的 Git 仓库默认使用此身份。
  • 单仓库自定义身份:若需为某个特定仓库配置不同身份,需先进入该仓库目录,再执行上述命令(删除 --global 参数)。
1.3.4 验证配置结果

执行以下命令查看当前全局配置,确认用户名和邮箱配置正确:

git config --global --list

示例输出:

user.name=ruice
user.email=1339562872@qq.com
1.3.5 快速配置
1.3.5.1 从命令行创建新仓库并推送到远程
# 创建并初始化 README 文件
echo "# newrepo" >> README.md

# 初始化本地 Git 仓库
git init

# 将 README.md 添加到暂存区
git add README.md

# 提交文件到本地仓库,添加提交信息
git commit -m "first commit"

# 关联远程仓库
git remote add origin https://gitee.com/ruice/gitpractice

# 推送本地分支到远程仓库,并设置上游关联
git push -u origin master
1.3.5.2 将已存在的本地仓库推送到远程
# 关联远程仓库
git remote add origin https://gitee.com/ruice/gitpractice

# 推送本地分支到远程仓库,并设置上游关联
git push -u origin master

说明:git push -u origin master 中的 -u 参数会建立本地 master 分支与远程 master 分支的关联,后续推送可直接使用 git push 简化操作。

二、Git 核心概念:三大区域详解

Git 通过「工作区→暂存区→版本库」的流转逻辑管理文件状态,理解这三个区域的功能和关系,是掌握 Git 操作的核心基础。

2.1 工作区(Working Directory)

  • 定义:电脑中可直接查看和操作的项目目录,所有文件的新建、修改、删除等操作均发生在此区域。
  • 核心状态
    • 未跟踪(Untracked):新创建的文件(如刚新建的 test.txt),Git 从未记录过该文件的任何版本。
    • 已修改(Modified):之前被 Git 跟踪过的文件(如已提交过的 index.html),内容被修改但未提交到暂存区。
  • 关键特点:工作区的修改不会自动被 Git 记录,需手动执行命令将修改提交到暂存区,才能进入 Git 的版本管理流程。

2.2 暂存区(Staging Area / Index)

  • 定义:位于项目根目录 .git 文件夹下的 index 文件,是临时存储「即将提交到版本库」变更的缓冲区。
  • 核心作用
    • 精确控制单次提交的文件范围(例如只提交部分修改的文件,忽略其他未完成的修改);
    • 避免误提交(先将修改暂存,确认无误后再提交到版本库)。
  • 常用操作命令
    # 1. 将工作区修改添加到暂存区
    git add 文件名          # 单个文件(例:git add test.txt,添加指定文件到暂存区)
    git add .              # 所有文件(添加当前目录及子目录的所有修改到暂存区)
    
    # 2. 撤销暂存(将暂存区的文件移除,放回工作区,保留文件修改)
    git reset HEAD 文件名   # 单个文件(例:git reset HEAD test.txt,撤销指定文件的暂存)
    git reset HEAD .       # 所有文件(撤销所有已暂存文件的暂存状态)
    
  • 注意事项:暂存区存储的是文件的「快照」,若执行 git add 后再次修改工作区文件,暂存区不会自动更新,需重新执行 git add 命令,才能将新的修改同步到暂存区。

2.3 版本库(Repository)

  • 定义:位于项目根目录的 .git 文件夹,是 Git 存储版本历史、分支、标签等核心数据的区域,也是 Git 版本管理的核心。
  • 核心状态:文件以「已提交(Committed)」状态存在,每个提交记录都是不可修改的版本快照,包含修改内容、作者、提交时间、提交说明等完整信息,确保历史记录可追溯。
  • 核心操作命令
    通过 git commit 命令将暂存区的所有内容提交到版本库,生成永久的版本记录:
    git commit -m "提交说明"  # 提交说明需简洁清晰,例:git commit -m "fix: 修复登录页面按钮点击无响应bug"
    

三、三大区域流转关系与实战示例

3.1 流转流程(核心逻辑)

工作区(新建/修改文件)
       ↓ (执行 git add,记录修改到暂存区)
暂存区(临时缓冲待提交内容)
       ↓ (执行 git reset HEAD <文件>,撤销暂存,回到工作区)
工作区(保留修改,重新调整)
       ↓ (执行 git commit,提交到版本库)
版本库(永久存储版本快照,生成历史记录)

3.2 常见场景实战演示

场景 1:新建文件并提交到版本库
# 1. 在工作区新建文件(此时文件处于「未跟踪」状态)
touch a.txt

# 2. 查看文件状态,确认 a.txt 未被跟踪
git status
# 预期输出:Untracked files:
#           a.txt
#         nothing added to commit but untracked files present

# 3. 将 a.txt 添加到暂存区(此时文件变为「已暂存」状态)
git add a.txt

# 4. 再次查看状态,确认 a.txt 已暂存
git status
# 预期输出:Changes to be committed:
#           new file:   a.txt

# 5. 将暂存区的 a.txt 提交到版本库
git commit -m "feat: 新增 a.txt 文件,用于测试Git流转流程"
# 预期输出:[master (root-commit) 1234567] feat: 新增 a.txt 文件,用于测试Git流转流程
#           1 file changed, 0 insertions(+), 0 deletions(-)
#           create mode 100644 a.txt
场景 2:修改已跟踪文件并提交更新
# 1. 在工作区修改已跟踪的 a.txt 文件(添加内容)
echo "Git 三大区域流转测试" >> a.txt

# 2. 查看状态,确认 a.txt 处于「已修改」状态
git status
# 预期输出:modified:   a.txt

# 3. 将修改后的 a.txt 添加到暂存区
git add a.txt

# 4. 提交到版本库,记录修改
git commit -m "fix: 向 a.txt 添加流转测试内容"
# 预期输出:[master 7890ab1] fix: 向 a.txt 添加流转测试内容
#           1 file changed, 1 insertion(+)
场景 3:误操作暂存,撤销暂存状态
# 1. 在工作区新建 b.txt 并误添加到暂存区
touch b.txt
git add b.txt

# 2. 查看状态,确认 b.txt 已暂存
git status
# 预期输出:Changes to be committed:
#           new file:   b.txt

# 3. 撤销 b.txt 的暂存状态(放回工作区)
git reset HEAD b.txt

# 4. 再次查看状态,确认 b.txt 回到「未跟踪」状态
git status
# 预期输出:Untracked files:
#           b.txt

四、远程仓库协作:SSH 密钥配置(推荐)

远程仓库(如 Gitee、GitHub)支持 HTTPSSSH 两种连接方式,SSH 方式配置后可实现免输入账号密码连接,安全性和效率更高,推荐日常开发使用。

4.1 生成 SSH 密钥

在终端执行以下命令,连续按 3 次回车键(使用默认配置,无需设置密码):

ssh-keygen -t rsa -C "1339562872@qq.com"  # 邮箱需与 Git 全局配置的邮箱一致
  • 密钥存储路径:默认存储在 ~/.ssh/ 目录(Windows 系统路径为 C:\Users\你的用户名\.ssh);
  • 生成文件
    • id_rsa私钥文件,需妥善保管,不可泄露给他人;
    • id_rsa.pub公钥文件,需上传到远程仓库(如 Gitee)。

4.2 查看并复制公钥内容

执行以下命令查看公钥文件内容,并复制完整输出(从 ssh-rsa 开头到邮箱结尾的所有内容):

cat ~/.ssh/id_rsa.pub

示例输出:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy7zQe5t5G6Z8XH7a9L3x4y5z6w7v8u9i0o1p2q3r4s5t6u7v8w9x0y1z2A3B4C5D6E7F8G9H0I1J2K3L4M5N6O7P8Q9R0S1T2U3V4W5X6Y7Z8a9b0c1d2e3f4g5h6i7j8k9l0m1n2o3p4q5r6s7t8u9v0w1x2y3z4 1339562872@qq.com

4.3 在 Gitee 中添加 SSH 公钥

  1. 登录 Gitee 账号,点击右上角头像,选择「个人设置」;
  2. 在左侧菜单中找到「SSH 公钥」,点击进入公钥管理页面;
  3. 在「公钥内容」输入框中粘贴复制的公钥内容,「标题」可自定义(如 “我的笔记本电脑”,用于区分不同设备);
  4. 点击「确定」,完成公钥添加(若提示验证密码,输入 Gitee 账号密码即可)。

4.4 验证 SSH 连接是否成功

执行以下命令,验证与 Gitee 的 SSH 连接是否正常:

ssh -T git@gitee.com

成功提示:

Hi ruice! You've successfully authenticated, but Gitee.com does not provide shell access.

若出现上述提示,说明 SSH 密钥配置成功;若提示权限错误,需检查公钥是否正确添加到 Gitee 账号。


五、远程仓库操作:克隆、关联、拉取、推送

5.1 克隆远程仓库(首次下载)

克隆(clone) 是将远程仓库的完整内容(包括所有分支、版本记录)下载到本地的操作,仅需在首次获取仓库时执行一次。

以 Gitee 仓库 gitpractice 为例,提供两种克隆方式:

5.1.1 SSH 方式(推荐,需提前配置 SSH 密钥)
git clone git@gitee.com:ruice/gitpractice.git
5.1.2 HTTPS 方式(备用,推送时需输入账号密码)
git clone https://gitee.com/ruice/gitpractice.git
5.1.3 克隆后验证

进入克隆生成的仓库目录:

cd gitpractice

查看远程仓库关联信息,确认已自动关联远程仓库(别名为 origin):

git remote -v

示例输出:

origin  git@gitee.com:ruice/gitpractice.git (fetch)
origin  git@gitee.com:ruice/gitpractice.git (push)

说明origin 是 Git 对远程仓库的默认别名,后续操作(如拉取、推送)可通过该别名指代远程仓库。


5.2 手动关联远程仓库(本地仓库非克隆场景)

若本地仓库是通过 git init 命令新建(非从远程克隆),需手动关联远程仓库,步骤如下:

  1. 进入本地仓库目录(例:cd ~/Desktop/test);
  2. 若未初始化本地仓库,先执行初始化命令:
    git init
    
  3. 关联远程仓库(将 git@gitee.com:ruice/gitpractice.git 替换为你的远程仓库地址):
    git remote add origin git@gitee.com:ruice/gitpractice.git
    
    • origin:远程仓库别名,可自定义(如 giteegithub),建议保持默认 origin 便于记忆;
    • 远程仓库地址:从 Gitee 仓库页面获取(支持 SSH 或 HTTPS 格式)。
  4. 验证关联结果:
    git remote -v
    

补充操作:

  • 修改远程仓库地址
    若远程仓库地址变更(如仓库迁移),执行以下命令修改关联地址:
    git remote set-url origin 新的远程仓库地址
    
  • 删除远程仓库关联
    若需解除与某个远程仓库的关联,执行以下命令:
    git remote remove origin
    

5.3 拉取远程仓库更新(同步代码)

当远程仓库有新的提交(如团队成员推送的修改),需将更新同步到本地,常用两种拉取方式:

5.3.1 git pull(推荐新手,自动合并)

git pull 命令会自动拉取远程仓库指定分支的更新,并合并到本地当前分支,操作简洁高效。

  • 进入仓库目录(例:cd gitpractice);
  • 若本地分支未与远程分支建立跟踪关系,需指定远程仓库和分支:
    git pull origin master
    
    • origin:远程仓库别名;
    • master:远程分支名(若远程默认分支为 main,需替换为 main)。
  • 若已建立分支跟踪关系(配置方法见第六章),可直接简化为:
    git pull
    
5.3.2 git fetch(进阶用法,手动合并)

git fetch 命令仅拉取远程仓库的更新到本地(不自动合并),需手动确认更新内容后再合并,适合对代码合并有更高控制权的场景。

  • 拉取远程仓库所有分支的更新:
    git fetch origin
    
  • 查看远程 master 分支的更新记录(对比本地分支差异):
    git log origin/master
    
  • 将远程 master 分支的更新合并到本地 master 分支:
    git merge origin/master
    
5.3.3 三种远程操作的区别
命令 核心功能 适用场景
git clone 首次完整下载远程仓库所有内容 初始获取远程仓库时(仅执行一次)
git pull 拉取远程更新 + 自动合并到本地 日常同步远程代码,信任远程更新无冲突
git fetch 仅拉取远程更新,不自动合并 需先审核远程更新内容,再手动决定是否合并

5.4 推送本地代码到远程仓库

本地完成修改并提交到版本库后,需将代码推送到远程仓库,供团队成员协作或备份,完整步骤如下:

  1. 查看本地工作区状态,确保所有修改已提交(工作区干净):
    git status
    # 预期输出:nothing to commit, working tree clean(表示工作区干净)
    
  2. 若有未提交的修改,先执行提交操作:
    # 添加所有修改到暂存区
    git add .
    # 提交到本地版本库,填写清晰的提交说明
    git commit -m "feat: 新增用户注册功能模块"
    
  3. 推送代码到远程仓库:
    • 首次推送:需关联本地分支与远程分支(后续推送可简化):
      git push -u origin master
      
      • -u:参数全称 --set-upstream,用于建立本地 master 分支与远程 origin/master 分支的跟踪关系;
      • origin:远程仓库别名;
      • master:远程分支名(需与本地分支名对应)。
    • 后续推送:已建立跟踪关系后,直接执行简化命令:
      git push
      

六、分支跟踪关系:简化拉取 / 推送命令

若本地分支未与远程分支建立跟踪关系,直接执行 git pullgit push 会提示 “无跟踪信息”,需手动建立关联以简化后续操作。

6.1 核心命令:建立分支跟踪关系

作用:将本地分支与远程仓库的指定分支绑定,后续执行 git pull/git push 时,Git 会自动识别关联的远程分支,无需重复指定 origin <分支名>

6.1.1 完整命令(清晰易懂,适合新手)
git branch --set-upstream-to=origin/master master
  • 含义:将本地 master 分支与远程 origin 仓库的 master 分支建立跟踪关系;
  • 参数说明
    • --set-upstream-to=origin/master:指定远程关联目标(origin 为远程仓库别名,master 为远程分支名);
    • 末尾的 master:指定需要关联的本地分支名。
6.1.2 缩写形式(高效便捷,适合熟练使用)
  • 基础缩写-u 替代 --set-upstream-to

    git branch -u origin/master master
    

    功能与完整命令完全一致,仅简化了参数写法。

  • 进一步简化(当前已处于目标本地分支时)
    若执行命令前,已通过 git checkout 切换到需要关联的本地分支(例:本地 master 分支),可省略末尾的本地分支名:

    # 1. 切换到本地 master 分支(若未处于该分支)
    git checkout master
    # 2. 简化关联命令,省略末尾的 master
    git branch -u origin/master
    

6.2 关联后的效果

建立跟踪关系后,执行以下命令即可完成操作,无需重复指定远程仓库和分支:

# 拉取远程关联分支的更新
git pull
# 推送到远程关联分支
git push

6.3 未关联时的错误提示与解决方法

若未建立跟踪关系,直接执行 git pull 会出现如下错误提示:

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master

解决方法:

  • 方案 1:建立跟踪关系(一劳永逸)
    按提示执行命令,建立本地分支与远程分支的关联:
    git branch --set-upstream-to=origin/master master
    
  • 方案 2:临时指定分支(单次有效)
    若仅需单次拉取,可直接指定远程仓库和分支:
    git pull origin master
    

七、HTTPS 与 SSH 方式对比

连接方式 优点 缺点 适用场景
HTTPS 1. 配置简单,无需额外设置;
2. 可通过账号密码直接连接
1. 每次推送可能需要重复输入账号密码(可配置缓存,但缓存有有效期);
2. 安全性略低于 SSH
1. 临时使用他人设备;
2. 无法配置 SSH 密钥的环境
SSH 1. 配置后免输入账号密码,操作高效;
2. 基于密钥验证,安全性更高
1. 需提前生成并配置 SSH 密钥;
2. 密钥丢失后需重新配置
1. 个人常用设备(电脑、笔记本);
2. 长期开发使用

推荐方案

  • 个人常用设备:优先使用 SSH 方式,一次配置长期受益;
  • 临时 / 公共设备:使用 HTTPS 方式,避免密钥泄露风险。

八、核心操作总结

Git 日常协作的核心流程可归纳为「本地修改→提交到版本库→远程同步」,关键步骤和命令如下:

8.1 本地修改与提交(三大区域流转)

# 1. 工作区→暂存区:添加修改
git add .

# 2. 暂存区→版本库:提交修改(填写清晰的提交说明)
git commit -m "提交说明"

8.2 远程同步(拉取与推送)

# 1. 拉取远程更新(已建立分支跟踪)
git pull

# 2. 推送本地提交(已建立分支跟踪)
git push

8.3 分支跟踪配置(简化命令)

# 建立本地 master 与远程 origin/master 的跟踪关系
git branch -u origin/master

理解「工作区→暂存区→版本库」的流转逻辑,是灵活使用 Git 的基础;掌握远程仓库的克隆、拉取、推送操作,以及分支跟踪配置,可大幅提升团队协作效率。后续可进一步学习 分支管理(如创建、合并、删除分支)、标签管理(如打版本标签)等进阶功能,满足更复杂的开发场景需求。

Logo

欢迎加入我们的广州开发者社区,与优秀的开发者共同成长!

更多推荐