Git将旧项目从本地PC初始化为远程服务器

时间:2016-07-27 13:42:55

标签: git bitbucket

我在制作中有一个旧项目。这个项目的代码在我的本地电脑上没有上传到服务器的图像。今天我用新功能扩展了项目。

现在我想在这个项目中使用git。我在其中初始化git。然后我创建了一个存储库到我的bitbucket帐户,我已经从我的本地电脑推送我的项目。

我遇到的问题是我希望从bitbucket到我的服务器的clone项目保留bitbucket中没有的图像。我怎么能这样做?

我可以只将.git文件从本地复制到我的服务器,然后我{bit}从bitbucket中pull项目吗?

1 个答案:

答案 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