背景
我是先在本地垒代码的,因为我是developer角色,所以没有权限把代码直接上传到公司的group下,只能暂时上传到自己的个人group下,所以才有了后面的从已有git资源转移到公司git资源的操作。
操作过程
以下是具体的操作步骤:
# cd到项目路径下
cd existing_folder
# 查看项目目录下文件
ls -lha
# 删除原来的.git文件
rm -rf .git
# 在本地创建一个新的空的.git文件
git init
# 把远程的git信息加到上面创建的那个新的.git文件下
git remote add origin http://git.xxx.git
# 添加该目录下所有的文件到资源库
git add .
# 增加提交备注信息
git commit -m "init"
# push暂存区里面的内容到远程dev分支
git push -u origin dev
上面这些步骤执行完成之后,你就会发现你的git资源由原来的个人所在组改到了公司资源组下面。
遇到的问题以及解决办法
有时候这个项目可能是没有带有任何git信息的本地工程,那么如果你想要把你本地工程上传到git资源上,正常情况下,直接按照上面的步骤就可以成功上传上去,但是有时候也会有一些小问题。
问题:git error: src refspec dev does not match any 。
原因:
- 目录中没有文件,空目录是不能提交上去的,这个时候就需要你创建一个文件,然后再尝试push。
- git push时选取的本地分支进行推送,如果推送的分支在本地分支中不存在,就会产生报错src refspec dev does not match any。
解决办法:创建一个对应的dev branch:git checkout -b dev即可。