#c #github #repository #push #keil
#c #github #репозиторий #толкать #keil
Вопрос:
Мы с партнером работаем над лабораторной работой для класса на C, используя Keil. У каждого студента, выполняющего этот проект, есть одинаковые начальные файлы и папки, которые содержат файлы для каждого проекта. У нас есть один файл проекта, Project.c, который мы оба редактируем. Мой партнер загрузил свой файл на GitHub. Когда я загрузил файл GitHub на свой компьютер, он создал новую папку внутри папки проекта, в которой хранится общий файл Project.c. Однако мне нужно, чтобы файл находился в папке проекта, которая находится над папкой GitHub. Есть ли у меня способ переместить файл в папку проекта, но при этом иметь возможность нажимать / извлекать?
Комментарии:
1. Приведите фактические детали — например, локальную структуру каталогов и структуру удаленных каталогов. И почему вам нужно, чтобы ваше локальное дерево отличалось от удаленного дерева? Обычно проекты следует настраивать не так. Это звучит как проблема XY .
2. @kaylum Прошу прощения, но я не уверен, что вы имеете в виду. Структура каталогов представляет собой папку с одним файлом. Когда я клонирую репозиторий, чтобы я мог редактировать его локально, он создает на моем компьютере папку с этим файлом в ней. Однако мне нужно, чтобы этот файл (который у меня теперь есть локальная копия) находился где-то еще, кроме этой папки.
3. Вы уверены, что на удаленном компьютере действительно есть папка? Обычно при клонировании git по умолчанию создает папку назначения, используя имя удаленного проекта. Итак, нам нужно знать, действительно ли на удаленном компьютере есть папка или это просто git создает ее для вас. Если это последнее, просто скажите git не создавать папку, используя
.
ее в качестве целевого каталога при клонировании. Но, не видя подробностей, трудно быть уверенным, каков ваш точный сценарий. Вот почему всегда полезно приводить точный конкретный пример, а не абстрактное описание.4. Звучит так, как вы сделали:
cd /home/me/projdir ; git clone ...
и он создал subdir (напримерfoodir
). Итак, теперь у вас есть:/home/me/projdir/foodir
. В этом каталоге у вас будут (например).git
иfile1
,file2
, … Итак, сделайте это (изprojdir
):mv foodir/.* foodir/* . ; rmdir foodir
. Теперь, начиная с/home/me/projdir
, вы должны иметь возможность выполнятьgit
команды по своему усмотрению (напримерgit pull
,git status
, и т.д.)5. Было бы неплохо, если
projdir
бы у него было то же имя,foodir
что и, но это не обязательно. Вы могли бы сделать:mkdir /home/me/projects ; cd /home/me/projects ; git clone ...
И, тогда,cd foodir
гдеfoodir
глобальное имя проекта.