Git 完整学习笔记

5 阅读3分钟

1. Git 是什么

Git 是一个开源的分布式版本控制系统,用于高效、高速地管理项目代码的版本、历史、协作开发。

三大核心区域

  • 工作区(Workspace):你正在写代码的地方
  • 本地仓库(Repository):本地保存版本历史的区域
  • 远程仓库(Remote):云端仓库(GitHub/Gitee/GitLab)

标准工作流程

  1. 远程仓库克隆/拉取代码到本地
  2. 工作区编写代码
  3. git add → 将文件加入暂存区
  4. git commit → 提交到本地仓库
  5. git push → 推送到远程仓库
  6. 每天开发前:git pull 拉取最新代码

2. Git 基础配置

# 配置全局用户名(只需要配置一次) 
git config --global user.name "你的名字" 
# 配置全局邮箱 
git config --global user.email "你的邮箱" 
# 查看配置信息 
git config --list 

3. Git 最常用基础命令

① 克隆远程仓库(第一次下载代码)

git clone 远程仓库地址 

② 查看状态

git status 

③ 添加到暂存区

git add 文件名 # 添加单个文件 
git add . # 添加所有修改 

④ 提交到本地仓库

git commit -m "提交说明" 

⑤ 推送到远程仓库

git push 

⑥ 拉取远程最新代码

git pull 

⑦ 撤销/检出

git checkout -- 文件名 # 丢弃工作区修改 

4. Git 分支操作(最常用)

查看分支

git branch # 查看本地分支 
git branch -r # 查看远程分支 
git branch -a # 查看所有分支(本地+远程) 
git branch -vv # 查看本地与远程分支关联关系 

创建 & 切换分支

git branch 分支名 # 创建分支 (但依然停留在当前分支)
git checkout 分支名 # 切换分支 
git checkout -b 分支名 # 创建并切换到该分支

合并分支

git merge 分支名 # 把指定分支合并到当前分支 

删除分支

git branch -d 分支名 # 删除本地分支 
git push origin --delete 远程分支名 # 删除远程分支 

其他

git branch -m 新名字 # 重命名当前分支 
git remote update origin --prune # 刷新远程分支列表 

5. 最常用协作场景(必背)

场景1:新建本地分支并推送到远程

# 新建并切换分支 
git checkout -b 分支名 
# 推送到远程并建立关联 
git push -u origin 分支名 
# -u 作用:绑定本地与远程,之后直接 git push 即可 

场景2:把 dev 合并到 master

# 切换到本地分支
git checkout dev 
# 拉取最新分支代码
git pull [把dev分支上的内容都拉取到本地:git pull origin dev]
# 切换到主分支 
git checkout master 
# 拉取最新主分支代码 
git pull 
# 合并 dev 分支 
git merge dev 
# 推送到远程 
git push 

场景3:开发分支同步主分支最新代码

# 切到主分支 
git checkout master 
# 拉最新代码 
git pull 
# 切回自己的开发分支(如 dev) 
git checkout dev 
# 合并主分支最新代码 
git merge master 

场景4:将远程 main 合并到本地 test 分支

# 切换到本地 test 分支 
git checkout test 
# 拉取远程 main 分支的最新更改
git pull origin main
# 如果你想要将合并后的更改推送到远程的 test 分支
git push origin test 

场景5:新建本地分支并推送到远程并与新推送的分支进行绑定

# 新建并切换到本地dev分支
git checkout -b 本地分支名
# 把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名)
git push origin 分支名:分支名    
# 将本地dev和远程仓库的origin/dev关联起来
git branch -u origin/远程分支 本地分支    
# 查看本地分支与远程分支的映射关系 
git branch -vv       

6. 版本回退(常用)

git log # 查看提交历史 
git reset --hard 提交ID # 回退到指定版本