Git 零基础常用指令手册(Gitee / GitHub 通用 )

Git 零基础常用指令手册(Gitee / GitHub 通用 )

内容
适用对象 Git 新手;使用 GiteeGitHub 管理代码的开发者
文档目标 掌握日常克隆、拉取、提交、推送、分支等操作
平台 Windows / macOS / Linux(示例以 PowerShell / Bash 为主)
文档版本 v1.2(Gitee + GitHub 通用 · 脱敏分享版)
更新日期 2026-07-22

结论先说:

  • Git 指令本身clone / add / commit / push / branch...)在 Gitee 与 GitHub 完全通用

  • 不一样的地方主要是:仓库网址、网页里加 SSH 公钥的入口、HTTPS 登录方式(私人令牌)、以及网页上「提合并请求」的叫法。

阅读建议: 先看第 1 章概念 + 第 1.4 节平台对照,再跟场景走一遍。 示例说明: 用户名仓库名mainfeature/xxx 均为占位符。


0. 分享前须知(脱敏与安全)

处理项 说明
不含真实密钥 无 SSH 私钥、Token、密码、keystore
不含真实账号 邮箱/用户名均为占位示例
不含内部仓库地址 使用占位地址,见下文「地址写法」
不含客户/产品专有信息 分支与业务均用通用示例

分享时请注意:

  1. 不要 发送 ~/.ssh/id_ed25519(无 .pub 后缀)------那是私钥

  2. 可以 配置到网站上的是 id_ed25519.pub公钥)。

  3. 截图前检查:是否露出真实组织名、仓库地址、Token、内网路径。

  4. 团队规范(必须走 PR、禁止强推等)优先于本文。


1. 基础概念

1.1 Git、Gitee、GitHub 分别是什么?

名称 是什么 你怎么用
Git 装在电脑上的「版本管理工具」 在终端敲 git xxx
Gitee 国内常用的代码托管网站 浏览器打开 gitee.com,存远程仓库
GitHub 全球常用的代码托管网站 浏览器打开 github.com,存远程仓库

一句话:Git 管本地历史;Gitee/GitHub 管「云端仓库 + 协作网页」。

1.2 什么是仓库(Repository)

仓库 = 项目文件 +「每一次改动的日记本」。

  • 文件夹 = 你的代码文件

  • 仓库 = 文件夹 + Git 自动记账的历史

每一笔记账叫一次 提交(commit)

1.3 本地仓库 vs 远程仓库

