Проблема с переименованием репозитория Github

#git #github #github-desktop

#git #github #github-рабочий стол

Вопрос:

У меня есть репозиторий, который был частным, и я хотел сделать некоторые файлы общедоступными. К сожалению, я не нашел хорошего способа сделать это, поэтому я переименовал старое хранилище из NAME в NAME_dev. Затем я скопировал файлы из репозитория разработчиков в новый репозиторий с именем NAME, который был общедоступным с самого начала.

Вот моя проблема: Github Desktop, похоже, смущен этим новым общедоступным репозиторием. Когда я клонирую общедоступный репозиторий с ним, он помещает его в нужный каталог (user / GitHub / NAME), но он клонирует содержимое NAME_dev .

Я повторно выполнил начальный процесс, на этот раз инициализировав новое хранилище с именем GitHub Desktop под названием NAME, и вручную выбрал каждый файл, в который я хотел войти, без копирования целых папок. Та же проблема. Я удалил всю локальную папку Github, переделал все, та же проблема. Я создал новый репозиторий NAMEOS, поместил все, затем переименовал его обратно в NAME, та же проблема. Я попытался назвать версию разработчика NAMEprivate на случай, если _dev вызывал проблемы, та же проблема. Я уверен, что я что-то сделал неправильно, но, похоже, я не могу найти, как это исправить. Возможно, какой-то скрытый файл в частной версии все еще имеет первое имя, которое он получил.

В любом случае, мне нужно иметь общедоступное хранилище с именем NAME, в котором доступны только определенные файлы.

Есть мысли?

Заранее большое спасибо!

Ответ №1:

Если вы отправляете в репозиторий, вы отправляете все версии каждого файла (все коммиты) этой ветви в этот репозиторий.

Если вы удалите файл из репозитория, он все равно будет виден.

Git поддерживает несколько удаленных репозиториев, но если вы перейдете к одному, вы опубликуете всю свою работу в своей ветке в этом репозитории.

Если вы хотите иметь несколько репозиториев, но скрыть некоторые файлы в одном из них, вы можете сделать это, просто создав разные ветви, но в тот момент, когда вы объединитесь из «частной» ветви в «общедоступную» ветвь и нажмете на нее, вы также опубликуете все состояния «частной» ветви.

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

Если вам больше не нужен частный репозиторий, вы можете просто создать .gitignore файл, в котором указано, какие файлы не зафиксированы. Однако вам необходимо либо удалить старый локальный репозиторий ( .git каталог), либо удалить эти разумные файлы из истории, используя команду типа git filter-branch .

Я не совсем уверен, что вы имеете в виду, когда путаете GitHub Desktop, но каталог, в который вы клонируете, может просто уже существовать с содержимым вашего dev-репозитория, или «общедоступный» репозиторий имеет содержимое tge dev-репозитория.

Комментарии:

1. Привет, dan1st, спасибо за ответ! Я ценю способы сделать некоторые вещи общедоступными, а некоторые — частными, но, похоже, самый простой (на удивление) — это иметь одно публичное репо и одно частное репо. Проблема, по-видимому, заключается в том факте, что частное репо раньше имело название того, каким я хочу видеть публичное репо. Это моя проблема. Я несколько раз очищал целевой каталог, и это не сильно меняется. Это должно быть что-то связанное с тем, как git запоминает, какие файлы связаны с репозиторием.

2. Используете ли вы тот же локальный репозиторий? (Тот же каталог)

3. Мой план состоял в том, чтобы иметь два разных локальных репозитория в двух разных каталогах. Т. е. Github /NAME / и Github /NAMEprivate. Я переименовал ветку разработки в NAMEprivate, которая отлично работала. Но когда я клонирую NAME с рабочего стола github, он автоматически вызывает его Github / NAME, но заполняет его содержимым NAMEprivate.

4. Вы указали правильный URL? В любом случае, вы можете клонировать его с помощью git clone <repository url> из командной строки, это более надежно.

5. Вау, выполнение этого из командной строки наполняет его правильным контентом! Спасибо! Как ни странно, Github Desktop по-прежнему ссылается на него как NAMEprivate. В нем указан неправильный URL, неправильный список пользователей / имен репо, но правильный каталог, и он не распознает никаких различий в файлах. У вас есть какие-либо идеи, как исправить эту часть?