Git 将旧项目从本地 pc 初始化到远程服务器
Git initialize old project from local pc to remote server
我有一个旧项目正在制作中。这个项目的代码在我的本地电脑上,没有上传到服务器的图片。今天我用新功能扩展了项目。
现在我想在这个项目中使用 git。我已经在其中初始化 git 。然后我为我的 bitbucket 帐户创建了一个存储库,并从我的本地电脑推送了我的项目。
我遇到的问题是我想 clone
从 bitbucket 到我的服务器的项目保留 bitbucket 中没有的图像。我该怎么做?
我可以只将 .git 文件从本地复制到我的服务器,然后我从 bitbucket pull
项目吗?
一如既往地尝试一些东西:事先做一个备份
如果文件夹 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
最后签出你想要的分支(假设master)并设置tracking
$ 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
确保不将图像文件夹包含在此提交中(这些提交)
现在 git checkout master
应该可以工作了,你可以通过 git diff[=26 查看 old 状态和当前状态之间的变化=]
git diff <old-application> master
添加:将文件放入 新应用程序 旧应用程序
中仅存在
在 master
git checkout <old-application> -- ./
这将检查您在旧应用程序中提交的所有文件(有关详细信息,请参阅 git checkout 的最后一种形式
git reset HEAD ./
这将取消暂存 在
之前git checkout
引入的所有更改
git checkout -- ./
这将用 master 中的文件覆盖修改后的文件。尚未在 master 中的文件将保持原样。
任务完成
以后只需转到此文件夹并执行 git pull
我有一个旧项目正在制作中。这个项目的代码在我的本地电脑上,没有上传到服务器的图片。今天我用新功能扩展了项目。
现在我想在这个项目中使用 git。我已经在其中初始化 git 。然后我为我的 bitbucket 帐户创建了一个存储库,并从我的本地电脑推送了我的项目。
我遇到的问题是我想 clone
从 bitbucket 到我的服务器的项目保留 bitbucket 中没有的图像。我该怎么做?
我可以只将 .git 文件从本地复制到我的服务器,然后我从 bitbucket pull
项目吗?
一如既往地尝试一些东西:事先做一个备份
如果文件夹 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
最后签出你想要的分支(假设master)并设置tracking
$ 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
确保不将图像文件夹包含在此提交中(这些提交)
现在 git checkout master
应该可以工作了,你可以通过 git diff[=26 查看 old 状态和当前状态之间的变化=]
git diff <old-application> master
添加:将文件放入 新应用程序 旧应用程序
中仅存在在 master
git checkout <old-application> -- ./
这将检查您在旧应用程序中提交的所有文件(有关详细信息,请参阅 git checkout 的最后一种形式
git reset HEAD ./
这将取消暂存 在
之前git checkout
引入的所有更改
git checkout -- ./
这将用 master 中的文件覆盖修改后的文件。尚未在 master 中的文件将保持原样。
任务完成
以后只需转到此文件夹并执行 git pull