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);
    • 修复后同时合并回main和develop。

四、分支合并与冲突解决

1. 合并分支(如合并feature/login到develop)

bash

运行

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

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

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

    运行

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

五、分支管理技巧

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

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

  • 拉取远程分支 :

    bash

    运行

    复制代码
    git checkout -b 本地分支名 origin/远程分支名  # 拉取远程分支到本地
相关推荐
catoop13 小时前
用 Shell 包装函数,让单个命令拥有专属配置
git
Zguigo14 小时前
学会更高效的理解AI的输出?
人工智能·git·ai
鬼手点金18 小时前
上下文:Agent 的眼睛
java·前端·人工智能·git·深度学习
guohuang21 小时前
让机器人安全失败:点云中断、TF 超时和控制器崩溃怎么测
git·安全·机器人
小道士写程序1 天前
Git 大文件问题解决办法
git
黑泽明Coding1 天前
如何重置git分支,清空分支所有提交历史
git
小堃学编程1 天前
Git远程开发操作指南
git
于眠牧北1 天前
雷电模拟器9/14搭配charles抓取自带浏览器接口9/14
经验分享·笔记·git
鬼手点金1 天前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt
金融小师妹2 天前
多因子时间序列分析:美元与美债收益率变化对黄金价格+1.6%的影响
c语言·人工智能·git·决策树·pyqt