Git 学习笔记

Git 简介

Git 是一个分布式版本控制系统,用于跟踪文件更改,协作开发软件项目。

特点:

  • 分布式:每个开发者本地都有完整仓库。
  • 高效:分支和合并操作快速。
  • 安全:数据通过哈希存储,不易被篡改。

安装 Git

Windows:

下载地址:https://git-scm.com/

安装后可使用 Git Bash。

macOS:

brew install git

Linux:

sudo apt update
sudo apt install git

Git 配置

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --global core.editor "vim"
git config --list  # 查看当前配置

Git 基本操作

初始化仓库

git init

克隆仓库

git clone <仓库地址>

文件状态管理

git status         # 查看状态
git add <文件>     # 添加到暂存区
git add .          # 添加所有更改
git commit -m "提交说明"  # 提交
git diff           # 查看未暂存的更改
git diff --staged  # 查看已暂存但未提交的更改

移除文件

git rm <文件名>

修改提交信息

git commit --amend

Git 分支管理

创建与切换

git branch              # 查看本地分支
git branch <分支名>     # 创建分支
git checkout <分支名>   # 切换分支
git checkout -b <分支名>  # 创建并切换分支

合并分支

git merge <分支名>  # 将指定分支合并到当前分支

删除分支

git branch -d <分支名>  # 删除本地分支

解决冲突

手动编辑冲突文件,删除冲突标记后执行:

git add <文件>
git commit

Git 远程操作

添加远程仓库

git remote add origin <地址>

查看远程仓库

git remote -v

推送与拉取

git push -u origin main  # 首次推送
git push origin <分支名>
git pull origin <分支名>

克隆时设置分支名称(默认不是 master)

git clone -b <分支名> <仓库地址>

Git 标签(Tags)

创建标签

git tag <标签名>              # 本地轻量标签
git tag -a <标签名> -m "说明"  # 注解标签

推送标签

git push origin <标签名>
git push origin --tags

删除标签

git tag -d <标签名>
git push origin :refs/tags/<标签名>

Git 忽略文件(.gitignore)

.gitignore 文件列出不希望被 Git 管理的文件或目录:

示例:

*.log
node_modules/
.env

Git 日志与查看工具

git log              # 查看提交记录
git log --oneline    # 简洁格式
git log --graph      # 图形显示分支合并
git show <哈希>      # 查看某次提交详情

Git 工作流

常见工作流

1. Git Flow 工作流
  • 主干:main
  • 开发分支:develop
  • 功能分支:feature/*
  • 修复分支:hotfix/*
  • 发布分支:release/*
2. GitHub Flow
  • 直接在 main 上创建分支,合并通过 Pull Request。
3. Fork + Pull Request 工作流
  • 在开源项目中常见。

常见问题与解决方案

修改最后一次提交

git commit --amend

撤销操作

git reset HEAD <文件>     # 撤销 git add
git checkout -- <文件>    # 放弃本地修改
git reset --hard HEAD     # 撤销所有本地更改(谨慎)

回滚到某个提交

git reset --hard <commit_id>  # 强制回滚

删除远程分支

git push origin --delete <分支名>

推荐资源

  • Pro Git 中文版
  • Git 官网
  • GitHub 教程

Git 配合 IntelliJ IDEA 使用流程

在日常开发中,使用 IDEA 集成 Git 可以大大简化命令行操作流程,以下是一个常见的使用流程。

一、配置 Git

  1. 打开 IDEA -> Settings / Preferences -> Version Control -> Git
  2. 配置 Git 可执行文件路径,一般是:
    • Windows: C:\Program Files\Git\bin\git.exe
    • macOS/Linux: /usr/bin/git 或使用 which git 查找
  3. 点击 “Test” 验证 Git 配置是否可用。

二、关联项目到 Git 仓库

初始化 Git 仓库
  • VCSEnable Version Control Integration → 选择 Git

或者你已在命令行初始化过:

git init

IDEA 会自动识别并显示 Git 面板。


三、常用操作流程

1. 新增或修改文件
  • 修改后,在右侧文件标签或 Project 栏看到变色提示:

    • 蓝色:已修改未提交
    • 绿色:新文件未提交
2. 添加到暂存区(git add
  • 右键文件 → Git → Add,或在 Commit 窗口勾选文件即可自动添加
3. 提交到本地(git commit
  • 使用快捷键 Ctrl + K(macOS: Cmd + K)打开 Commit 窗口
  • 填写提交信息,点击 CommitCommit and Push
4. 推送到远程仓库(git push
  • 快捷键 Ctrl + Shift + K(macOS: Cmd + Shift + K
  • 选择远程分支,点击 Push
5. 拉取远程更新(git pull
  • VCSGitPull
  • 或点击工具栏上的箭头按钮

四、分支操作

创建分支
  • 点击右下角 Git 分支按钮 → New Branch
  • 或使用 VCSGitBranches 菜单
切换分支
  • 同样通过右下角或 VCS → Git → Branches 进行切换
合并分支
  • GitBranches → 选择目标分支 → Merge into Current

五、查看历史和对比

查看提交历史
  • VCSGitShow History
  • 或选中文件 → 右键 → GitShow History
查看差异(Diff)
  • Ctrl + D(macOS: Cmd + D)对比不同版本内容

六、冲突处理

当发生冲突时:

  • IDEA 会自动弹出 Merge 工具界面
  • 三栏对比视图:左(当前分支)、右(合并分支)、中间(最终结果)
  • 保留需要的修改,点击 “Accept” 完成合并
  • 然后 Commit Merge 完成提交

七、.gitignore 配置(在 IDEA 中)

  • 右键项目根目录 → New.gitignore File
  • 使用插件 Ignore Plugin 可自动生成常见模板

八、常用快捷键总结(Windows/Linux)

操作 快捷键
提交 Ctrl + K
推送 Ctrl + Shift + K
拉取 Ctrl + T
更新项目 Ctrl + Shift + A → 输入 “Update”
显示历史记录 Alt + ` → Git → Show History
文件差异比较 Ctrl + D

(macOS 替换 Ctrl → Cmd)


实际开发中的典型 Git 使用流程(结合 IDEA)

  1. 更新远程主分支:Pull 最新代码
  2. 创建本地功能分支:feature/xxx
  3. 在该分支开发 → 本地提交多次
  4. 功能完成后 Push 分支到远程
  5. 发起 Pull Request(如使用 GitHub)
  6. 评审通过后合并代码,删除分支
  7. 切换回 maindevelop,拉取最新代码

你可能感兴趣的:(git,学习,笔记)