使用git,我希望能够保留某个文件夹作为我本地项目的一部分(在分支机构中使用它等)但我不希望这个目录被推送到公共git服务器。
有问题的文件夹有一些项目不需要的CLI Java资源,但我希望与将要上线的分支工作保持同步。
这可能吗?
答案 0 :(得分:1)
答案非常简短。原因如下:当您将本地git分支推送到服务器时,它会按原样推送,没有任何异常。由于提交包含文件,如果某些文件不被推送,它会在内部搞乱git。 这种选择性行为是不受支持的,我想它永远不会,因为大多数时候你需要这些东西时你不正确地使用git。
然而,有很多方法:
我肯定会选择1,因为当我需要项目的东西时,它就属于repo,即使它是java cli。
答案 1 :(得分:0)
...你可以使用git ignore 。
...但是没有将它们放在远程仓库中我只能给你一些提示/想法我从未尝试过,但你最终可能会拥有不同的存储库,而且可能会强烈>变得有点讨厌。
我会看看(从可能正常到可能非常混乱和一个坏主意):
git-repo
,git-subrepo
或类似git-filter-branch
手工再说一遍:我没有使用其中任何一个而不知道他们的缺点,陷阱等。但对我来说似乎是subtrees这是上述最好的解决方案。
其余大部分确实对我来说似乎非常混乱,但在一天结束时唯一重要的是什么对您有用。
...在Wasabi
中答案 2 :(得分:0)
晚会晚了,但问题还是不错的。您正在尝试仅使用所需工具的一半来解决部署问题:要实现您的目标,您必须在部署链中同时使用 git 和依赖项管理器。
使用 git,您可以版本跟踪所有代码,也可以跟踪 CLI Java 内容,但使用 DM,您的 CLI Java 内容将被标记为“开发”包。
在生产中部署时,您应该排除所有“开发”包。
在 Java 中,我认为正确的工具应该是 Maven,在 PHP 中有 Composer,在 Javascript 中最著名的是 NPM。
我的两(晚)美分