2015-08-03 103 views
2

在一个git仓库中,可以说我的主分支config.json中有一个文件,其中包含一些关于例如文件的信息。我的托管环境。在git分支中'固定'一个文件的特定版本

master 
- config.json 

为了讨论的方便,让我们假设该文件是由我一饮而尽,文件读取,并包含有关是否要降低我的JavaScript或包含源地图信息。

在我的开发分支,我想这个文件是不同

development 
- config.json 

所以,每当我在我的主枝运行一饮而尽,我的JavaScript的最小化,当我在我的开发分支运行一饮而尽,同时,我包括我编译后的打字稿的源地图。

有没有办法确保config.json不会被错误地从开发合并到master,反之亦然?

源控制的几代前,在Visual源安全,这可以通过“拼接”特定文件到一个特定的“分支”

实现这是(或等价的东西),可以使用Git?

回答

0

git拍摄你的项目的快照,做这种“固定”不是一个好策略。

有几种解决方案可以做你想做的。

分公司

使用3个分支。

  • 官方主分支。
  • 官方发展部门。
  • 工作分支

您在工作分支中工作。它可以是暂时的,名称可以是“Bug /需求跟踪系统”的跟踪编号。

完成后,您将合并到您的官方开发分支中。更改特定的文件以适当地工作。确认您的测试是否有效。

回到工作分支并合并官方主分支中的更改。

符号链接

如果你是在Unix/Linux机器。你可以有两个配置文件。一个用于master分支,另一个用于开发分支。

然后,在每个分支中创建一个符号指向相应的文件。然后,您可以无差别地修改每个文件,而无需担心影响其他分支中的更改。

+0

感谢您的回复,不幸的是它不能解决我的问题。即使这不是一个好策略(为什么这不是一个好策略的解释,我们将不胜感激),我仍然有兴趣知道它是否可行(使用git功能,而不是外部选项,如符号链接) – havardhu

+0

坏政策的原因是,如果你想回到以前的图片/图像/ stateOfYourProject这是不可能的,因为你不知道这个文件有变化。我很抱歉,我无法帮助你。 – blashser

0

如果你对这个配置文件的改变不感兴趣,它将会改变。你可以删除它被git跟踪。

git rm yourFile 

并在此之后,你可以把它添加到您的.gitignore文件,没有看到它时,你做git status或类似的命令。

这样做的问题是,如果你克隆你的项目,它不会工作,因为这个文件不会,你将不得不手动创建。

相关问题