忽略 Git 中的代码行

Ignore line of code in Git

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

我已经找到 a useful answer 解决我的问题,但是我不知道如何将它应用到我自己的问题。

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

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

您的问题的标准解决方案是将字符串移动到配置文件中并将该文件添加到 .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,并附上有关它们的类型和可能具有的值的相关描述。