Git 零基础常用指令手册(Gitee / GitHub 通用 )
2026/7/23 8:44:50 网站建设 项目流程

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 也有类似「派生」;流程类似

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

方式GiteeGitHub
SSHgit@gitee.com:用户名/仓库名.gitgit@github.com:用户名/仓库名.git
HTTPShttps://gitee.com/用户名/仓库名.githttps://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 tokensGitee:设置 → 私人令牌 / 私人令牌(名称以网页为准)

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

2.5(可选)GitHub CLI

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

  • 安装说明见:GitHub CLI | Take GitHub to the command line

  • 登录:gh auth login

  • 示例:gh pr creategh pr list

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


3. 常用指令详细说明

先进入项目目录:cd /path/to/your-projectWindows: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 -vvmain...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)

本地推送功能分支后:

平台常见名称典型路径
GitHubPull Request(PR)仓库页 →Pull requestsNew pull request
GiteePull 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.1Permission 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.8not a git repository

cd 含有 .git 的目录 git rev-parse --show-toplevel

5.9LF 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;测通 GiteeGitHub
Day 2clone → 改文件 → add → commit → push → 网页确认
Day 3pull、status、log;练习解决一次冲突
Day 4分支创建/切换/合并;试一次网页 PR
Day 5stash、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.02026-07-22初版(偏 Gitee)
v1.12026-07-22脱敏分享版
v1.22026-07-22明确适用于 GitHub;补充平台对照、双平台 SSH/Token、PR/Fork、HTTPS 认证差异

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询