类型 在哪 干什么
本地仓库 电脑上(有隐藏目录 .git 改代码、提交、切分支
远程仓库 Gitee 或 GitHub 云端 备份、多人协作、多设备同步
复制代码
你的电脑(本地)                    远程(Gitee 或 GitHub)
┌─────────────────┐                ┌─────────────────┐
│  工作区         │  add/commit    │                 │
│  (正在改的文件)│ ─────────────► │  远程仓库       │
│       │         │                │  origin/main    │
│       ▼         │    push ▲      │                 │
│  本地仓库       │ ───────┼──────►│                 │
│  (.git 历史)  │ ◄─pull ┘       │                 │
└─────────────────┘   /fetch       └─────────────────┘
说法 含义
origin 远程仓库的默认昵称
main / master / develop 分支名(以你仓库实际名称为准)
工作区干净 没有未提交修改
落后远端 云端已有新提交,你还没 pull

1.4 三个工作区域

区域 是什么 典型指令
工作区 编辑器里正在改的文件 保存文件
暂存区 「准备提交」的清单 git add
本地仓库 已写入历史的提交 git commit

再到远程:git push

复制代码
改文件 → git add → git commit → git push
工作区     暂存区     本地历史      Gitee/GitHub

1.5 Gitee 与 GitHub:哪些一样、哪些不同?

项目 是否相同 说明
git clone/add/commit/push/branch/merge/stash/tag... 相同 都是 Git,命令通用
SSH / HTTPS 克隆推送逻辑 相同 只是域名不同
仓库网页地址 不同 gitee.com vs github.com
添加 SSH 公钥的菜单位置 不同 见第 2 章
HTTPS 身份验证 略有不同 现多使用 Token,不再用账户密码明文
网页发起合并 叫法不同 Gitee 常称「Pull Request / 合并请求」;GitHub 称 Pull Request(PR)
开源协作「Fork」 GitHub 极常见 Gitee 也有类似「派生」;流程类似

地址写法对照(请替换占位符):

方式 Gitee GitHub
SSH git@gitee.com:用户名/仓库名.git git@github.com:用户名/仓库名.git
HTTPS https://gitee.com/用户名/仓库名.git https://github.com/用户名/仓库名.git

下文示例会同时给出两种,或写成:

复制代码
# 任选其一主机
GIT_HOST=gitee.com    # 或 github.com
git@GIT_HOST:用户名/仓库名.git

2. 本地环境配置

2.1 安装 Git

  1. 打开 Redirecting... 安装。

  2. 检查:

复制代码
git --version

Windows 可用 Git BashPowerShell

2.2 配置姓名和邮箱

复制代码
git config --global user.name "你的名字"
git config --global user.email "your.name@example.com"
git config --global --list
参数 说明
--global 本机所有仓库生效
不加 仅当前仓库

邮箱建议与 Gitee / GitHub 账号绑定邮箱一致。

2.3 SSH 密钥(Gitee / GitHub 同一套密钥即可)

生成一次密钥,可同时添加到 Gitee 和 GitHub。

步骤 1:是否已有密钥
复制代码
ls ~/.ssh

id_ed25519 + id_ed25519.pub 可跳到步骤 3。

步骤 2:生成
复制代码
ssh-keygen -t ed25519 -C "your.name@example.com"

老系统可用:

复制代码
ssh-keygen -t rsa -b 4096 -C "your.name@example.com"
文件 能否分享
id_ed25519 绝不能分享(私钥)
id_ed25519.pub 可粘贴到网站(公钥)
步骤 3:复制公钥
复制代码
# Windows PowerShell
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

# macOS / Linux
cat ~/.ssh/id_ed25519.pub
步骤 4A:添加到 Gitee
  1. 登录 Gitee → 头像 → 设置

  2. SSH 公钥 → 添加公钥 → 粘贴保存

步骤 4B:添加到 GitHub
  1. 登录 GitHub → 头像 → Settings

  2. 左侧 SSH and GPG keysNew SSH key

  3. Title 随意,Key 粘贴公钥 → Add SSH key

步骤 5:分别测试
复制代码
ssh -T git@gitee.com
ssh -T git@github.com

首次确认指纹时输入 yes。出现成功/欢迎提示即可。

一台电脑连两个网站:通常同一把公钥 加到两边即可。若公司要求隔离,可生成第二对密钥并用 ~/.ssh/config 指定(进阶,见附录)。

2.4 HTTPS 与 Token(两平台都常用)

类型 特点
SSH(推荐日常) 配好密钥后免密
HTTPS 需要身份验证;现代平台多用 Personal Access Token(私人令牌),而不是账户登录密码

GitHub: Settings → Developer settings → Personal access tokens Gitee: 设置 → 私人令牌 / 私人令牌(名称以网页为准)

令牌 = 密码,禁止写入文档、聊天、截图、仓库。

2.5(可选)GitHub CLI

GitHub 提供命令行工具 gh,方便在终端创建 PR、看 Issue(非必须 ,新手可先只用 git)。

Gitee 侧更多依赖网页或自有工具;核心仍是 Git 指令


3. 常用指令详细说明

先进入项目目录: cd /path/to/your-project Windows:cd D:\Projects\your-project

下文用 main 表示主分支;请按实际分支名替换。


3.1 clone(克隆)

复制代码
# Gitee
git clone git@gitee.com:用户名/仓库名.git

# GitHub
git clone git@github.com:用户名/仓库名.git

# 指定本地目录名
git clone git@github.com:用户名/仓库名.git my-folder

# 只克隆某一分支(更快)
git clone -b main --single-branch git@github.com:用户名/仓库名.git
参数 含义
-b 分支名 克隆后切到该分支
--single-branch 只拉这一支
最后路径 本地文件夹名

3.2 状态与历史

复制代码
git status
git status -sb
git log
git log --oneline -10
git remote -v
git branch -vv
指令 你会看到
status 改了哪些文件、是否超前/落后
log --oneline 短哈希 + 说明
branch -vv main...origin/main
remote -v 当前连的是 Gitee 还是 GitHub

3.3 fetch / pull

复制代码
git fetch origin
git log --oneline HEAD..origin/main

git pull origin main
git pull --ff-only origin main
指令 区别
fetch 只更新远端信息,不自动改你的文件
pull ≈ fetch + 合并进当前分支
--ff-only 不能快进就失败,更安全

建议:每天开工先 pull,再写代码。


3.4 add / commit

复制代码
git status -sb
git diff
git diff --staged

git add 文件路径
git add .
git add -u path/to/dir/    # 同步「已跟踪文件」的修改与删除

git commit -m "简短说明:做了什么"

PowerShell 多行:

复制代码
git commit -m @"
标题:一句话概括

正文:补充原因。
"@
写法 含义
git add 文件 精确、更安全
git add . 全部变更,易误加敏感文件
git add -u 更新已跟踪文件(含删除),不添加全新未跟踪文件

提交说明示例:

复制代码
fix: 修复登录按钮无响应
feat: 新增夜间模式开关
chore: 更新构建配置
docs: 补充 README 安装步骤

不要提交:

类型 示例
密钥证书 *.pem*.keystore、私钥
私密配置 .env、含 Token 的配置文件
令牌 GitHub/Gitee PAT
无关大文件 除非团队明确要求

3.5 push

复制代码
git push -u origin main
git push
参数 含义
origin 远程昵称
main 远端分支名
-u 设置上游,之后可只打 git push

远端有新提交时需先 pullpush


3.6 分支

复制代码
git branch
git branch -a
git switch main
git checkout main

git switch -c feature/user-settings
git push -u origin feature/user-settings

git branch -d feature/user-settings
git push origin --delete feature/user-settings

命名建议:feature/...fix/...;主分支保持可运行。


3.7 merge

复制代码
git switch main
git pull origin main
git merge feature/user-settings

冲突时:编辑去掉 <<<<<<< 等标记 → git addgit commitgit push


3.8 在网页上发起合并(Gitee / GitHub)

本地推送功能分支后:

平台 常见名称 典型路径
GitHub Pull Request(PR) 仓库页 → Pull requestsNew pull request
Gitee Pull Request / 合并请求 仓库页 → Pull Requests → 创建

推荐流程(两边相同思路):

  1. feature/xxx 开发并 push

  2. 网页创建 PR:源分支 = 功能分支,目标分支 = main

  3. 同事 Review → 合并

  4. 本地:git switch maingit pull

这比直接往 mainpush 更适合团队协作。


3.9 stash

复制代码
git stash push -m "写到一半先拉代码"
git stash push -u -m "含未跟踪文件"
git stash list
git stash pop
git stash apply

3.10 tag

复制代码
git tag v1.0.0
git tag -a v1.0.0 -m "正式版 1.0.0"
git tag
git push origin v1.0.0
git push origin --tags    # 慎用:推送全部本地标签

3.11 回退与撤销

复制代码
# 未 add:丢弃工作区修改
git restore 文件名

# 已 add 未 commit:取消暂存
git restore --staged 文件名

# 已 commit 未 push
git reset --soft HEAD~1    # 改动仍暂存
git reset HEAD~1           # 改动留工作区
git reset --hard HEAD~1    # 改动丢弃(危险)

# 已 push:团队友好
git revert <提交哈希>
git push
方式 工作区 暂存区
--soft 保留 仍暂存
mixed(默认) 保留 清空
--hard 清空 清空

3.12 diff

复制代码
git diff
git diff --staged
git diff main..feature/xxx

3.13 .gitignore

复制代码
local.properties
.env
.env.*
*.keystore
*.jks
*.pem
build/
.idea/
.vscode/
*.iml
.DS_Store
Thumbs.db

误跟踪后:

复制代码
git rm --cached 文件名
git commit -m "chore: 停止跟踪敏感或无关文件"

3.14(可选)Fork 工作流(GitHub 开源最常见)

适合:你没有原仓库写权限,只想贡献代码。

  1. 在 GitHub 网页点 Fork,得到「你账号下的副本」

  2. 克隆你的 Fork

复制代码
git clone git@github.com:你的用户名/仓库名.git
cd 仓库名
  1. 添加原仓库为上游(便于同步):
复制代码
git remote add upstream git@github.com:原作者用户名/仓库名.git
git fetch upstream
git merge upstream/main
# 或:git rebase upstream/main(进阶)
  1. 建分支、改代码、push 到你的 origin

  2. 网页向原仓库提 Pull Request

Gitee 亦有「派生/Fork」类能力,步骤类似,域名换成 gitee.com


4. 日常使用场景

场景 A:加入已有远程项目

复制代码
# GitHub 示例(Gitee 把主机改成 gitee.com 即可)
git clone -b main --single-branch git@github.com:用户名/仓库名.git
cd 仓库名
git branch -vv
git remote -v

# 改代码后
git pull --ff-only origin main
git status -sb
git add 你改过的文件
git commit -m "feat: 说明你做了什么"
git push origin main

场景 B:上班拉、下班推

复制代码
cd 你的项目目录
git pull --ff-only origin main
# ……开发……
git add 具体文件
git status
git commit -m "chore: 今日进度"
git push

场景 C:改到一半要先拉代码

复制代码
git stash push -u -m "手头未完成"
git pull --ff-only origin main
git stash pop

场景 D:功能分支 + PR

复制代码
git switch main
git pull origin main
git switch -c feature/login-fix
# ……多次 commit……
git push -u origin feature/login-fix
# 然后到 GitHub/Gitee 网页创建 Pull Request

场景 E:本地删除,远程也要删除

复制代码
git add -u path/to/dir/
git status
git commit -m "chore: 移除过时文件"
git push origin main

场景 F:本地已有项目,首次上传到空仓库

复制代码
cd 本地项目文件夹
git init
git add .
git status                 # 确认无密钥
git commit -m "chore: 初始提交"
# Gitee:
git remote add origin git@gitee.com:用户名/仓库名.git
# 或 GitHub:
# git remote add origin git@github.com:用户名/仓库名.git
git branch -M main
git push -u origin main

场景 G:同一项目同时有 Gitee 与 GitHub 镜像(进阶)

复制代码
git remote -v
git remote add github git@github.com:用户名/仓库名.git
git remote add gitee  git@gitee.com:用户名/仓库名.git

git push github main
git push gitee main

注意权限与敏感信息:推到公开 GitHub 前务必检查有无密钥。


5. 常见错误及解决方法

5.1 Permission denied (publickey)

原因: 未加公钥、加错成私钥、或测错了主机(Gitee/GitHub)。

处理:.pub 加到对应网站;分别执行:

复制代码
ssh -T git@gitee.com
ssh -T git@github.com

5.2 push 被拒:fetch first / non-fast-forward

复制代码
git pull --ff-only origin main
# 或
git pull origin main
git push origin main

5.3 本地修改会被覆盖

复制代码
git stash push -u -m "临时保存"
git pull
git stash pop

5.4 合并冲突

去掉 <<<<<<< / ======= / >>>>>>> 标记 → git addgit commit

5.5 误 add 敏感文件

复制代码
git restore --staged 文件名

已 commit 未 push:git reset --soft HEAD~1 后重来。 已 push 密钥: 立刻在 GitHub/Gitee 作废 Token/轮换密钥,再从仓库移除,并视情况通知管理员。

5.6 想撤销已 push 的提交

团队优先:

复制代码
git revert HEAD
git push

避免对共享分支 push --force

5.7 以为删了,网页上还在

需:git add -ucommitpush

5.8 not a git repository

复制代码
cd 含有 .git 的目录
git rev-parse --show-toplevel

5.9 LF will be replaced by CRLF

Windows 常见,可忽略,或:

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

5.10 HTTPS 认证失败(GitHub 常见)

GitHub 已不支持用账户密码进行 Git HTTPS。请改用:

  • SSH 地址,或

  • HTTPS + Personal Access Token(密码处填 Token)

5.11(可选)Android:INSTALL_FAILED_UID_CHANGED

与 Git 无关。卸载后重装:

复制代码
adb uninstall com.example.yourapp

6. 一张纸速查表

我想... 指令
下载仓库 git clone <地址>
看状态 git status -sb
拉最新 git pull origin 分支名
暂存 git add 文件
提交 git commit -m "说明"
推送 git push origin 分支名
新建分支 git switch -c 新分支
切换分支 git switch 分支名
合并 git merge 分支名
暂存现场 git stash push -m "说明"
历史 git log --oneline -10
打标签 git tag -a v1.0.0 -m "说明"
安全撤销 git revert 哈希

黄金四步:

复制代码
git pull
git add <文件>
git commit -m "说明"
git push

7. 学习路径建议(一周)

练习
Day 1 安装 Git、配身份信息、配 SSH;测通 Gitee GitHub
Day 2 clone → 改文件 → add → commit → push → 网页确认
Day 3 pull、status、log;练习解决一次冲突
Day 4 分支创建/切换/合并;试一次网页 PR
Day 5 stash、gitignore、tag
Day 6 在练习库理解 reset vs revert
Day 7 完整走场景 A~F;有余力试 Fork(GitHub)

8. 附录 A:协作与安全建议

建议 说明
先拉后推 少冲突
小步提交 说明写清楚
主分支可运行 大改走功能分支 + PR
敏感文件不入库 .gitignore
私钥永不外传 只传 .pub
公开仓库再检查 推到公开 GitHub 前确认无密钥
遵守团队规范 强制 PR / 禁止强推等

9. 附录 B:一台电脑多密钥(进阶)

~/.ssh/config 示例(按需创建):

复制代码
Host gitee.com
  HostName gitee.com
  User git
  IdentityFile ~/.ssh/id_ed25519_gitee

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github

然后分别为两个 Host 生成密钥并上传对应公钥。新手通常不需要这一步。


10. 修订记录

版本 日期 说明
v1.0 2026-07-22 初版(偏 Gitee)
v1.1 2026-07-22 脱敏分享版
v1.2 2026-07-22 明确适用于 GitHub;补充平台对照、双平台 SSH/Token、PR/Fork、HTTPS 认证差异

Git 命令通用;Gitee / GitHub 仅托管平台不同。账号、令牌与私钥请自行保管,勿写入可公开传播的文档。

相关推荐
John_ToDebug2 小时前
Git Stash 完全指南:临时保存工作区的艺术
人工智能·git·agent
阿里嘎多学长2 小时前
2026-07-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
小蠢驴打代码2 小时前
记忆库能通过测试,不等于回答值得信:Coding Agent Memory 的两层评估设计
github·ai编程
武子康3 小时前
Copilot Code Review 从固定 Reviewer 演进为可编程 Runtime,仓库控制面、Setup 供应链、Runner 资源和 MCP 工具同时被纳入审查决策
人工智能·github·aigc
wangruofeng13 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai
是宇写的啊15 小时前
Git远程操作
git
一点一木15 小时前
从60首歌到1个网站:输入你的故事,还你一首歌
前端·github
刘较瘦_20 小时前
AI 开发中的 Git Submodule 父子仓库模式:前后端分仓管理与协作实践
前端·github