Skip to content

git 基础

说明

git 是版本管理工具:把每次修改存成一个"快照"(提交),随时查看历史、对比差异、退回任意版本。它也是项目管理和团队协作的利器,专业程序员必备;单人开发同样离不了——误删文件、改坏代码、换电脑,都靠它兜底。

git-0

本课程要求每周提交并推送代码、按周打标签,项目成绩将综合平时进度和提交情况进行评分。

安装(Windows)

  1. 下载 Git for Windows:https://git-scm.com/download/win
  2. 双击安装,所有选项保持默认,一路 Next
  3. 验证:打开 PowerShell(开始菜单输入 powershell),输入:
bash
git --version

显示版本号即成功。之后在任意文件夹右键 →「Open Git Bash here」也能打开命令行。

初始配置(只需一次)

提交记录都要署名,先告诉 git 你是谁:

bash
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --global init.defaultBranch main

--global 表示对这台电脑上所有仓库生效;第三行统一用 main 作主分支名。查看已配置项:git config --list

核心概念

一次改动的旅程:

plain
工作区 --git add--> 暂存区 --git commit--> 本地仓库 --git push--> 远端仓库(gitee)
  • 工作区:你正在编辑的文件夹
  • 暂存区:本次打算提交的改动(先 add 挑选,再 commit 打包)
  • 本地仓库:项目下隐藏的 .git 目录,保存全部历史
  • 每次提交有唯一 id(如 a1b2c3d)和一行说明

最小命令集

bash
git init                 # 把当前文件夹变成 git 仓库(每个项目只做一次)
git status               # 查看状态:改了什么、暂存了什么
git add -A               # 把所有改动放入暂存区
git commit -m "说明"      # 把暂存区存为一个提交
git log --oneline        # 查看提交历史(每个提交的 id 和说明)
git diff                 # 查看尚未暂存的具体改动

日常就是三步循环:

bash
git status
git add -A
git commit -m "完成首页布局"

分支 branch

分支 = 平行的开发线。想试验新写法、又怕改坏能用的版本时,开个分支随便折腾,满意再合并回来:

bash
git switch -c dev     # 新建并切换到分支 dev
git switch main       # 切回主分支
git merge dev         # 把 dev 的改动合并进当前分支
git branch            # 查看所有分支
git branch -d dev     # 删除已合并的分支

老教程里的 git checkout 分支名switch 作用相同。

标签 tag(本课程作业要求)

标签 = 给某个提交起的别名。本课程约定:第 N 周确认无误的提交打标签 vN,标记当周作业进度:

bash
git log --oneline        # 找到要标记的提交 id,如 a1b2c3d
git tag v1 a1b2c3d       # 第 1 周
git tag                  # 查看所有标签
git show v1              # 查看标签指向的提交

忽略文件 .gitignore

在项目根目录新建 .gitignore 文件,写明不纳入版本管理的内容。前端项目必备:

plain
node_modules/
*.log
.env

node_modules 体积巨大,且随时能用 npm install 重建,绝不能提交。

备份到 gitee

代码推到远端才算有了备份,也才能交作业。本课程采用 gitee(github 有限流问题,见 github.md):

  1. https://gitee.com 新建一个空仓库(不要勾选初始化 README)
  2. 本地仓库关联远端并首次推送:
bash
git remote add origin https://gitee.com/你的用户名/仓库名.git
git push -u origin main

以后每次只需 git push。换电脑时用 git clone 仓库地址 拿回全部代码。

扩展学习