投稿|Git + Docker 零基础入门攻略

写给想入门但不想踩坑的人


一、先搞清楚这几个概念

入门之前,先把这三个东西分清楚。它们经常被混在一起说,但其实各管各的。

名称 是什么 类比 一句话总结
Git 本地版本控制系统,管理代码的每一次修改历史 你电脑上的 Word(本地编辑、撤销、保存) 记录"谁在什么时候改了什么"
AtomGit / GitHub 云端代码托管平台,存代码、协作、开源 腾讯文档(云端同步、多人协作) 把本地代码同步到云端
Docker 容器引擎,让代码在任何机器上都能跑起来 真空包装(不管在哪打开,味道一样) 解决"在我电脑上能跑"的问题

💡 关系梳理

Git 管代码版本,AtomGit / GitHub 管代码存放和协作,Docker 管代码运行环境。

三者互相独立,但组合使用威力最大。


二、Git:从安装到第一个提交

2.1 安装

Windows
  1. 访问 git-scm.com 下载安装包。
  2. 一路默认下一步。
  3. 安装完成后打开 Git Bash 终端。
macOS
复制代码
git --version
# 如果没装,系统会自动提示你安装 Xcode Command Line Tools

2.2 验证安装

复制代码
git --version
# 显示版本号即成功,例如:git version 2.43.0

2.3 配置身份

每个提交都会带上你的名字和邮箱,这个必须先配好:

复制代码
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

2.4 第一个仓库

跟着敲一遍,每条命令都有注释:

复制代码
# 1. 创建并进入文件夹
mkdir my-project
cd my-project

# 2. 初始化 Git 仓库
git init

# 3. 创建 .gitignore(防止垃圾文件被提交)
echo "node_modules/" > .gitignore
echo ".env" >> .gitignore
echo ".DS_Store" >> .gitignore
echo "*.log" >> .gitignore

# 4. 创建文件
echo "Hello Git" > README.md

# 5. 查看状态
git status
# 会显示 README.md 和 .gitignore 是未跟踪文件

# 6. 添加到暂存区
git add .

# 7. 提交(永久保存)
git commit -m "first commit: add README and .gitignore"

💡 关于 .gitignore

这个文件告诉 Git:"哪些文件不要管"。

避免把依赖包、密钥文件、系统文件提交进仓库。

