如何将本地项目源码关联到远程git仓库呢?

摘要:如何将已经存在的本地项目源码关联到远程git仓库中,这是一个非常使用的操作。我们给大家举一个案例进行讲解,大家可以参考学习 场景:用户想将本地已有的frontend和backend两个项目关联到同一个Git仓库中。这是一个很常见的场景,特别
如何将已经存在的本地项目源码关联到远程git仓库中,这是一个非常使用的操作。我们给大家举一个案例进行讲解,大家可以参考学习 场景:用户想将本地已有的frontend和backend两个项目关联到同一个Git仓库中。这是一个很常见的场景,特别是前后端分离项目中需要统一管理代码的情况 结构: my-repo/ ├── frontend/ # 前端项目代码 │ ├── src/ │ ├── package.json ├── backend/ # 后端项目代码 │ ├── src/ │ ├── pom.xml └── .gitignore # 全局忽略文件 思路:在同一个仓库中为每个项目创建独立目录(如frontend/、backend/),提交时所有文件共享同一条历史记录 操作步骤: 1.本地创建一个新仓库并初始化 mkdir my-repo && cd my-repo git init 2.创建全局.gitignore文件 在根目录创建.gitignore,添加需忽略的文件(如node_modules/、.env等) touch .gitignore echo "node_modules/" >> .gitignore echo ".env" >> .gitignore 解释:上面命令规则与作用范围。值得去了解 node_modules/ 尾部斜杠 / 表示忽略目录而非文件。 规则会递归忽略所有层级的 node_modules 目录(如根目录、子目录下的 node_modules)。 若只想忽略根目录下的目录,需写为/node_modules/(开头斜杠限定根目录)。 .env 无路径前缀时,会忽略整个仓库中所有名为 .env 的文件或目录(包括子目录)。 若只想忽略根目录下的 .env 文件,需写为 /.env(开头斜杠限定根目录) 其他用法 忽略特定子目录中的文件 echo "dist/*.js" >> .gitignore # 忽略 dist 目录下所有 .js 文件 echo "logs/*.log" >> .gitignore # 忽略 logs 目录下所有 .log 文件 保留某些被忽略的文件 echo "!src/.env" >> .gitignore # 不忽略 src/.env(需先忽略 .env) 精确匹配根目录内容 echo "/.env" >> .gitignore # 仅忽略根目录下的 .env 文件 echo "/build/" >> .gitignore # 仅忽略根目录下的 build 目录 特殊场景处理 已跟踪文件的忽略,若node_modules或.env已被 Git 跟踪,需先移除: git rm -r --cached node_modules # 从版本库删除(保留本地文件) git rm --cached .env # 同上 git commit -m "停止追踪 node_modules 和 .env" 验证忽略效果 git status --ignored # 查看被忽略的文件 git check-ignore -v .env # 检查 .env 是否被忽略及匹配规则 3.迁移子项目到仓库子目录中(如果window系统,可以直接复制粘贴即可) # 假设 frontend、backend 原路径为 ~/projects/frontend 和 ~/projects/backend mkdir frontend backend cp -r ~/projects/frontend/* frontend/ cp -r ~/projects/backend/* backend/ 4.提交代码并关联远程仓库 git add . git commit -m "初始化: 添加 frontend 和 backend 项目" git remote add origin <远程仓库URL> # 如 git@github.com:yourname/my-repo.git git push -u origin master