从github覆盖本地磁盘上的文件(使用Laravel框架)

时间:2016-02-07 17:02:23

标签: php git laravel github laravel-5

我正在努力做到以下几点:

1)使用以下方法创建一个新的laravel项目:

sudo composer create-project laravel/laravel /var/www/html/laravel5`

2)仅覆盖github中的不同文件。我想保持以下文件和文件夹不变:

  • .env
  • .env.example
  • .gitattributes
  • .gitignore
  • vendor/

从github克隆无效,因为该文件夹不为空。

我找到的唯一解决方法是:

  1. 创建新项目
  2. 将我想要的文件和文件夹复制到另一个文件夹
  3. 从github克隆项目
  4. 将文件复制回文件夹
  5. 我正在使用Xubuntu,Laravel 5.0和Github。

    提前致谢。

1 个答案:

答案 0 :(得分:1)

您应该可以通过all-git方法执行此操作,而不是从其他目录复制/粘贴。 (我不确定为什么你的解决方法是一个糟糕的解决方案。)

基本计划是:

  1. 创建存储库。
  2. 查看一些你不会留下的虚假分支。
  3. 将要保留的目录添加到索引并提交它们。
  4. 强制结帐到您想要的分行。它可能需要强制,因为你没有提交的其他事情。
  5. 将最近创建的提交的补丁应用于您的工作目录。
  6. 在命令中:

    cd /path/to/repo
    git init
    git branch temp-branch
    git add .env && git add .env.example && git add .gitattributes && git add .gitignore && git add vendor/
    git commit -m "Sustain Local Changes"
    git remote add origin https://github.com/owner/repo
    git fetch
    git checkout -f master # Should detect origin/master. If it doesn't, just set a branch up manually. Replace master if that's not the branch you want.
    git merge --no-commit --no-ff temp-branch
    

    就我个人而言,我觉得这比你的解决方法更难看。