Как добавить каталог в определенную ветку (не главную ветку) с помощью git

#git #directory #branch #add #main

#git #каталог #филиал #Добавить

Вопрос:

Я довольно новичок в использовании инструмента git. Итак, я хотел бы добавить каталог в свой репозиторий github. Но там было много файлов, поэтому я понял, что мне нужно использовать git для добавления моего каталога в репозиторий. Но проблема в том, что мой каталог перешел в главную ветвь. Я должен настроить это, чтобы перейти к главной ветке. Как я могу выбрать конкретную ветку при добавлении каталога в репозиторий github? Я просмотрел много похожих тем и попробовал кое-какой код, но это не решило мою проблему.

Кстати, я столкнулся с (master) word, когда набирал текст в git, чтобы добавить свои файлы в репозиторий github.

Ответ №1:

Чтобы зафиксировать определенную ветку, вам нужно будет сначала проверить эту ветку. git checkout branchname делает трюк здесь, в командной строке. Затем вы вносите свои изменения в код или в свою файловую систему, выполняете git add . все изменения, git commit -m "commit message" , затем вы можете git push перейти к ветке, которую вы проверили ранее.

Если вас устраивают ваши изменения, внесенные в master, вы можете просто git checkout main переключиться на исправляемую ветку и git merge master применить изменения, внесенные в master, чтобы они также были доступны в main. Примечание: это применит все изменения, даже те, которые были сделаны после создания этого каталога, к main. Если вас это устраивает или изменений больше нет, продолжайте.

Если вам нужно, чтобы изменения в master были отменены, вам нужно копнуть немного глубже: git checkout master сначала, чтобы быть на правильной ветке. Сделайте git log это, чтобы выяснить хэш фиксации на master перед добавлением этой папки. git reset --hard hashOfThatCommit , затем git push origin master --force сделать изменения доступными для вашего сервера. Примечание: это только вариант, если вы согласны с потерей всех изменений, внесенных в master с момента фиксации перед добавлением этой папки. После этого git checkout main внесите туда свои изменения и следуйте началу моего ответа, чтобы зафиксировать их в истории.

Вы можете серьезно подумать о том, чтобы ознакомиться с git в официальной документации здесь и, возможно, получить инструмент git gui, такой как Gitkraken или fork. Они, несмотря на то, что их использование вызывает споры в сложных ситуациях, визуально предоставляют информацию о вашем репозитории и историю для более простого обзора, чем командная строка, если вы к этому не привыкли.

Комментарии:

1. Спасибо за ваш подробный ответ. Я попробовал «git checkout branchname» и увидел разные вещи на экране git bash. Итак, я застрял в этом месте. Перед этим я ввел некоторый код git, как вы сказали (git add, git commit), и я получил некоторые результаты. Но это не решило мою проблему. Будучи новичком, я столкнулся с действительно странными проблемами при использовании git. Итак, я просто применил другой метод для решения (не супер решение, используя github с базовой командой). Я понял, что мне нужно изучить основы git. Итак, я обратился к этому способу, чтобы улучшить свои навыки. Еще раз спасибо.