当前位置: 首页 > news >正文

关于git的使用流程

🧠 一、Git 是什么?

Git 是一个分布式版本控制系统,常用于代码管理、团队协作开发。它能记录项目的每一次修改,方便你随时“回到过去”。


🚀 二、Git 工作流程(简化版)

rust
​
​
复制编辑
工作目录 -> 暂存区 -> 本地仓库 -> 远程仓库
  1. 工作目录:你实际写代码的地方。

  2. 暂存区(Staging Area):准备提交的地方。

  3. 本地仓库(Local Repository):你的 Git 仓库,存储项目历史记录。

  4. 远程仓库(Remote Repository):例如 GitHub、Gitee 上的仓库。


🛠️ 三、Git 常用命令大全

1. 初始化与配置

bash复制编辑git init                        # 初始化本地仓库
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

2. 添加与提交

bash复制编辑git status                      # 查看状态
git add 文件名                 # 添加文件到暂存区
git add .                      # 添加全部文件
git commit -m "描述信息"        # 提交到本地仓库

3. 查看日志

bash复制编辑git log                        # 查看提交历史
git log --oneline              # 简洁查看提交历史

4. 分支操作

bash复制编辑git branch                     # 查看分支
git branch 分支名              # 创建分支
git checkout 分支名            # 切换分支
git merge 分支名               # 合并分支
git branch -d 分支名           # 删除分支

5. 远程操作(以 GitHub 为例)

bash复制编辑git remote add origin 仓库地址     # 添加远程仓库
git push -u origin master          # 第一次推送主分支
git push                           # 后续推送
git pull                           # 拉取远程仓库内容

📁 四、Git 文件状态图解

scss
​
​
复制编辑
未跟踪(Untracked) → 暂存(Staged) → 已提交(Committed)

配合命令:

  • git add:从未跟踪或已修改 → 暂存

  • git commit:从暂存 → 提交

  • git status:查看当前状态


🧯 五、常见问题

1. 忘记 add?

bash
​
​
复制编辑
git commit -am "快速提交已修改文件"

2. 想撤销修改?

bash
​
​
复制编辑
git checkout -- 文件名    # 丢弃工作区的修改

3. 想回退提交?

bash复制编辑git reset --hard HEAD^       # 回退到上一个版本
git reset --hard 提交ID      # 回退到指定版本

📘 六、进阶学习建议

  • 学习 .gitignore 忽略文件配置

  • 熟悉 Git 分支管理策略(如 Git Flow)

  • 学习 rebasestash 等高级用法

  • 图形化工具:GitHub Desktop / Sourcetree


✅ 七、学习资源推荐

  • 官方文档:Git

  • 廖雪峰的 Git 教程:简介 - Git教程 - 廖雪峰的官方网站

  • Pro Git 中文版:Git


需要我帮你写一个 Git 学习笔记 PDF 或者项目示例也可以告诉我!你也可以说你现在在做哪个项目,我教你实际应用 Git。

您说:

学习 .gitignore 忽略文件配置

ChatGPT 说:

好的,下面是关于 .gitignore 文件的学习指南,让你掌握如何忽略不该被提交到 Git 仓库的文件。


📄 一、.gitignore 是什么?

.gitignore 文件用于告诉 Git:哪些文件不需要提交到版本库

例如:日志文件、临时文件、本地配置、构建输出等。


📁 二、.gitignore 放在哪?

通常 .gitignore 放在项目的根目录下,Git 自动识别。


✍️ 三、常见规则写法

规则含义
*.log忽略所有 .log 文件
temp/忽略整个 temp 文件夹
*.class忽略所有 Java 编译后的 .class 文件
!important.log例外规则:不忽略 important.log
*.txt忽略所有 .txt 文件
/config/settings.json只忽略根目录下的该文件


📌 四、示例 .gitignore

这是一个适用于 Web 项目的示例:

