Skip to content

cn-ryw/git-setup-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Stars License Last Commit Top Language

Git 从零到精通:安装、配置与 GitHub 上传完全指南

面向零基础初学者 | 手把手教学 | 含常见问题排查

快速开始目录命令速查问题排查


为什么需要这份教程?

如果你刚接触编程,或者一直用"拖拽上传"的方式管理代码,这份教程将带你掌握专业开发者的代码管理方式

学完后你将能够:

  • 在 Windows / macOS / Linux 上正确安装和配置 Git
  • 用 SSH Key 安全连接 GitHub,告别每次输入密码
  • 掌握 add → commit → push 标准工作流
  • 理解分支、合并、.gitignore 等核心概念
  • 独立解决推送失败、权限错误等常见问题

快速开始

如果你已有一定基础,只想快速查阅关键步骤:

# 1. 安装 Git → https://git-scm.com/downloads
# 2. 配置身份
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 3. 生成 SSH Key 并添加到 GitHub
ssh-keygen -t ed25519 -C "你的邮箱"
cat ~/.ssh/id_ed25519.pub          # 复制输出内容 → GitHub Settings → SSH Keys

# 4. 创建仓库并推送
git init
git add .
git commit -m "feat: 首次提交"
git remote add origin git@github.com:用户名/仓库名.git
git push -u origin main

目录

章节 内容
1 Git 与 GitHub 是什么
2 安装 Git — Windows · macOS · Linux
3 Git 全局配置
4 配置 SSH Key — 安全免密连接
5 创建本地仓库
6 基本工作流 — add → commit → push
7 推送到 GitHub — 远程仓库操作
8 分支管理基础
9 .gitignore 文件
10 常用命令速查表
11 常见问题排查
附录 GitHub CLI 快速上手

1. Git 与 GitHub 是什么

概念 说明
Git 分布式版本控制系统。跟踪文件的每一次修改,可以随时回退到任意历史版本。运行在本地电脑上。
GitHub 基于 Git 的云端代码托管平台。提供远程仓库、Pull Request 代码审查、Issue 任务跟踪、Actions 自动化等协作功能。

一句话理解: Git = 本地版本管理器;GitHub = 云端代码协作平台。

许多新手误以为是同一个东西——实际上你可以只用 Git 而不碰 GitHub,但两者结合才是现代软件开发的标配


2. 安装 Git

Windows

  1. 访问 git-scm.com/downloads/win 下载 .exe 安装包
  2. 运行安装程序,以下选项建议照此设置(其余默认即可):
步骤 建议选项 原因
编辑器 VS Code 提交信息编辑体验好
默认分支名 Override → main 行业新标准
PATH 环境 Git from the command line... 终端中随处可用
HTTPS 传输 Use the OpenSSL library 兼容性最好
换行符 Checkout Windows-style, commit Unix-style 跨平台协作不乱码
终端模拟器 Use MinTTY 比 Windows 自带终端好用
  1. 验证安装:
    git --version
    # 输出示例:git version 2.54.0.windows.1

macOS

# 推荐:Homebrew 安装
brew install git

# 备选:Xcode 命令行工具
xcode-select --install

Linux

# Debian / Ubuntu
sudo apt update && sudo apt install git

# Fedora
sudo dnf install git

# Arch
sudo pacman -S git

3. Git 全局配置

# 设置身份(会写入每次提交记录)
git config --global user.name "你的名字"
git config --global user.email "your-email@example.com"

# 查看全部配置
git config --global --list

务必让邮箱与 GitHub 注册邮箱一致,否则 GitHub 无法将提交关联到你的账号,贡献面板上不会有绿点。


4. 配置 SSH Key

SSH Key 是一劳永逸的 GitHub 连接方式:配置一次,以后推送不再需要输入密码。

4.1 生成密钥

ssh-keygen -t ed25519 -C "your-email@example.com"

交互提示均按回车即可(使用默认路径和空密码)。
旧系统若报错,改用:ssh-keygen -t rsa -b 4096 -C "your-email@example.com"

4.2 启动 ssh-agent 并添加密钥

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

4.3 将公钥添加到 GitHub

# 复制公钥
cat ~/.ssh/id_ed25519.pub

然后:GitHub → Settings → SSH and GPG keys → New SSH key → 粘贴 → 保存。

4.4 验证

ssh -T git@github.com
# 成功:Hi <用户名>! You've successfully authenticated.

5. 创建本地仓库

mkdir my-project && cd my-project
git init                        # 初始化,生成 .git 目录
echo "# My Project" > README.md
git status                      # 随时查看仓库状态

6. 基本工作流

Git 的核心流转模型——理解这张图就理解了 Git:

┌──────────────┐     git add     ┌──────────┐    git commit    ┌────────────┐
│   工作区      │ ──────────────→ │  暂存区   │ ──────────────→ │  本地仓库   │
│ (Working Dir) │                │ (Stage)   │                 │  (Repo)     │
└──────────────┘                └──────────┘                 └──────┬─────┘
                                                                    │
                                                            git push │  git pull
                                                                    │
                                                               ┌────▼──────┐
                                                               │  远程仓库  │
                                                               │ (GitHub)   │
                                                               └───────────┘

