1. 分类
- 分布式版本控制工具:Git、Mercurial、Bazaar、Darcs...
- 集中式版本控制工具:CVS、SVN、VSS...
2. 流程
-
工作区 →
git add
→ 暂存区 →git commit
→ 本地库 -
本地库→
git push
→ 远程库- 远程库:
- 互联网:GitHub、Gitee(码云)
- 局域网:GitLab
- 远程库:
3. 常用命令
3.1 基础操作
git init # 初始化仓库
git clone <仓库地址> # 克隆远程仓库到本地
3.2 分支操作
git branch # 查看所有分支
git branch <分支名> # 创建新分支
git checkout <分支名> # 切换分支
git checkout -b <分支名> # 创建并切换到新分支
git merge <分支名> # 合并分支到当前分支
git branch -d <分支名> # 删除分支
git branch -D <分支名> # 强制删除分支
3.3 提交操作
git add <文件名> # 添加文件到暂存区
git add . # 添加所有文件到暂存区
git commit -m "提交信息" # 提交文件到本地仓库
git commit --amend -m "新信息" # 修改最后一次提交
3.4 远程操作
git remote add <别名> <地址> # 添加远程仓库别名
git remote -v # 查看远程仓库别名
git push <别名> <分支名> # 推送本地分支到远程
git push -u origin <分支名> # 推送并设置追踪分支
git pull origin <分支名> # 拉取远程分支到本地
3.5 日志与状态
git status # 查看当前状态
git log --oneline # 查看简洁日志
git reflog # 查看操作记录
git diff # 查看文件改动
git diff --cached # 查看暂存区与工作区差异
3.6 撤销操作
git checkout -- <文件名> # 撤销工作区修改
git reset HEAD <文件名> # 取消暂存的文件
git reset --soft <commit-id> # 回退到某次提交(保留修改)
git reset --hard <commit-id> # 回退到某次提交(删除修改)
3.7 标签操作
git tag <标签名> # 创建标签
git tag # 查看标签
git push origin <标签名> # 推送标签到远程
git tag -d <标签名> # 删除本地标签
git push origin --delete <标签名> # 删除远程标签
3.8 配置操作
git config --global user.name "用户名" # 配置全局用户名
git config --global user.email "邮箱地址" # 配置全局邮箱
git config --list # 查看所有配置
3.9 其他操作
git clone --depth=1 <仓库地址> # 浅克隆
git stash # 存储当前工作进度
git stash pop # 恢复存储的工作进度
4. 补充
4.1 分支的变基与合并
- 变基(Rebase):将提交历史线性化,适用于整理分支。
- 合并(Merge):保留分叉和合并点,适用于团队协作。
4.2 远程库操作
git push # 推送本地所有版本记录及文件到远程仓库
git clone <远程仓库地址> # 克隆远程仓库完整记录到本地
git clone --depth=1 <远程仓库地址> # 浅克隆,克隆最新版本文件,不含完整历史
git pull # 拉取远程仓库最新改动并合并
# 资源
入门教程:Git+GitHub
入门教程:Git+Gitee+VsCode
tql