【问题标题】:GIT on push to a remote server exlude folders/files推送到远程服务器的 GIT 排除文件夹/文件
【发布时间】:2012-06-01 05:16:51
【问题描述】:

有没有办法在使用“git push remote_name”时排除某些目录。

例如,我在存储库中有这个文件夹/文件结构:

/applications/
/libs/
/themes/
/misc/
/index.php
/robots.txt
/sitemap.xml

当我在本地工作时,我会提交对任何文件/文件夹所做的所有更改,但是当我需要将所有内容“推送”到远程服务器存储库时,我想排除某些文件和文件夹,例如“/themes /" 文件夹和 robots.txt 文件

总结:我在本地“提交”所有内容,但当我需要执行“git push”时,我希望能够排除文件夹和文件。

我希望这是有道理的。

谢谢

【问题讨论】:

    标签: git git-push git-commit


    【解决方案1】:

    不,你不能用 Git 做到这一点。在 Git 中,每个提交都被视为一个原子实体;您不能选择要推送的特定提交的部分。

    如果您想拆分您的存储库,以便仅在本地跟踪某些内容,而将一些内容推送到服务器,则您应该为每个部分使用单独的存储库,可能使用 Git 子模块链接在一起。

    【讨论】:

    • 嗨,Brian,感谢您对我研究 GIT 子模块的解释,这似乎是实现我需要的唯一方法。再次感谢。
    【解决方案2】:

    您应该保留一个单独的分支,该分支与您希望在远程存储库中拥有的内容相匹配。例如。在 master 上工作,切换到 my-public-branch,cherry-pick/merge/rebase off master,推送到远程,切换回 master 以进行更多工作。

    【讨论】:

      猜你喜欢
      • 2020-11-27
      • 2013-02-07
      • 2013-06-04
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      相关资源
      最近更新 更多