gitignore基本使用+Git分支使用

一、.gitignore 核心作用

告诉 Git忽略哪些文件 / 文件夹(不跟踪、不提交到版本库),用于过滤无版本管理价值的内容(如临时文件、编译产物)。

二、.gitignore 规则语法(必掌握)

遵循 "匹配优先、从上到下生效",支持通配符与特殊符号:

规则示例 含义说明
*.log 忽略所有.log后缀的文件(*匹配任意字符)
temp/ 忽略temp文件夹(末尾/表示匹配文件夹)
!test.log 例外规则:在*.log基础上,不忽略test.log!取反)
src/*.tmp 仅忽略src目录下的.tmp文件(子目录不忽略)
src/**/*.tmp 忽略src及其所有子目录下的.tmp文件(**匹配任意层级)
/README.txt 仅忽略根目录下的README.txt/限定根目录)
# 注释 注释行(以#开头,不生效)

三、.gitignore 使用流程

1. 创建 .gitignore 文件
  • 项目根目录下新建.gitignore文件(可手动创建或通过 GitHub 仓库初始化时选择生成)。
2. 编写忽略规则

根据项目类型添加对应规则,示例(前端项目):

plaintext

复制代码
# 依赖文件夹
node_modules/
# 编译产物
dist/
# 日志/临时文件
*.log
*.tmp
# IDE配置
.vscode/
3. 提交 .gitignore 到版本库

bash

运行

复制代码
git add .gitignore
git commit -m "添加.gitignore:忽略依赖、编译产物"

四、常见问题与解决

问题 1:已跟踪的文件加入.gitignore 后不生效

原因:.gitignore仅对未跟踪文件生效。解决:移除文件的 Git 跟踪(保留本地文件):

bash

运行

复制代码
git rm --cached 文件名
git commit -m "停止跟踪文件名:已加入.gitignore"
问题 2:.gitignore 本身被忽略

原因:规则中写了.gitignore。解决:删除规则中的.gitignore行,重新添加跟踪:

bash

运行

复制代码
git add .gitignore

五、通用 .gitignore 模板

可根据项目类型选择(如 Python/Java/ 前端),也可使用 GitHub 官方模板(https://github.com/github/gitignore)。

一、分支核心概念

分支是 Git 中隔离开发流程的工具,核心作用:

  • 主分支(如main/master):存放稳定的生产代码;
  • 功能分支(如feature/login):开发新功能,避免影响主分支;
  • 修复分支(如hotfix/bug-123):紧急修复线上问题。

二、分支基础操作

1. 查看分支

bash

运行

复制代码
git branch          # 查看本地分支(*标记当前分支)
git branch -r       # 查看远程分支
git branch -a       # 查看所有分支(本地+远程)
2. 创建 / 切换分支

bash

运行

复制代码
git branch 分支名    # 创建分支
git checkout 分支名  # 切换到指定分支
# 简写:创建并切换
git checkout -b 分支名
3. 删除分支

bash

运行

复制代码
git branch -d 分支名  # 删除本地分支(需先切换到其他分支)
git branch -D 分支名  # 强制删除未合并的分支
git push origin --delete 分支名  # 删除远程分支
4. 推送分支到远程

bash

运行

复制代码
git push -u origin 分支名  # 推送本地分支到远程,并关联(-u表示设置上游)

三、分支协作流程(经典 Git Flow)

  1. 主分支

    • main:稳定版本,用于发布;
    • develop:开发主分支,整合功能分支。
  2. 功能分支

    • develop分支创建(如feature/pay);
    • 开发完成后合并回develop
  3. 修复分支

    • main分支创建(如hotfix/order-bug);
    • 修复后同时合并回maindevelop

四、分支合并与冲突解决

1. 合并分支(如合并feature/logindevelop

bash

运行

复制代码
git checkout develop    # 切换到目标分支
git merge feature/login # 合并功能分支
2. 解决合并冲突
  • 冲突提示:CONFLICT (content): Merge conflict in 文件名

  • 操作:打开冲突文件,删除 Git 标记(<<<<<<</=======/>>>>>>>),手动合并内容;

  • 完成后标记冲突已解决: bash

    运行

    复制代码
    git add 文件名
    git commit -m "解决合并冲突:合并feature/login"

五、分支管理技巧

  • 命名规范 :用类型/描述(如feature/xxxhotfix/xxx),清晰区分分支用途;

  • 定期清理:删除已合并的旧分支,避免分支过多;

  • 拉取远程分支

    bash

    运行

    复制代码
    git checkout -b 本地分支名 origin/远程分支名  # 拉取远程分支到本地
相关推荐
db_cy_20624 小时前
Git对服务器配置文件进行版本控制
运维·服务器·git
好好研究5 小时前
Git - Git分支管理
git
冬-梦6 小时前
iPad Obsidian Git 同步 Gitee 仓库完整指南
git·gitee·ipad·obsidian·efficiency
醇氧7 小时前
【git】 撤回一个本地提交
大数据·git·elasticsearch
空空kkk7 小时前
Git——分支管理
git
Micknee9 小时前
Windows环境下配置git和github
windows·git·github
测试人社区—52729 小时前
你的单元测试真的“单元”吗?
前端·人工智能·git·测试工具·单元测试·自动化·log4j
weixin_4624462310 小时前
macOS 安装 git-lfs
git·macos
CoderJia程序员甲10 小时前
GitHub 热榜项目 - 日榜(2025-12-7)
git·ai·开源·llm·github