忽略Git中的代码行

时间:2015-06-04 13:41:30

标签: git gitignore gitattributes

在我的项目中,我想忽略一行代码,因为它包含一个对于repo的每个用户都不同的目录。

我找到a useful answer来解决我的问题,但我不知道如何将其应用于我自己的问题。

我需要忽略的一行如下: MyMesh.loadMesh("D:/Software Projects/OpenGL/Raytracing-Project/dodgeColorTest.obj", true);

所以我想知道的是我必须在$ git config filter设置中插入清洁和涂抹的情况。

1 个答案:

答案 0 :(得分:1)

您的问题的标准解决方案是将字符串移动到配置文件中,并将该文件添加到.gitignore。另外,将文件的重命名副本放入存储库,并附上有关如何使用它的说明。

配置文件的格式和使用方式取决于您使用的语言。

对于CC++和类似语言,它可以像包含以下内容的.h文件一样简单:

/**
 * This file contains various constants (paths, for example) that are specific
 * to the computer where this code is compiled.
 *
 * Make a copy of this file as 'config.h' and change it to match your system.
 */

#ifndef __CONFIG_H__
#define __CONFIG_H__


/* The path to the OBJ file used by blah-blah-blah feature */
#define OBJ_PATH "D:/Software Projects/OpenGL/Raytracing-Project/dodgeColorTest.obj"


#endif

将其命名为config.h.dist(或使用更适合您的项目和编码风格的其他名称)并将其添加到存储库。

将其复制为config.h并将config.h添加到.gitignore

#include "config.h"放入您解压缩上述代码的文件中,并使用config.h中定义的符号替换具体文件路径:

#include "config.h"

MyMesh.loadMesh(OBJ_PATH);

使用该技术从代码中提取config.h所有可能在您的同事系统上可能不同的值。不要忘记将它们添加到config.h.dist,并提供有关其类型和价值的相关说明。