新建目录推送后主项目文件夹自动重复添加Remote问题求助
解决Git推送时主目录自动关联新Remote的问题
看起来你碰到的核心问题是新建目录没有成为独立的Git仓库,导致Git默认沿用了父目录(你的主目录)的仓库配置,所以所有操作都绕到主目录里去了——这也是为什么新remote会自动加到主目录,推送的也是主目录文件。我遇见过不少开发者踩这个坑,咱们一步步来解决:
先确认问题根源
首先打开你的主目录,执行这个命令看看是不是藏着Git仓库:
ls -la
如果能看到 .git 这个隐藏文件夹,那主目录本身就是一个Git仓库,这就是问题的关键——你新建的子目录没有自己初始化仓库,Git就会自动往上找最近的父仓库来执行操作。
正确的新建项目&推送流程
接下来按这个标准流程操作,就能避免主目录被牵连:
- 新建目标目录并进入(替换成你的目录名):
mkdir my-new-project && cd my-new-project - 必须执行这一步:初始化当前目录为独立的Git仓库:
这一步会在当前目录生成自己的git init.git文件夹,后续操作就只会影响这个目录了。 - 关联GitHub上的新仓库:
git remote add origin https://github.com/你的用户名/你的新仓库名.git - 正常执行添加、提交、推送:
git add . git commit -m "Initial commit" git push -u origin main
清理主目录的遗留问题
如果主目录的Git仓库是你不需要的,直接删除它的 .git 文件夹就能彻底解决后续的自动关联问题:
rm -rf /path/to/你的主目录/.git
(注意替换成你主目录的实际路径,比如 ~/Documents 之类的)
如果主目录的Git仓库是有用的,那只要记住每个新项目都要先执行git init初始化独立仓库,就不会再出现主目录被牵连的情况了。
额外小技巧
不确定当前操作的是哪个仓库?执行这个命令就能看到当前Git仓库的根目录:
git rev-parse --show-toplevel
如果输出的是你的主目录路径,说明你没在独立项目仓库里操作,赶紧切换到目标目录再执行git init。
内容的提问来源于stack exchange,提问作者user9219996
相关产品推荐
相关产品推荐