常见需要忽略的有:node_modules/.env.DS_Store__pycache__/*.log

2.5 Git 核心命令速查

操作 命令
初始化仓库 git init
查看状态 git status
添加到暂存区 git add <文件>git add .
提交 git commit -m "提交信息"
查看历史 git log
查看差异 git diff
重命名默认分支 git branch -M main

三、AtomGit:从本地到云端

3.1 连接方式选择

AtomGit 支持两种连接方式,先搞清楚区别:

方式 地址格式 是否需要密钥 适合场景
SSH git@gitcode.com:用户名/仓库.git 需要配 SSH 密钥 长期开发,免密码(推荐)
HTTPS https://gitcode.com/用户名/仓库.git 每次输密码(或配 Token) 临时克隆公开仓库

3.2 SSH 密钥配置(推荐)

复制代码
# 1. 生成密钥(之后一路回车即可)
ssh-keygen -t ed25519 -C "你的邮箱"

# 2. 查看并复制公钥(复制输出的全部内容)
cat ~/.ssh/id_ed25519.pub

# 3. 粘贴到 AtomGit
# 路径:「个人设置」 ->「安全设置」->「SSH 公钥」,点击「+ SSH 公钥」

# 4. 验证连接
ssh -T git@gitcode.com

# 看到 "Welcome to GitCode, [用户名]" 就成功了

3.3 推送代码到 AtomGit

复制代码
# 1. 在 AtomGit 网页创建新仓库(假设叫 my-project)
# ⚠️ 不要勾选初始化 README

# 2. 确保本地分支名是 main
git branch -M main

# 3. 关联远程仓库(SSH 方式)
git remote add origin git@gitcode.com:你的用户名/my-project.git

# 4. 首次推送代码
git push -u origin main

# 之后再推送只需要输入:
git push

3.4 克隆别人的项目

复制代码
# 公开仓库直接用 HTTPS 即可,不需要 SSH
git clone https://gitcode.com/用户名/仓库名.git

# 自己的私有仓库用 SSH
git clone git@gitcode.com:你的用户名/仓库名.git

四、Docker:从安装到第一个容器

4.1 安装

Windows

访问 Docker Desktop 下载,安装过程会自动配置 WSL2。

macOS

同样下载 Docker Desktop,拖入"应用程序"文件夹即可。

4.2 验证安装

复制代码
docker --version
# 显示版本号即成功,例如:Docker version 24.0.7

4.3 核心概念

概念 英文 类比 说明
镜像 Image 菜谱 不可变的模板,包含运行环境和代码
容器 Container 做好的菜 镜像的运行实例,可以启动、停止、删除
仓库 Registry 菜市场 Docker Hub,存放公开镜像,谁都能拉取

4.4 第一个容器

复制代码
# 1. 拉取官方 Nginx 镜像
docker pull nginx:latest

# 2. 运行容器
docker run -d --name my-web -p 8080:80 nginx:latest

# 参数解析:
# -d            后台运行
# --name        给容器起名字
# -p 8080:80    本机 8080 端口映射到容器内部 80 端口

# 3. 打开浏览器访问 http://localhost:8080
# 你会看到 Nginx 的欢迎页

# 4. 用完了停掉容器
docker stop my-web

4.5 Docker 核心命令速查

镜像操作
复制代码
docker images                     # 查看本地镜像
docker pull <镜像名>:<标签>       # 拉取镜像
docker rmi <镜像名>               # 删除镜像
docker search nginx               # 搜索镜像
容器操作
复制代码
docker ps                         # 查看运行中的容器
docker ps -a                      # 查看所有容器(包括已停止的)
docker stop <容器名>              # 停止容器
docker start <容器名>             # 启动容器
docker rm <容器名>                # 删除容器
docker logs <容器名>              # 查看日志
docker exec -it <容器名> /bin/bash
# 进入容器内部终端
清理(新手必知)
复制代码
docker system prune
# 清理停止的容器、悬空镜像、未使用网络

⚠️ 注意

定期运行 docker system prune 清理无用资源。

不清理的话,几个月下来磁盘可能会被旧镜像和停止的容器吃掉几十 GB。

4.6 构建自己的镜像(实战)

下面以一个 Node.js 项目为例。

第一步:创建项目
复制代码
mkdir my-app && cd my-app
第二步:创建 Dockerfile

这是一个没有后缀的独立文件

复制代码
# 基础镜像:轻量版 Node.js
FROM node:18-alpine

# 设置工作目录
WORKDIR /app

# 先复制依赖文件(利用 Docker 缓存加速构建)
COPY package*.json ./

# 安装依赖
RUN npm install

# 复制项目代码
COPY . .

# 声明端口
EXPOSE 3000

# 启动命令
CMD ["npm", "start"]
第三步:构建并运行
复制代码
# 构建镜像(注意最后有个点 ".",表示当前目录)
docker build -t my-node-app .

# 运行容器
docker run -d -p 3000:3000 --name my-app my-node-app

# 此时即可访问 http://localhost:3000

五、避坑指南

🛑 Git 避坑

解决方案
提交信息写成 "xxx""update" 必须写清楚改了什么,未来的你会感谢现在的你
忘记 add 就直接 commit commit 只提交暂存区内容;必须先 git addgit commit
push 到错误的仓库 先检查 git remote -v,确认远程地址
删除未合并的分支报错 git branch -D <分支名> 强制删除
push 时报错 src refspec main does not match 先运行 git branch -M main 将分支重命名为 main 再推送
node_modules 提交进去了 务必提前创建 .gitignore 文件,并加入 node_modules/

🛑 Docker 避坑

解决方案
端口被占用 换一个映射端口,例如 -p 9090:80
容器名字重复 docker rm <旧容器>,再重新创建运行
镜像构建失败 看终端最后几行报错;通常是 COPY 路径写错,或依赖下载失败、网络超时
Windows 权限问题报错 以管理员身份运行终端(PowerShell / CMD)
C 盘磁盘空间被吃满 定期运行 docker system prune 清理垃圾

六、学习路线建议

第一阶段:会用(你现在的位置)

  • Git:提交 / 推送 / 克隆
  • Docker:运行现成容器

第二阶段:理解原理

  • Git:分支 / 合并 / 冲突解决
  • Docker:Dockerfile / 容器网络 / 数据卷(Volumes)

第三阶段:进阶

  • Git:Rebase / Submodule / Git Worktrees
  • Docker:Docker Compose / 多阶段构建 / 镜像体积优化

💡 核心建议

每个阶段都先动手做一个小项目,不要只看不练。
看十遍教程,不如自己真实踩一次坑。


七、实战项目推荐

项目方向 难度 核心收获
把本地笔记用 Git 管理 理解版本控制的价值与基础命令
部署一个静态博客到 AtomGit 熟悉 AtomGit 线上操作与静态托管
用 Docker 跑一个 Redis 数据库 ⭐⭐ 理解容器化免安装环境的好处
用 Docker 部署自己的小工具 ⭐⭐ 掌握 Dockerfile 编写与打包流程
Git + Docker 联合:提交代码自动构建镜像 ⭐⭐⭐ 理解现代后端 CI/CD 雏形

🎯 总结陈词

  • Git 核心链路initaddcommitpush
  • Docker 核心链路pullrunexeclogs

最重要的一句话

不要只看教程,一定要动手敲命令

第一次踩坑很正常,第二次你就开始变熟练了。


📚 官方参考资料

相关推荐
_可乐无糖1 小时前
Windows本地安装git
git
bukeyiwanshui2 小时前
20260509 docker项目总结
运维·docker·容器
2301_780029042 小时前
.gitignore不可以忽略文件问题
git·gitee·开源
谁在黄金彼岸2 小时前
Docker Compose删除服务后,docker compose down无法关闭的问题解决
docker·容器
数据智能老司机2 小时前
使用 Docker 构建可落地运行的 AI 系统——Docker Desktop:AI/ML 工作流的运行时基础
docker·容器
饕餮争锋2 小时前
PR中的P为什么是pull而非push?
git
芥子沫2 小时前
Docker部署OrangeHRM(人事管理)
docker·人事管理·hr应用
水云桐程序员2 小时前
Git是什么?怎样使用?
git·学习方法
志栋智能2 小时前
超自动化巡检:敏捷运维体系中的重要一环
运维·服务器·网络·云原生·容器·kubernetes·自动化