2016-08-09 69 views
0

新来git这里,我有一个组织问题。Git组织

我有一个名为MASTER的文件和一个名为OBJECTIVE的文件。根据MASTER中的特定参数,OBJECTIVE将实现一种算法或另一种算法。我想要保持这两个版本的输出在我的git仓库中处于活动状态,但我不想根据所使用的算法重命名文件。

在git中有这样的最佳做法吗?

+0

我不太确定这是否被认为是“最佳做法”,但使用单独的[分支](https://git-scm.com/docs/git-branch)? –

+0

你想让两个不同的日志文件具有相同的名称....?为什么? – matmo

+0

接缝对我来说,你的问题不是如何做某件事,是你不知道Git本身。我强烈建议你通过Git http://rogerdudler.github.io/git-guide/这个简单的解释。之后,你应该检查这个https://guides.github.com/introduction/flow/。 这应该会让你更好地理解Git本身是如何工作的。 有了这些基础知识,您可以从https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow跳转到更详细的解释。 –

回答

0

我不认为git在这里是正确的做法。你可以做的最多的是第二次执行的第二个分支,但是这将会扰乱你在关闭分支上执行的实现的git历史。

相反,我建议你完全按照你所说的去做。让程序接受一个运行时参数,或者以类似于chmod的标志或者一些environment variable的形式传入。

根据你在两个实现之间改变的频率,我会选择频繁切换的标志方法,其中像生产vs开发的东西我会使用环境变量。

1

这听起来像你需要

\MASTER 
\OBJECTIVE.algorithm1 
\OBJECTIVE.algorithm2 

,然后一些过程,后两个文件的副本之一

\OBJECTIVE 

在大多数情况下这样的,OBJECTIVE不会被提交到存储库因为它是一个生成的文件。