Создайте ветку и отследите ее с другой веткой хранилища - PullRequest
0 голосов
/ 23 октября 2018

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

Ради работы с разных машин, так какЯ много двигаюсь, я решил перенести ветки функций в свой личный репозиторий, скажем, исходный репозиторий origin, а мой личный репозиторий private.

В настоящее время я клонировал проект и создал 2 ветви изmaster, feature1-branch и feature2-branch.Когда я пытался отправить ветки в мой репозиторий private, я получаю сообщение об ошибке, поскольку проект содержит файлы, размер которых превышает + 100 МБ.(Ограничение максимального размера файла в Github)

Я изменил свой .gitignore, чтобы игнорировать большие файлы, но, похоже, поскольку они фиксируются в предыдущих / исторических фиксациях, они все равно выталкиваются и вызывают ошибку.

Есть ли способ отправить только файлы в моих новых коммитах, не передавая все хронологические коммиты?Я предполагаю, что это не вариант, потому что это приведет к отказу в слиянии, если я попытаюсь сделать запрос на извлечение на другом компьютере (разные истории не могут быть объединены, я считаю)

Я не эксперт вGit, поэтому я ищу совет о том, как лучше всего справляться с такими сценариями?

PS В настоящее время я просто копирую измененные файлы, помещаю их в облачное хранилище и копирую обратнои далее к проекту на другой машине, но это утомительная и непрактичная работа.

Заранее спасибо, ура.

1 Ответ

0 голосов
/ 23 октября 2018

Чтобы отследить определенный файл, git rm --cached filename.(это будет выглядеть так, как будто вы удалили файл в своем личном репозитории; см. https://stackoverflow.com/a/40272289/6951428 для альтернатив, если это нежелательно)

Как вы видели, существует различие между ignored иuntracked файлов.Проще говоря, игнорирование предотвратит отслеживание и размещение файла, если вы явно не укажете git иначе (например, через git add -f или, как в вашем случае, уже отслеживая эти файлы до добавления их в gitignore).

Файл gitignore определяет намеренно неотслеживаемые файлы, которые Git должен игнорировать.Файлы, уже отслеженные Git, не затрагиваются;см. примечания ниже для деталей.- https://git -scm.com / docs / gitignore

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