Git на Linux также загружает файлы из другого хранилища - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть 2 репозитория git, один с 3 файлами, а другой с теми же 3 файлами, но с похожим содержимым.(Как README.md, index.html и т. Д.)

Я использовал «git add» для добавления файлов и создал 2 пульта с именами «view» и «music».Я добавил 3 первых файла в первую папку с помощью «git add» и совершил комманду + отправил их в репозиторий представления.Затем я перешел в другую папку, добавил эти 3 файла тоже с помощью «git add» и commit + нажал на них тоже, но у меня неожиданно тоже были выдвинуты остальные 3 файла.(В репозитории "music" тоже есть файлы из "view")

TL; DR: как мне отделить репозитории git в Linux

Под управлением CentOS 7 и новейшее обновление git, доступное через yum,Я уже пытался создать 2 разные папки и написать «git init» перед использованием «git add» и других команд для коммита + толчка.Они по-прежнему возвращали ошибку вместо публикации дубликатов.

В обеих папках использовалось следующее, но ошибки возникли во второй папке

echo "# testing" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.Username/reponame.git
git push -u origin master

Я ожидал, что git каким-то образом различит несколько репозиториев., и что я могу просто иметь 2 папки с 2 хранилищами.Я думал, что после git push / commit «массив git add» файлов снова станет пустым, и я мог бы добавить новые файлы для другого git commit / push.Как я могу зафиксировать / отправить несколько репозиториев через командную строку Linux и передать разные файлы в разные репозитории, не смешивая их.

РЕДАКТИРОВАТЬ:

Структура папок выглядит следующим образом:

[usr@servr~]$ ls music/
index.html  README.md  songs
[usr@servr~]$ ls view/
index.html  README.md  pics

Точные шаги, которые я сделал:

cd music
git init; git add README.md; git add index.html; git add songs
git commit -m "Initial Commit"; git remote add origin <link2music>; git push -u music master
cd ../view
git add README.md; git add index.html; git add songs; git commit -m "Initial Commit"; git remote add origin <link2view>; git push -u view master

Тогда в git-хранилище view неожиданно появился README.md из музыкального хранилища и папка с песнями тоже (хотя это и не должно).

Я удалил хранилище представлений, но сохранил хранилище музыки на github.(Папка не удалена на моем компьютере с Linux).Затем я попытался точно ввести код из первого фрагмента (официальный github) в обе папки (с git init в каждой папке), и теперь музыкальный репозиторий, который уже существовал, выдал мне ошибку "! [Отклонил] мастер-> master (fetch first) ", хотя я никогда не удалял хранилище музыки, ни с моей машины, ни с github.(файлы одинаковы на обоих)

1 Ответ

1 голос
/ 26 апреля 2019

Извините, что ответил на мой собственный вопрос.

Кто-то порекомендовал мне попробовать "git status", и после этого я обнаружил, что моей проблемой была папка верхнего уровня.Я случайно создал папку верхнего уровня, над моими 2 папками «репо», репозиторий git.

Как это должно быть:

Home
->music(repo .git)
->view(repo .git)

Горячее это было (плохо):

Home (repo .git)
->music
->view

Это означает, что я не отправил 2 папки в соответствующие репозитории, а вместо этого переместил папку верхнего уровня (мою домашнюю папку) в репозитории, которые, конечно, содержали обе мои другие папки.

Я удалил папку .git из своего дома, снова клонировал мои git-репозитории в другую папку, и теперь они работают как положено.

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