1

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

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

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

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

摘要:我在本地“提交”所有内容,但在需要执行“git push”的那一刻,我希望能够排除文件夹和文件。

我希望这是有道理的。

谢谢

4

2 回答 2

3

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

如果你想分解你的存储库,这样有些东西只在本地跟踪,有些推送到服务器,你应该为每个部分使用单独的存储库,可能使用 Git 子模块链接在一起。

于 2012-05-25T15:52:30.073 回答
1

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

于 2012-05-25T15:52:23.883 回答