场景:将现有的文件托管至新的git repo
用到的命令:
git clone 复制网络仓库到本地
git add [file] 加入一个文件/目录到版本控制
git commit 提交修改到仓库(本地)
git push 推送对仓库的修改到网络仓库
操作步骤
如果对一个非空目录执行clone命令是会失败的,因为git不允许这样做。
进入项目目录(非空),运行下面命令:
cd /path/to/dir
git clone {repo_url} tmp
mv tmp/.git .
rmdir tmp
git add .
git commit -m 'current files'
git push
解释
.git
是一个隐藏的git用于管理本地代码的目录
git clone {repo_url} tmp
其实是把远程repo加载到tmp
目录
将tmp/.git
直接移动到项目的根目录后运行git add .
其实相当于是把项目的文件放到了本地的git repo中
此时运行git commit
就提交了现有项目文件到本地,git push
就把操作推向了服务器
操作完成后,你的另外一个同事就可以使用git clone {repo_url}
来加载你的代码