我在制作中有一个旧项目。这个项目的代码在我的本地电脑上没有上传到服务器的图像。今天我用新功能扩展了项目。
现在我想在这个项目中使用git。我在其中初始化git。然后我创建了一个存储库到我的bitbucket帐户,我已经从我的本地电脑推送我的项目。
我遇到的问题是我希望从bitbucket到我的服务器的clone
项目保留bitbucket中没有的图像。我怎么能这样做?
我可以只将.git文件从本地复制到我的服务器,然后我{bit}从bitbucket中pull
项目吗?
答案 0 :(得分:1)
在尝试之前一如既往:事先做好备份
如果存储库中不存在文件夹public/img/
(未跟踪),则情况非常简单。
在此文件夹中初始化一个空的git存储库
$ git init
Initialized empty Git repository in /some-directory/
将您的bitbucket存储库添加为远程
$ git remote add origin <url-to-bitbucket-git-repo>
获取所有新变化
$ git fetch origin
最后查看您想要的分支(假设主)并设置跟踪
$ git checkout --track origin/master
如果存储库中不存在public/img/
文件夹,则不会覆盖该文件夹
创建一个新分支来保存旧文件
git checkout -b <old-application>
git add -v old-application-files/
git commit # Message should indicate that this is an older state of the application
确保不将images文件夹包含在此提交中(这些提交)
现在git checkout master
应该有效,您可以通过执行git diff
git diff <old-application> master
添加 :将文件导入旧应用程序中仅存在 新应用程序 强>
在主屏幕
上git checkout <old-application> -- ./
这将检查您在旧应用程序中提交的所有文件(有关详细信息,请参阅git checkout的最后一种形式
git reset HEAD ./
这将取消暂存所有在git checkout
之前执行的更改
git checkout -- ./
这将使用 master 中的文件覆盖已修改的文件。 主屏幕中尚未保留的文件将保持不变。
完成工作
将来只需转到此文件夹并执行git pull