1. 公司内部的gitlab上已经放上了项目的模板,代码完成后只需要push上来到同样的目录即可方便地使用dockerfile部署项目。
2. 由于本地之前是没有初始化仓库的,所以先git init
3. 然后git checkout -b dev
4. 其次,git remote add origin GitLabUrl
5. 为了防止pull覆盖掉本地文件,我先 cp -r MC_creative template,然后 git add template/, git commit -am "push local creative project to remote dev".
commit可以保存本地文件状态,避免文件覆盖导致的丢失。
6. 然后git pull下来了线上的信息
7. 发现需要git merge origin/dev dev, 然后就报错不允许合并无共同祖先的仓库. 这时就需要加上 --allow-unrelated-histories .终于合并了线上和线下版本。
8. 现在git push没问题了。
反思:一直在担心merge的时候线上线下分支的顺序是否有区别,会否导致旧的内容覆盖了新的内容。仔细想过后觉得不会,如果有共同修改的内容会报出冲突的。所以命令中参数的顺序是不要紧的。另外想到了合并时指定策略的用法,以后会很有用的。
上述过程的曲折主要源自本地先commit了一次,处于担心直接pull会不会导致本地修改丢失的考虑。仔细想想,应该是不会的。以后可以git pull,自动执行合并吧,哪怕你没有commit也没问题吧,这样再次commit和push就不会有问题了。