6.1 添加 → 暂存区

git add README.md    # 指定文件
git add .            # 全部改动

6.2 提交 → 本地仓库

git commit -m "feat: 完成登录功能"

# 多行提交信息
git commit -m "feat: 添加用户登录

实现用户名密码登录,含表单验证和错误提示。"

约定式提交前缀:

前缀 含义 示例
feat: 新功能 feat: 添加搜索
fix: Bug 修复 fix: 修复登录超时
docs: 文档 docs: 更新安装说明
refactor: 重构 refactor: 简化认证逻辑
test: 测试 test: 补充登录用例
chore: 杂项 chore: 升级依赖

6.3 查看历史

git log --oneline                     # 一行一提交
git log --oneline --graph --all       # 图形 + 所有分支

7. 推送到 GitHub

7.1 创建远程仓库

网页创建: github.com/new → 填入名称 → 不要勾选 "Add README" → Create。

命令行创建(推荐):

gh repo create my-project --public --source=. --remote=origin --push

7.2 关联并推送

git remote add origin git@github.com:你的用户名/仓库名.git
git push -u origin main    # 首次推送(-u 绑定了上游,后续只需 git push)

7.3 克隆已有仓库

git clone git@github.com:用户名/仓库名.git    # SSH(推荐)
git clone https://github.com/用户名/仓库名.git # HTTPS

8. 分支管理基础

git branch feature-payment       # 创建分支
git checkout feature-payment     # 切换过去
git checkout -b feature-payment  # 创建 + 切换(一步到位)

# 合并回主线
git checkout main
git merge feature-payment

git branch -d feature-payment    # 删除已合并的分支

分支示意图:

main    ──●──────●──────●────────  (稳定版本)
            \         /
feature     ●──●──●──              (独立开发,互不干扰)

9. .gitignore 文件

以下类型的文件不应提交到仓库——在项目根目录创建 .gitignore

# 依赖
node_modules/   vendor/

# 构建产物
dist/   build/   *.exe   *.dll

# 密钥与环境变量
.env   .env.local   *.pem

# IDE 配置
.vscode/   .idea/   *.swp

# 系统文件
.DS_Store   Thumbs.db

更多模板:github/gitignore


10. 常用命令速查表

命令 作用
git init 初始化本地仓库
git clone <url> 克隆远程仓库
git status 查看工作区与暂存区状态
git add <file> / git add . 添加文件到暂存区 / 全部添加
git commit -m "msg" 提交到本地仓库
git push / git push -u origin main 推送 / 首次推送并绑定上游
git pull / git pull --rebase 拉取合并 / 变基方式拉取
git fetch 下载远程更新但不合并
git branch / git branch -a 本地分支 / 含远程分支
git checkout <branch> 切换分支
git checkout -b <name> 创建并切换到新分支
git merge <branch> 合并分支
git log --oneline --graph --all 图形化提交历史
git diff / git diff --staged 工作区差异 / 暂存区差异
git reset --soft HEAD~1 撤销最近 commit(保留文件)
git stash / git stash pop 暂存修改 / 恢复
git remote -v 查看远程仓库地址
git rm --cached <file> 停止跟踪(保留本地文件)

11. 常见问题排查

Q1:推送报 "Permission denied (publickey)"
ssh-add -l                      # 检查已加载的密钥
ssh-add ~/.ssh/id_ed25519       # 重新加载
ssh -T git@github.com           # 测试连接
Q2:GitHub 贡献面板不显示我的提交

本地邮箱与 GitHub 注册邮箱不一致导致。检查并修正:

git config user.email                           # 查看
git config --global user.email "正确邮箱"         # 修正

只会影响以后的提交,历史提交无法追溯修改。

Q3:推送被拒 "Updates were rejected"

远程有新提交而本地没有,先拉取再推送:

git pull --rebase origin main
git push
Q4:撤销最近一次 commit
git reset --soft HEAD~1    # 撤销 commit,文件改动保留在暂存区
git reset --hard HEAD~1    # 撤销 commit,文件改动也丢弃 ⚠️ 不可恢复
Q5:误提交了不该提交的文件
git rm --cached 文件名
echo "文件名" >> .gitignore
git commit -m "chore: 移除误提交的文件"
Q6:修改远程仓库地址
git remote set-url origin git@github.com:新用户名/新仓库.git

附录:GitHub CLI (gh) 快速上手

# 安装
winget install --id GitHub.cli     # Windows
brew install gh                    # macOS

# 认证
gh auth login

# 日常操作
gh repo create my-project --public --clone    # 创建仓库
gh repo view 用户名/仓库名                     # 查看仓库信息
gh issue create --title "标题" --body "内容"   # 创建 Issue
gh pr create --title "标题" --body "内容"      # 创建 Pull Request


如果这份教程对你有帮助,请给一个 ⭐ Star 支持一下!

Made with ❤️ by cn-ryw

About

从零到精通:Git 安装配置、SSH Key 设置、基本工作流与 GitHub 推送完全指南 — 面向中文初学者的手把手教程

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors