我目前正在修改一个大型电子商务平台
在开始项目之前已经完成了大量的初始开发,并且没有任何版本控制,所以我没有文件历史记录。
为了构建已完成的所有先前工作的图片,我开始干净安装平台,并在git版本控制下一点一点地合并所有先前的更改。
我现在有两个几乎完全相同的软件副本,一个是工作开发服务器,另一个是带有更改历史记录的本地仓库。
我想将repo克隆到服务器上的工作副本上,而不会破坏已存在的内容。
我不喜欢擦除开发服务器和克隆本地存储库的想法。还有更好的方法吗?
答案 0 :(得分:0)
您可以转到开发服务器并运行git init
将根目录转换为git repo。此时,您可以将更改推送到它(或从其他地方拉出,这可能是更好的路径),这将使您可以访问您构建的历史记录。假设此时历史记录位于origin/master
,您现在可以执行git branch master origin/master
之类的操作,根据此历史记录创建master
分支。最后,您可以git reset master
运行HEAD
,以便在master
新{{}}}上修改工作副本。
此时,由于您说它们几乎完全相同,因此您的开发服务器现在应该在git之上运行,未提交的更改表示开发服务器版本与新构建版本之间的差异。
答案 1 :(得分:0)
你可以将repo克隆成裸露的。
git clone --bare /path/to/repo.git
这将创建一个名为“repo.git”的存储库,它是一个裸存储库文件夹。您可以将此文件夹复制到/ path / to / devserver /,例如
mv repo.git /path/to/devserver/.git
现在您将存储库和devserver文件放在同一个位置。如果你输入git status你会看到一些文件被更改等。如果你按原样放置并提交它,你将拥有旧的历史记录+一个提交,它是原始仓库和当前开发服务器代码之间的差异