2012-03-06 85 views
4

如果我有一些本地调试代码或开发Web服务IP在我的来源,我想保持中长期本地,但不希望它在我的GIT回购,完成此任务的最佳方法是什么?如何处理本地/ dev只有代码使用git

现在我只是息事宁人,承诺部分的文件小心避免这些线,并做了一系列的

git stash 
git pull --rebase 
git stash pop 

当有发散的变化等等

假设,我不能或不希望更改代码的结构以将这些代码拉出到可以包含和/或忽略的文件中,那么您如何处理这种类型的情况?

local Makefile changes在这里讨论,这似乎是我想要的基本想法,但大多数建议是如何解决它,而不是真正以非常令人满意的方式解决它。

我想我正在寻找的是像.gitignore一样的变化集。

回答

2

一种选择是简单地在你的dev服务器的repo副本中保留一个单独的分支,你永远不会公开推送,这有你的本地更改。您可以将上游的东西合并到该分支;只要您不将该分支合并到上游分支中,那些更改将永远不会出现在其他任何地方。

另一种选择是,你可以将这些设置分解成一个配置文件,你根本不需要检查Git。

+0

感谢您的答案,不完全是我在找什么。我澄清了我的问题,这些是我在本地进行开发的地方所做的更改,例如使用dev.missilelauncher.com(不启动导弹),但部署需要使用api.missilelauncher.com。 – jay 2012-03-07 22:55:43

+0

我真的很强烈建议把这个值拉到配置文件中,但是如果你不想这么做,你唯一的其他实际选项是(a)一个单独的分支,或者(b)一个污迹/清洁过滤器(这可能会矫枉过正)。 – Amber 2012-03-08 09:11:41

1

理想情况下,您应该将更改放入分支中,并在主开发树上重新设置更改。

如果出于某种原因,您确实不希望在该git数据库中创建对象(即使在单独的分支中),也可以考虑将您的repo克隆到另一个仅检入了私人更改的目录中。拉动和重新绑定在那里,而不用担心物体会爬到你原来的回购站(我认为你很害怕可能会意外地被推入)。

+0

制作另一个分支似乎是让事情变得更加困难而不是简单,谢谢你的建议。 – jay 2012-03-07 23:02:20