gitignore复制编辑# Node.js 项目忽略
node_modules/
npm-debug.log
dist/
​
# Vue 项目
*.local
.env.local
.env.*.local
​
# Mac 系统
.DS_Store
​
# IDE 忽略
.idea/
.vscode/
​
# 编译文件
*.out
*.class
*.exe

🔍 五、已经被 Git 跟踪的文件如何忽略?

说明:.gitignore 只能忽略未被 Git 跟踪的文件。如果文件已经提交过,需要先删除缓存。

步骤:

bash复制编辑git rm -r --cached 文件名或目录
git commit -m "删除缓存的文件"

🎁 六、常见项目的 .gitignore 模板

你可以使用 GitHub 官方提供的模板:

  • GitHub - github/gitignore: A collection of useful .gitignore templates

包括了:Java、Python、Node、Vue、React、C++ 等各种语言和框架的 .gitignore 模板。


✅ 七、小结:使用建议

  1. 项目一开始就配置 .gitignore

  2. 配置通配符规则简洁明了

  3. 不要忽略关键文件(如配置文件模板,可提交 .env.example

  4. 避免在 .gitignore 中滥用 ! 例外规则,容易出错


需要我根据你的项目(比如 Vue + Spring Boot)为你生成一份 .gitignore 吗?只要告诉我技术栈,我可以帮你写好一份直接用。

您说:

现在 如果公司给我发一个远端仓库地址 让我完成部分接口开发 整个git流程是怎么样的

ChatGPT 说:

这是一个非常常见的工作场景!如果公司已经为你建好了一个远程仓库并给了你地址,要求你完成部分接口开发,那么你的 完整 Git 开发流程 通常如下👇


🧭 一、前提条件

你需要确保本地已安装好 Git,并且已经配置了用户名和邮箱:

bash复制编辑git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

🧷 二、Git 工作流程(完整)

✅ 第1步:克隆远程仓库

bash复制编辑git clone 仓库地址.git
cd 项目目录

例如:

bash复制编辑git clone https://gitee.com/your-company/project-backend.git
cd project-backend

✅ 第2步:切换开发分支

一般公司项目不会在 mastermain 上直接开发。

bash
​
​
复制编辑
git checkout -b feature/接口名

建议分支命名规范:feature/xxxbugfix/xxxhotfix/xxx


✅ 第3步:开发你的接口代码

比如你开发一个 /user/login 接口,修改后进行如下操作:


✅ 第4步:添加改动并提交

bash复制编辑git status                  # 查看修改了哪些文件
git add .                   # 添加所有改动文件
git commit -m "新增用户登录接口"

✅ 第5步:推送到远程分支

bash
​
​
复制编辑
git push origin feature/接口名

第一次推送可能需要 -u 选项建立跟踪关系:

bash
​
​
复制编辑
git push -u origin feature/接口名

✅ 第6步:发起合并请求(PR / MR)

如果公司用的是:

  • GitHub / Gitee:登录网页,发起 Pull Request(PR)

  • GitLab:发起 Merge Request(MR)

通常是合并到 devmain 分支,需要团队其他人代码审核后合并。


✅ 第7步:后续同步主分支的更新

多人协作时,主分支在不断更新,开发过程中可以定期同步:

bash复制编辑git checkout dev                    # 回到主分支
git pull origin dev                 # 拉取远程最新代码
git checkout feature/接口名         # 回到你的分支
git merge dev                       # 合并主分支最新改动

或者更高级的做法(重写提交历史):

bash
​
​
复制编辑
git rebase dev

🧯 补充:常见注意事项

情况应对策略
.gitignore 没写好修改后用 git rm -r --cached 文件名 清缓存
提交错分支了可以用 git cherry-pickrebase 搬迁提交
push 失败git pull --rebase 冲突解决后再 push
想撤销提交git resetgit revert 等回退命令


🧪 示例:Spring Boot 项目开发流程简图

sql复制编辑git clone ...↓
git checkout -b feature/user-api↓
编码开发:新增 LoginController.java↓
git add . && git commit -m "新增登录接口"↓
git push origin feature/user-api↓
登录 Gitee 发起 PR 到 dev

❓你现在可以告诉我:

  • 公司给你的远程地址是 Gitee 还是 GitHub?

  • 项目是前端、后端还是全栈?

  • 你开发的接口大概是什么功能?

我可以帮你写出具体的命令和操作手册,比如帮你生成专属 .gitignore,或者命令行提示脚本。

您说:

那么如果我开发另外一个接口每次都需要拉去代码最新代码下来吗 如果是 具体操作是什么

ChatGPT 说:

是的,在多人协作开发中,你在开发新的接口前,保持本地代码是最新的是非常重要的,避免冲突、保证集成正常。下面我给你讲清楚 是否需要拉取代码拉取的时机具体操作步骤


✅ 一、开发新接口前,为什么要拉取最新代码?

原因如下:

  1. 团队其他人可能刚刚合并了代码(比如修改了公共类、数据库实体等)。

  2. 你的接口开发可能依赖其他人最近提交的功能(例如统一返回格式、认证中间件等)。

  3. 避免代码冲突 —— 如果你基于老代码开发,合并的时候很容易冲突。


🔁 二、开发新接口的标准流程(含拉取最新代码)

✅ 第1步:回到主分支(如 devmain

bash
​
​
复制编辑
git checkout dev

✅ 第2步:拉取远程最新代码

bash
​
​
复制编辑
git pull origin dev

⛳ 如果有冲突,按照提示解决后再继续。


✅ 第3步:基于最新代码创建新分支(开发你要的新接口)

bash
​
​
复制编辑
git checkout -b feature/new-api

分支命名规范推荐: feature/xxx:新增功能接口 bugfix/xxx:修复 bug hotfix/xxx:紧急修复


✅ 第4步:开发你的接口、提交并推送

bash复制编辑git add .
git commit -m "新增 xx 接口"
git push origin feature/new-api

🔁 三、开发过程中,如何继续保持你的分支是最新的?

比如你在开发中途,团队成员把 dev 分支更新了,你想同步这些更新:

✅ 方法一:merge(简单安全)

bash复制编辑git checkout feature/new-api
git pull origin dev         # 如果当前分支没关联主分支,就先切换 dev 拉代码
git merge dev

✅ 方法二:rebase(干净提交历史)

bash复制编辑git checkout feature/new-api
git fetch origin
git rebase origin/dev

🧪 四、开发多个接口的完整工作循环

每个接口都这样做一次:

bash复制编辑git checkout dev
git pull origin dev
git checkout -b feature/login-api
开发、提交、推送...
发起 PR 或 MR

然后开发下一个接口时:

python-repl复制编辑git checkout dev
git pull origin dev
git checkout -b feature/register-api
...

✅ 五、补充:推荐的分支策略

类型分支名称用途说明
主分支main / master稳定上线版本
开发分支dev开发人员的公共合并分支
功能分支feature/xxx每个功能/接口一个分支
Bug 修复分支bugfix/xxx修复问题


如果你愿意,我可以基于你当前项目结构(比如 Spring Boot 项目 + Git 流程)帮你写一个 标准化开发指南 markdown 文档,你只要照着操作就行了。是否需要我来帮你写?

您说:

pull每次拉取到本地仓库哪个位置,是本地的克隆文件里面吗

ChatGPT 说:

非常好问题!你的理解已经很接近了,我来明确解释一下:


git pull 到底把代码拉到哪里了?

当你执行:

bash
​
​
复制编辑
git pull origin dev

它实际上做了两件事:

  1. 从远程仓库拉取(fetch)最新的 dev 分支的提交记录 到本地仓库;

  2. 自动将远程的更新合并(merge)到你当前所在的本地分支


🔍 那这些拉下来的内容放在哪?

可以理解为:

✅ 情况1:你当前在 dev 分支

bash
​
​
复制编辑
git pull origin dev

📌 更新的代码会直接被合并到你本地当前目录(也就是你看到的克隆项目文件夹)中。

📁 举例:

css复制编辑项目目录/
├── src/
├── pom.xml
└── ...

你在这个目录里工作,git pull 会把远程变更同步到你当前分支的工作目录Git 本地仓库中。


✅ 情况2:你当前在 feature/xxx 分支

这时你拉 dev 分支不会生效!你必须:

bash复制编辑git checkout dev       # 切换到 dev 分支
git pull origin dev    # 拉取远程 dev 更新

如果你想把 dev 的最新代码合并到你当前的 feature/xxx 分支,你需要:

bash复制编辑git checkout feature/xxx
git merge dev

或:

bash
​
​
复制编辑
git rebase dev

📦 补充理解:Git 仓库的结构(简化版)

区域作用
本地仓库.git 目录,存储所有提交历史
暂存区(Index)准备提交的修改
工作目录你实际看到的代码文件(比如 VSCode)

当你执行 git pull,实际上更新了:

  • .git 里的本地仓库记录

  • 当前分支的工作目录(也就是你能看到和编辑的地方)


✅ 所以总结:

💬 是的,git pull 把远程更新的代码直接同步到你本地的克隆项目文件夹中(即你正在开发的那个目录),并且会同步更新你的 .git 本地仓库记录。


如果你想查看“我到底拉了哪些代码”,可以在 git pull 之后运行:

bash
​
​
复制编辑
git log --oneline --graph --decorate --all

它可以帮你可视化地看到各个分支的变动。


如果你想,我也可以画一个 Git 的工作原理图给你,更直观地表示 pull 是怎么作用在工作目录和本地仓库的。是否需要?

您说:

需要

ChatGPT 说:

好的!下面是一个Git 的工作原理图(重点展示 git pull 的流程),帮助你理解从远程拉代码到本地的整个过程:


📌 Git 工作机制简图(以 git pull 为核心)

sql复制编辑                         🌐 远程仓库(origin/dev)│git fetch▼
───────────────────────────────────────────────────────────
🔒 本地仓库(.git)               ← fetch 拿到远程提交记录└─ refs/remotes/origin/dev     ← 更新远程分支引用│git merge(或 rebase)▼
───────────────────────────────────────────────────────────
📂 当前分支(如 dev)└─ 本地代码文件夹(工作目录)└─ src/└─ controller/UserController.java└─ pom.xml

🧠 图解说明:

步骤说明
git fetch只是把远程最新的提交记录下载到本地(不影响工作目录)
git pull = git fetch + git merge拉取远程代码并合并到你当前分支,代码文件就会变了
git merge把远程 dev 分支的变更合并到本地 dev 分支
工作目录你看到的本地项目文件会更新,直接影响你开发的代码


✅ 对应命令流程(你执行的是)

bash复制编辑git checkout dev         # 切换到主开发分支
git pull origin dev      # 拉取远程 dev 的代码合并到当前工作目录

执行完之后:

  • .git 仓库更新:记录了新的提交

  • 工作目录更新:你能看到的代码已经是最新的了!


🧭 小结:本地结构变动位置

位置被更新了吗?说明
.git 目录Git 的本地数据库被更新
工作目录代码文件被更新
暂存区不涉及暂存区(除非你手动 add

小乌龟push方法

ChatGPT 说:

“小乌龟”是大家对 TortoiseGit 的昵称,它是一个图形化的 Git 工具,非常适合初学者进行 Git 操作。

下面是 用 TortoiseGit(小乌龟)执行 push 操作的详细图文流程👇


🐢 小乌龟 Push 操作步骤

✅ 前提条件:

你已经完成了以下工作:

  • 本地代码修改并 commit

  • 本地仓库已经和远程仓库建立关联(cloneremote set-url 完成)


🚀 Step 1:右键点击你的项目文件夹

在本地项目根目录,鼠标右键 ➜ 找到 TortoiseGit ➜ 点 Push...

🖱 右键 → TortoiseGit → Push...


🚀 Step 2:弹出 Push 配置框

你会看到一个 Push 配置界面,注意以下内容:

字段说明
Remote远程仓库名,一般是 origin(默认)
Remote Branch远程分支名,比如你当前开发的是 feature/login-api 就写这个分支名
Local Branch本地当前分支,一般会自动匹配你现在所在的分支

默认情况下本地分支和远程分支一致就直接确认即可。


🚀 Step 3:点击“OK”

点击 OK 后,小乌龟会执行 Push 操作。你可以在弹出的日志窗口看到推送过程,比如:

pgsql复制编辑Pushing to origin
To https://gitee.com/your/repo.git* [new branch]      feature/login-api -> feature/login-api
Done

成功后,表示你把当前分支代码成功推送到了远程仓库!


🧭 Push 后的下一步操作?

通常 push 成功之后,你需要:

  • 去 Gitee / GitHub 网页端发起 Pull Request / Merge Request(将你推送的分支合并到主分支)

  • 通知组长或 Code Review 人员审查代码


⚠️ 注意事项

问题说明
push 报错 non-fast-forward表示远程代码有更新,建议先 pull 最新代码合并再 push
push 不上去可能没权限或分支保护,找管理员开权限或通过 PR 合并
不知道当前分支右键 → TortoiseGit → Switch/Checkout 查看当前分支


✅ 补充:TortoiseGit 的推荐用法顺序

  1. 拉代码(Pull)右键 → TortoiseGit → Pull

  2. 切分支右键 → TortoiseGit → Switch/Checkout

  3. 提交代码(Commit)右键 → Git Commit -> "master"(分支名不同就会显示不同)

  4. 推送代码(Push)右键 → TortoiseGit → Push


如果你需要,我还可以为你做一张 TortoiseGit 操作流程图(中文图解) 或者导出为 Word/PDF 指南文档,你想要哪种形式?

您说:

如果没有其他分支能直接push feature/login-api吗

ChatGPT 说:

可以直接 push feature/login-api 分支,即使远程仓库还没有这个分支。

这是 Git 的正常机制,也是企业开发中创建新功能分支的常规操作。下面是详细解释和操作方式:


🧩 场景:你创建了本地新分支 feature/login-api

bash复制编辑git checkout -b feature/login-api
# 开发接口...
git add .
git commit -m "feat: 新增用户登录接口"

🟢 问:远程没有这个分支,可以直接 push 吗?

可以,Git 会自动创建远程分支,只要你指定了要 push 到哪:

bash
​
​
复制编辑
git push origin feature/login-api

或者在 TortoiseGit 中:

  • 右键 → TortoiseGit → Push...

  • 选择:

    • Local Branch: feature/login-api

    • Remote Branch: feature/login-api

  • 勾选:Track(让本地分支跟踪远程)

  • 点击 OK

🟢 成功后,远程仓库就会出现 feature/login-api 分支了。


🔄 后续:多人协作中该怎么办?

  1. 你 push 后,其他人可以执行:

    bash复制编辑git fetch origin
    git checkout feature/login-api

    就能拉到你新建的分支。

  2. 或者直接:

    bash
    ​
    ​
    复制编辑
    git checkout -b feature/login-api origin/feature/login-api

🔒 注意事项

情况是否可行说明
远程没有该分支✅ 可 pushGit 会自动创建远程分支
公司禁用推送新分支❌ 不可 push某些团队设置了分支保护,需开通权限或走 PR 流程
本地未提交 commit❌ 不可 pushGit 不允许 push 空分支(没提交记录)


🎯 建议:首次 push 用这个命令更规范

bash
​
​
复制编辑
git push -u origin feature/login-api

含义:

  • -u:让本地分支和远程分支建立“追踪关系”

  • 之后你可以简化为 git push,不再每次写全命令


如果你想,我可以提供一个企业标准分支命名规范文档(如 feature/xxxbugfix/xxxhotfix/xxx)供团队使用。是否需要?

您说:

这里我直接push Remote Branch: master/exp3 全程有master分支没有exp3 结果报错git.exe push --progress "origin" master:master/exp3 Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) remote: Powered by GITEE.COM [1.1.5] remote: Set trace flag 4145f99b remote: error: cannot lock ref 'refs/heads/master/exp3': 'refs/heads/master' exists; cannot create 'refs/heads/master/exp3' To Klong.k/webLearn ! [remote rejected] master -> master/exp3 (failed to update ref) error: failed to push some refs to 'Klong.k/webLearn' git did not exit cleanly (exit code 1) (1907 ms @ 2025/5/28 18:31:41)

ChatGPT 说:

你这个报错是因为:你试图把本地的 master 分支 push 到远程的 master/exp3 分支,而这种“斜杠命名”的分支名是不合法的(因为它会跟已有的 master 分支路径冲突)。


❌ 报错解析:

txt复制编辑error: cannot lock ref 'refs/heads/master/exp3': 
'refs/heads/master' exists; cannot create 'refs/heads/master/exp3'

意思是:

  • 你要创建一个叫 master/exp3 的分支

  • 但远程已经有一个 master 分支了,它是 refs/heads/master

  • Git 的分支结构本质是目录,如果 master 是一个文件(即分支),就不能在它下面再建文件夹 exp3,会冲突!


✅ 正确做法:

✅ 1. 不要用 master/exp3,建议用 exp3feature/exp3

bash
​
​
复制编辑
git push origin master:exp3

意思是:把本地 master 推送为远程的 exp3 分支

或者建议更企业化一点:

bash
​
​
复制编辑
git push origin master:feature/exp3

🚫 不推荐的 Remote Branch 名:

错误命名原因
master/exp3会与已有 master 分支冲突,Git 不允许
main/xxx同理,如果已有 main 分支,也不允许


💡 建议命名规范:

类型建议命名
新功能feature/xxx
修复问题bugfix/xxx
紧急修复hotfix/xxx
试验功能exp/xxxtest/xxx


✅ 小乌龟 TortoiseGit 中怎么改?

在 Push 对话框中:

  • Local Branch: master

  • Remote Branch: 改成:feature/exp3(不要带斜杠前缀的分支名)

然后点击 OK 即可。


需要我给你一张 “远程分支命名冲突与规范”图解图或者做一份小团队 Git 流程规范文档吗?我可以帮你一键生成。

您说:

那么在开发过程中会不会有别人也是feature/接口名呢

ChatGPT 说:

非常好的问题!这确实是多人协作中 Git 分支管理的核心问题之一。下面我从实际项目经验出发,详细回答:


✅ 会不会有别人也用 feature/接口名

答案是:

有可能,但在成熟团队中一般不会冲突 —— 因为每个人命名时会加上前缀(如姓名、工号、缩写)或用 issue 编号来区分


🧠 推荐的企业级命名规范(防冲突)

✅ 推荐命名格式:

复制编辑
feature/{开发者缩写或姓名}-{功能简述}
例子:
开发者功能分支名
张三(zs)登录接口feature/zs-login-api
李四(ls)用户列表接口feature/ls-user-list
统一规范 + 任务编号登录功能(#123)feature/123-login


🧱 分支命名常用规范总结

类型命名格式示例
功能开发feature/名字-功能feature/zhangsan-login
Bug 修复bugfix/名字-问题点bugfix/lisi-404error
UI开发ui/名字-页面名ui/wangwu-homepage
实验分支exp/名字-测试功能exp/test-cache-logic
紧急修复hotfix/名字-描述hotfix/zz-token-expired


🚧 如果两人分支名冲突了会怎样?

  • Git 是允许你创建自己的分支的,哪怕别人也有同名分支,本地不会冲突

  • 冲突通常发生在 push 时,如果你试图 push 到远程已有的同名分支(而你和别人提交记录不同),Git 会拒绝

bash
​
​
复制编辑
! [rejected]        feature/login -> feature/login (non-fast-forward)

✅ 如何避免分支冲突(总结)

方法做法
加名字缩写feature/zs-login
加任务号feature/123-login
查远程分支名git branch -r 或用 Gitee / GitHub 页面看已有分支
建分支前拉最新代码避免误基于旧分支开发


💡 最佳实践(企业实战)

每个人新建分支前都要:

  1. git pull origin dev 保证是最新代码

  2. 创建规范命名的分支

  3. 提交时附上清晰的 commit 信息 + 分支名与 PR 描述统一


是否需要我为你生成一份Git 分支命名与协作规范文档(Markdown/PDF)*或写一个*公司内部 GitFlow 流程规范图?可以直接发给团队使用。需要吗?

您说:

但是 feature不是同一个分支吗 你刚刚提到一个分支下面不能有其他目录

ChatGPT 说:

非常棒的问题!你抓住了核心:Git 分支的命名结构看起来像“目录”,但其实并不是“树形目录”那样的子结构。

下面我会清晰地帮你区分这个概念:


🧠 Git 分支名为什么可以写成 feature/login

✅ Git 分支名是“扁平的字符串”,但允许用 / 来命名

  • 你可以把分支命名为 feature/login

  • 也可以命名为 feature/zs-loginfeature/123-login

这些 /不是文件夹,只是 Git 用来分类命名的“视觉效果” 👉 在 Git 的内部,它们就是普通字符串。


🧩 那为什么你之前的 master/exp3 会报错?

这是关键点:

master 是一个实际存在的分支名 当你试图创建 master/exp3 时,Git 会认为你要创建一个 以 master 为目录的分支结构, 但 Git 不允许一个“名字”既是文件又是目录。


✅ 类比理解(非常重要)

情况会报错?原因
已有分支叫 master,你新建 master/exp3❌ 是的master 是文件,不能创建它的“子目录”了
新建 feature/zs-loginfeature/ls-login✅ 不会feature/zs-loginfeature/ls-login 都是扁平的全名,没有冲突
新建 feature 然后新建 feature/login❌ 是的feature 已经是完整分支名,不能再变成“目录”


🛠 企业实战中怎么避免冲突?

👉 关键就是:不要用一个单词直接作为分支名,比如不要单独使用 featurebugfix 这种通用词。

否则你就不能再创建 feature/xxx 形式的命名。


✅ 总结:什么分支命名不会冲突?

合法分支名
feature/login
feature/zs-login
feature/123-login
bugfix/null-error
master/exp3(因为 master 已存在)
feature(如果后续还想加 feature/login


✅ 建议你们团队一开始就避免单词型分支名,例如:

相关文章:

  • ffmpeg baidu
  • 微信小程序(uniapp)对接腾讯云IM
  • 云服务器是什么,和服务器有什么区别?
  • redis-py 在 Python 中连接与使用 Redis
  • Linux之守护进程
  • sl4j+log4j日志框架
  • 硬件服务器基础
  • uniapp 实战demo
  • Spring Boot微服务架构(八):开发之初就引入APM工具监控
  • 端口映射不通的原因有哪些?路由器设置后公网访问本地内网失败分析
  • uniapp-商城-73-shop(6-商品列表,步进器添加数据到购物车,步进器数据同步(深度监听))
  • jenkins部署slave动态节点
  • Metasploit工具使用详解(中)笔记
  • STM32 ADC工作原理与配置详解
  • 《棒球百科》NCAA棒球体系·棒球1号位
  • 使用LangChain与多模态模型实现图像中的文字和表格提取(PDF可转图片)
  • Vue 项目中 Sass 与 Less 的对比
  • docker 网络-用户定义网络
  • Vue内置指令与自定义指令
  • 深入理解SQLMesh中的Lookback、Forward-Only和Auto-Restatement特性
  • 哪个网站可以做创意短视频/百度指数工具
  • 网站建设常识/百度外包公司有哪些
  • O2O网站开发工程师/营销战略包括哪些方面
  • 做影视网站怎么/北京网站快速排名优化
  • 免费网页设计模板网站/网络营销促销方案
  • www 上海网站建设/友情链接网站