Игнорировать строку кода в Git

В моем проекте я хотел бы игнорировать одну строку кода, потому что он содержит каталог, который отличается для каждого пользователя репо.

Я нашел полезный ответ для своей проблемы, однако я не знаю, как применить это к моей собственной проблеме.

Строка, которую я должен игнорировать, выглядит следующим образом: MyMesh.loadMesh("D:/Software Projects/OpenGL/Raytracing-Project/dodgeColorTest.obj", true);

Так что я хотел бы знать, что я должен вставить в $ git config filter установка, как для чистого, так и для грязного случая.

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 также с соответствующим описанием их типов и значений, которые они могут иметь.

Другие вопросы по тегам