Это мой репозиторий Git:
https://github.com/benqzq/ulcwe
Он имеет имя dir, local
и я хочу изменить его имя на другое имя (скажем, с local
на xyz
).
Изменение его с помощью графического интерфейса пользователя GitHub - это кошмар, так как мне приходится менять имя каталога для каждого файла отдельно (GitHub еще не включил функцию «Переименование каталога», хотите верьте, хотите нет).
После установки Git я попробовал эту команду:
git remote https://github.com/benqzq/ulcwe && git mv local xyz && exit
Несмотря на то, что я не получил никакой подсказки для моего пароля GitHub, я получил эту ошибку:
fatal: Not a git repository (or any parent up to mount point /mnt/c)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Я знаю, что весь смысл в Git состоит в том, чтобы загрузить проект, изменить, протестировать и затем отправить его на хостинг-провайдера (в данном случае GitHub), но чтобы просто изменить каталог, мне нужна прямая операция. Это возможно даже с Git?
Должен ли я использовать другую программу, может быть?
Ответы:
Фатальное сообщение об ошибке указывает на то, что вы работаете откуда-то, что не является клоном вашего репозитория git. Итак, начнем с клонирования репозитория git:
Затем введите его:
и переименуйте каталог:
Для того, чтобы изменение было доступным, вам нужно его зафиксировать:
Теперь вы можете отправить его в свой удаленный репозиторий git:
и вы увидите изменения в интерфейсе GitHub.
источник
Нет, нет способа сделать это как прямую операцию из-за структуры git.
Способ работы git заключается в том, что он сохраняет копию всего хранилища, включая всю историю, в каждом месте.
Github, Bitbucket или любой другой хостинг-провайдер - это просто еще одна копия вашего git-репозитория с симпатичным веб-интерфейсом сверху, который рассматривается в качестве основного источника правды в большинстве рабочих процессов, однако утилита git этого не знает.
Изменения отслеживаются как коммиты. Я предполагаю, что под этим
direct operation
вы подразумеваете способ изменения имени папки без создания коммита. Хотя это возможно путем переписывания истории, я не рекомендовал бы это, особенно если есть несколько человек / машин с копиями git-репо, поскольку это может привести к несоответствиям.Самый простой способ переименовать папку в git-репо - это клонировать ее локально
Если у вас уже есть локальная копия репо, потяните ее, чтобы убедиться, что вы в курсе удаленного репо
Внесите необходимые изменения локально
Который должен автоматически добавляться в область подготовки github. Затем вы должны зафиксировать и подтолкнуть эти изменения.
Это зафиксирует изменения в вашем локальном хранилище, а затем отправит эти изменения в удаленную копию хранилища, в данном случае, Github.
источник
git clone --depth
Можно переименовать каталог, не клонируя хранилище, используя GitHub API. Я не знаю ни о какой реализации.
Источник: https://stackoverflow.com/a/31567094/370786
источник