在我的项目中,我想忽略一行代码,因为它包含一个对于repo的每个用户都不同的目录。
我找到a useful answer来解决我的问题,但我不知道如何将其应用于我自己的问题。
我需要忽略的一行如下:
MyMesh.loadMesh("D:/Software Projects/OpenGL/Raytracing-Project/dodgeColorTest.obj", true);
所以我想知道的是我必须在$ git config filter
设置中插入清洁和涂抹的情况。
答案 0 :(得分:1)
您的问题的标准解决方案是将字符串移动到配置文件中,并将该文件添加到.gitignore
。另外,将文件的重命名副本放入存储库,并附上有关如何使用它的说明。
配置文件的格式和使用方式取决于您使用的语言。
对于C
,C++
和类似语言,它可以像包含以下内容的.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
,并提供有关其类型和价值的相关说明。