问题重现
使用IDEA创建了一个maven父项目,然后在父项目里建立了maven子模块(Module),然后点IDEA下方的Terminal,输入vue create web
,在父项目下建立了一个vue的子模块。项目结构如下:
- maven父项目
- maven子Module(后端)
- vuecli子Module(前端)
然后在码云gitee上建立一个新仓库,本地用git clone git@gitee.com:snow_night/community-vueclli.git
把项目克隆到本地,把clone得到的.git
文件夹复制到maven父项目下。接着在IDEA里进行commit和push。
这时就会出现以下问题:一个项目下两个模块,被git识别为两个项目,导致只能推送一个模块上去。
解决方法
方法一:IDEA里File->Setting->Version Control
首先清空仓库,会把代码和提交记录一起清空掉。
然后本地git clone git@gitee.com:snow_night/community-vueclli.git
把项目克隆到本地,把clone得到的.git
文件夹复制到maven父项目下,然后IDEA重新打开父项目,在IDEA里File->Setting->Version Control,在这里会看到两条记录,就对应着被识别的两个项目,把他们都用减号删掉,然后再次commit->push,可以看到会成功把整个父项目push上去了。
方法二:不用IDEA推送,用命令行Git Bash Here推送,就不会识别成两个项目了。
关联远程库,然后推送。
# 在要推送的项目的目录下,打开Git Bash Here
$ git init
$ git remote add origin git@gitee.com:snow_night/community-vueclli.git
# git pull <远程主机名> <远程分支名>:<本地分支名>
$ git pull --rebase origin master # 这句命令,会把远程库里的master分支的内容(不是hello-world文件夹)拉取到当前文件夹里,但master分支此时不是追踪分支。
$ git add .
$ git commit -m "提交个Springboot项目"
# git push <远程主机名> <本地分支名>:<远程分支名>。如果加上参数"-u",那么提交的本地分支就会成为追踪分支。
$ git push origin master