news 2026/6/25 18:51:09

GitLab 空项目上传本地文件夹内容到 main 分支--project/localfolder/README.md与project/README.md

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GitLab 空项目上传本地文件夹内容到 main 分支--project/localfolder/README.md与project/README.md

场景

在 GitLab 上新建了一个项目,比如项目名叫A

这个项目刚创建时什么都没有,也没有main分支。现在本地有一个文件夹B,想把B里的所有内容上传到 GitLab 项目A,并且希望上传后 GitLab 项目根目录下直接是B里的文件,而不是多一层B文件夹。

也就是说,希望 GitLab 上是这样:

A/ 文件1 文件夹1/ package.json README.md

而不是这样:

A/ B/ 文件1 文件夹1/ package.json README.md

核心结论

Git 上传的是“当前 Git 仓库根目录里的内容”,不是自动上传外层文件夹名。

如果想让 GitLab 项目A的根目录直接显示B里的内容,就要进入B文件夹内部执行 Git 命令。

关键点是:

cd path\to\B

然后再执行git initgit addgit commitgit push

只要是在B目录里面操作,上传到 GitLab 后就不会多出一层B文件夹。

情况一:B 里还没有 Git

进入本地文件夹B

cd path\to\B

初始化 Git 仓库:

git init

把当前分支改名为main

git branch-M main

添加 GitLab 项目A的远程地址:

git remote add origin git@gitlab.com:用户名/A.git

如果你用的是 HTTPS 地址,也可以写成:

git remote add origin https://gitlab.com/用户名/A.git

添加所有文件:

git add.

提交:

git commit-m"Initial commit"

推送到 GitLab 的main分支:

git push-u origin main

完成后,GitLab 项目A下直接就是B里的内容。

情况二:B 里已经有 Git

如果B文件夹里已经有.git,说明它本身已经是一个 Git 仓库。

先进入B

cd path\to\B

查看当前远程地址:

git remote-v

如果没有远程地址,可以添加 GitLab 项目A

git remote add origin git@gitlab.com:用户名/A.git

如果已经有旧的远程地址,但现在想改成 GitLab 项目A

git remoteset-urlorigin git@gitlab.com:用户名/A.git

把当前分支改成main

git branch-M main

推送:

git push-u origin main

这种做法会保留原来的 Git 提交历史。

情况三:B 里有 Git,但不想保留历史

如果B里已经有.git,但你不想要旧的提交历史,只想把当前文件作为一个全新的项目上传,可以删除.git后重新初始化。

先进入B

cd path\to\B

删除原来的 Git 仓库信息:

Remove-Item-Recurse-Force.git

然后重新初始化:

git init git branch-M main git remote add origin git@gitlab.com:用户名/A.git git add.git commit-m"Initial commit"git push-u origin main

注意:删除.git会丢掉本地 Git 历史、分支、提交记录,只保留当前文件内容。

为什么不会上传成 A/B

假设本地目录是:

D:\code\B index.html src\ README.md

如果你这样操作:

cd D:\code\B git add.

Git 管理的是B目录里面的内容,所以 GitLab 上会是:

A/ index.html src/ README.md

如果你在B的上一级目录操作:

cd D:\code git add B

那 Git 管理的就是B这个文件夹本身,所以 GitLab 上可能会变成:

A/ B/ index.html src/ README.md

所以关键区别就是:要进入B里面再执行 Git 命令。

常见问题

1. GitLab 项目没有 main 分支怎么办

空项目没有分支是正常的。

第一次推送时执行:

git branch-M main git push-u origin main

GitLab 会自动创建main分支。

2. 提示 remote origin already exists 怎么办

说明已经存在名为origin的远程地址。

查看一下:

git remote-v

如果要改成新的 GitLab 地址:

git remoteset-urlorigin git@gitlab.com:用户名/A.git

3. 推送时提示 rejected 怎么办

如果 GitLab 远程项目不是完全空的,可能会出现 rejected。

可以先拉取远程内容再推送:

git pull origin main--allow-unrelated-histories git push-u origin main

如果你确定远程内容不需要,也可以强制推送:

git push-u origin main--force

强制推送会覆盖远程分支历史,使用前要确认远程没有重要内容。

4. SSH 和 HTTPS 地址有什么区别

SSH 地址一般长这样:

git@gitlab.com:用户名/A.git

HTTPS 地址一般长这样:

https://gitlab.com/用户名/A.git

SSH 需要提前配置 SSH Key,但以后推送比较方便。

HTTPS 通常需要输入账号、密码或访问令牌。

最常用命令总结

本地B没有 Git,上传到空 GitLab 项目A

cd path\to\B git init git branch-M main git remote add origin git@gitlab.com:用户名/A.git git add.git commit-m"Initial commit"git push-u origin main

本地B已经有 Git,只是改远程地址:

cd path\to\B git remoteset-urlorigin git@gitlab.com:用户名/A.git git branch-M main git push-u origin main

本地B已经有 Git,但想清空历史重新上传:

cd path\to\BRemove-Item-Recurse-Force.git git init git branch-M main git remote add origin git@gitlab.com:用户名/A.git git add.git commit-m"Initial commit"git push-u origin main
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 18:49:17

SQL注入攻防实战:从原理剖析到自动化工具利用

1. 项目概述:从“万能钥匙”到“系统后门”的SQL注入如果你在网络安全领域摸爬滚打过一阵子,或者哪怕只是看过几部黑客题材的电影,对“SQL注入”这个词也绝对不会陌生。它就像一把古老的“万能钥匙”,虽然技术原理听起来并不复杂&…

作者头像 李华
网站建设 2026/6/25 18:46:52

大模型Agent规模化商用的落地节奏

一、从概念验证到场景深潜:当前的破冰期二、垂直场景爆发:首批规模化落地的赛道三、工具链成熟:从手工作坊到流水线四、成本与可靠性:规模化必须跨越的两道坎五、未来两年:规模化商用的真实窗口预测

作者头像 李华
网站建设 2026/6/25 18:44:44

Grok 4.3 原生视频多模态解析:图文视频联合特征提取技术详解

概要最近在 Kula AI(库拉)leadhi.cn 上刷模型更新,发现Grok 4.3已经悄悄上线了多模态视频能力,顺手测了几个场景,效果确实跟之前不是一个量级。2026年4月30日,xAI正式发布Grok 4.3。这次更新最大的看点不是…

作者头像 李华
网站建设 2026/6/25 18:43:27

TVA在物流分拣领域的独特价值(5)

前沿技术介绍:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,属于“物理AI” 领域的一种全新技术形态,完成了从“虚拟世界”到“…

作者头像 李华
网站建设 2026/6/25 18:42:19

【2013-10-29】Android应用开发笔记:获取天气信息

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2013-10-29 | 标题:Android应用开发笔记:获取天气信息 | 分类: 编程 / android &a…

作者头像 李华