"git add" команда возвращает сообщение об ошибке "фатальный: внешний репозиторий"
Я просто вхожу в чудесный мир git.
Я должен представить множество изменений, которые я сделал в своей программе, расположенных в каталоге под названием: /var/www/myapp
Я создал новый каталог "/home/mylogin/gitclone" . Из этого каталога я сделал команду "git clone" против публичного репо, и я смог получить последнюю созданную копию.
Теперь я пытаюсь понять, как взять все файлы в моей рабочей папке (/var/www/myapp) и "проверить их" в основном репозитории.
От /home/mylogin/gitclone, Я пробовал следующую команду:
"git добавить /var/www/myapp " , но я получаю сообщение об ошибке, что папка, которую я пытался добавить, находится вне репозитория.
Можете ли вы дать мне несколько указаний на то, что я делаю неправильно? Кроме того, я хотел бы добавить все, независимо от того, отличается ли он от мастера или нет.
Спасибо.
Ответы
Ответ 1
Сначала в папке клонирования вы можете создать ветвь (чтобы хозяин оставался нетронутым)
Git Branch [name]
Просто скопируйте нужный файл (в вашей старой папке) в папку клонирования.
Когда вы закончите, просто добавьте/зафиксируйте свое изменение и Объедините свою ветку в ветку "master"
Он будет выглядеть примерно так.
git add .
git commit -m "Comments"
git checkout master
git merge [new_branch]
Попробуйте этот учебник от GitHub
Ответ 2
Вам нужно будет переместить все файлы из /var/www/myapp в/home/mylogin/gitclone, а затем сделать git add .
, а затем git commit -m "Your message"
.
Ответ 3
Это потому, что вы управляете версиями внутри /home/mylogin/gitclone
и git отслеживает все внутри этой папки. Вы не можете отслеживать другие папки вне этого репозитория.
Решением может быть создание подмодуля или использование символической ссылки с помощью ln -s
Ответ 4
Чтобы добавить некоторые файлы или папки в ваш репозиторий, они должны быть в папке, созданной с помощью "git clone". Итак, скопируйте/вставьте свое приложение в локальную папку git, а затем зайдите в него и сделайте "git добавить *" , а затем вы сможете зафиксировать на сервере "git commit -m 'message'" и, наконец, нажмите на изменения на сервере с помощью "git push"
Ответ 5
При обновлении до git версии 2.12.2 эта ошибка появилась, я добавил, что я добавляю файл с полным путем, например:
git add c:\develop\project\file.text
когда удаляется полный путь, который он запускает, например:
git add file.text
Ответ 6
Git отслеживает только файлы и папки в корневой папке, которая включает в себя каталог .git и подпапки внутри корневой папки. Папка, которую вы пытаетесь добавить, выходит за рамки git.
Что бы вы на самом деле хотели сделать, это сначала git checkout -b myapp
, который будет создавать и проверять новую ветку на основе основной ветки клонированного вами репозитория. Затем вы фактически скопируете все свои файлы и скопируете их с помощью git commit -a -m "Short descriptive name about what you did"
. Параметр -a
, который вы передали в git commit
, предназначен для включения всех изменений, сделанных в репозиторий, и -m
должен включать сообщение фиксации в действительную команду. После этого вы можете либо push
вернуться в основной репозиторий, если у вас есть доступ на запись к нему или выталкиваете его в свое собственное публичное репо или вообще не нажимаете на него.
То, что я описал выше, в значительной степени основано на git. Попробуйте прочитать этот book, который довольно описателен.
Ответ 7
Это сообщение также может появляться, когда имя файла указано в файле .gitignore.