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