Git 是分布式版本控制系统,核心就管一件事:记录文件每次改动,随时能看历史、回退、多人协作不打架。新手不用背全命令,先把”工作区 → 暂存区 →本地仓库 →远程仓库”这条流转线搞懂就行。
1. 安装与首次配置
- 下载:https://git-scm.com/ ,Windows/Mac/Linux 装完在终端输入
git --version有版本号即成功。 - 第一次必须配置身份(提交记录会绑定):
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
查看配置:git config --global --list
2. 最核心的日常循环(80% 场景就这 4 步)
git status # 看哪些文件改了(红=未暂存,绿=已暂存)
git add . # 把改动放进暂存区(. 表示当前目录所有改动)
git commit -m "说明这次改了啥" # 生成一个本地版本
git push # 推到远程(如 GitHub/Gitee/GitLab)
开工前先 git pull 拉一下别人最新代码,避免后面推不上去。
3. 从零开始一个项目
mkdir my-project && cd my-project
git init # 当前文件夹变成 git 仓库(生成 .git 隐藏目录)
echo "print('hi')" > main.py
git add .
git commit -m "init: 第一次提交"
如果远程已经建好空仓库:
git branch -M main
git remote add origin https://github.com/你/仓库.git
git push -u origin main # -u 把本地 main 和远程 main 关联,以后直接 git push
如果是把别人仓库拉下来改,不用 init,直接:
git clone https://github.com/某/repo.git
cd repo
4. 分支:功能隔离不开错主线
git branch # 看当前在哪条分支
git checkout -b feature/login # 新建并切到 feature/login
# 或者新版写法:git switch -c feature/login
# 在分支上正常 add/commit
git checkout main # 回到主分支
git merge feature/login # 把功能合并进 main
git branch -d feature/login # 删掉已合并的分支
常见分支约定:main/master 稳定上线代码,dev 开发汇总,feature/xxx 新功能,bug/xxx 修 bug。
5. 看历史与撤销(改错了能救)
git log --oneline # 一行一条历史
git diff # 看工作区没暂存的改动
git restore 文件名 # 丢弃某个文件工作区改动(未 add 前)
git restore --staged 文件名 # 从暂存区撤出来,但保留改动
git reset --soft HEAD~1 # 撤销上次提交,改动还在工作区
git revert 提交号 # 新建一个反向提交来抵消某次改动(推荐,不丢历史)
⚠️ git reset --hard HEAD~1 会连改动一起删,慎用。
6. 拉取与冲突
git fetch origin:只把远程更新下载到本地,不自动合,安全。git pull origin main:等于 fetch + merge,多人改同一行会冲突。- 冲突时长这样,手动改掉再提交:
<<<<<<< HEAD
你的代码
=======
别人的代码
>>>>>>> origin/main
改完 git add 冲突文件 → git commit 即可。
7. 忽略垃圾文件
项目根目录建 .gitignore,比如:
node_modules/
__pycache__/
.env
*.log
.DS_Store
这样这些文件不会被 git add . 塞进去。
新手最小可用路径:装好 → 配 name/email → clone 或 init → 改代码 → add → commit → pull → push。分支、rebase、stash 那些等这套跑顺了再碰。