#git #github
#git #github
Вопрос:
Хорошо, это действительно расстраивает меня. Я привык работать с SVN и новичок в git. У меня уже была папка с именем X в git. Коллобаратор внес изменения в X и зафиксировал их, и я обновил их. Я внес в него изменения, и теперь я хочу сохранить его как X2 в качестве новой папки. Итак, я продублировал папку X локально, и теперь я хочу добавить это на github. Итак, я сделал
cd X2
git init
git add X2
git commit -m "changes"
git push origin master
Я также пытался находиться в родительском каталоге, где расположены оба X и X2, затем git добавляет X2 и фиксирует и нажимает, но я продолжаю получать «ничего не фиксировать».
Что я делаю не так?
Комментарии:
1. git add * вместо git add X2
2. пожалуйста, кто-нибудь знает серьезную разницу между -a и -am при фиксации, потому что я действительно запутался
3. @DaMainBoss:
-m
Нужно только поместить сообщение в командную строку вместо запуска редактора для записи сообщения о фиксации.4. Вы уверены, что хотите добавить
X2
в качестве нового каталога параллельно сX
, а не создавать ветку?
Ответ №1:
Почему вы делаете git init
перед добавлением X2
. Инициализация Git выполняется только при создании репозитория. Также обратите внимание, что git add
добавляются только файлы, а не каталоги.
Помимо этого git add X2
должно работать совершенно нормально, когда вы находитесь в root / parent. Из самой папки выполните git add .
Комментарии:
1. @Simon — где сказано, что X2 — это корень? Не имеет смысла
2. Хорошо, тогда после того, как я сделаю git add X2, что мне делать?
3. @bitmoe — Как только вы закончите
git add X2
, сделайтеgit status
. Он должен сказать что-то вродеChanges to be comitted
и показать X2 и его файлы4. Хорошо, а теперь как мне отправить это на github? Это прошло успешно, но теперь я хочу выполнить git push origin master, но я получаю сообщение об ошибке origin, похоже, не является репозиторием git. Какой был бы правильный способ сделать это?
5. Хорошо, я смог получить X2 на github, но название папки недоступно для просмотра онлайн. Означает ли это, что он все еще загружается?
Ответ №2:
Сначала зафиксируйте правильный файл .gitignore. Затем вы можете выполнить ‘git add -A’. Все файлы, которые вам не нужны, будут пропущены.
Ответ №3:
Попробуйте использовать «git add» . это добавит все файлы в текущем рабочем каталоге на сцену (иначе говоря, готовые к фиксации). Надеюсь, это сработает!
Комментарии:
1.
git add .
может быть довольно опасным в использовании, особенно если вы новичок в git. Лучше избегать его использования, если вы не знаете, как увидеть, что вы фиксируете, прежде чем выполнять фиксацию (подсказка:git status
илиgit gui
).