Git

追踪代码变更、团队协作、维护项目历史的分布式版本控制系统

TL;DR

一句话:Git 记录代码的每次变更,让你能撤销错误,实现多人协作。

核心价值

  • 历史记录 - 每次变更都被记录
  • 可撤销 - 随时回到之前的状态
  • 分支 - 在不影响主代码的情况下开发功能
  • 协作 - 合并多人的工作

Quick Start

安装

macOS:

brew install git

Windows: 下载 Git for Windows

Linux:

sudo apt install git  # Debian/Ubuntu

配置

git config --global user.name "你的名字"
git config --global user.email "[email protected]"

第一个仓库

mkdir myproject && cd myproject
git init
echo "# My Project" > README.md
git add .
git commit -m "初始提交"

Cheatsheet

命令说明
git init创建新仓库
git clone URL克隆仓库
git status查看当前状态
git add FILE暂存文件
git add .暂存所有更改
git commit -m "msg"提交更改
git push推送到远程
git pull从远程拉取
git branch列出分支
git branch NAME创建分支
git checkout NAME切换分支
git checkout -b NAME创建并切换
git merge NAME合并分支
git log --oneline查看历史
git diff查看未暂存更改
git stash临时保存更改
git stash pop恢复暂存的更改

Gotchas

提交前忘记添加文件

git add forgotten-file
git commit --amend --no-edit

提交信息写错了

git commit --amend -m "正确的信息"

撤销上次提交(保留更改)

git reset --soft HEAD~1

撤销上次提交(丢弃更改)

git reset --hard HEAD~1

合并冲突

编辑冲突文件(找 <<<<<<< 标记),然后:

git add .
git commit -m "解决冲突"

不小心提交到了错误的分支

# 把提交移到正确的分支
git checkout correct-branch
git cherry-pick COMMIT_HASH
git checkout wrong-branch
git reset --hard HEAD~1

Next Steps