Как вернуться к «мастеру» с помощью git?

135

Я сделал свой первый коммит; затем создал ветку (скажем, branch1).

В этой ветке я создал каталог example и зафиксировал его. В GitHub я вижу свою новую ветку и новый каталог «example», который я добавил.

Теперь мне интересно, как я могу «синхронизировать» обратно с мастером; и поэтому удалите папку 'example' (поскольку она не существует на главном сервере).

РЕДАКТИРОВАТЬ: find . -type d -empty -exec touch {}/.gitignore \; выполнил свою работу.

Дискотека
источник

Ответы:

239

Вам необходимо оформить заказ в ветке:

git checkout master

См. Шпаргалки по Git для получения дополнительной информации.

Изменить: обратите внимание, что git не управляет пустыми каталогами, поэтому вам придется управлять ими самостоятельно. Если ваш каталог пуст, просто удалите его напрямую.

Мэтью Фарвелл
источник
«Уже на мастере», но мой каталог «example» все еще там. Я хочу синхронизироваться с мастером (таким образом, у меня нет этой папки, так как ее нет в основной ветке)
Disco
# На мастере ветки нечего фиксировать (рабочий каталог очищен)
Disco
@Disco: У меня была эта проблема раньше - если она определенно не отслеживается в индексе, вы можете просто удалить каталог локально, и вы получите его обратно, когда будете git checkout branch1.
Platinum Azure
1
Ммм, очень плохо; разве нет возможности для этого? Я не могу уследить за каталогом в голове
Disco
6

Согласно Git Cheatsheet вы должны сначала создать ветку

git branch [branchName]

а потом

git checkout [branchName]
blacksta500
источник
2
я думаю, ты мог бы проверить вопрос еще раз
Эли
2

Для удаления ветки вы должны спрятать изменения, сделанные в ветке, или вам нужно зафиксировать изменения, которые вы сделали в ветке. Выполните следующие шаги, если вы внесли какие-либо изменения в текущую ветку.

  1. git stash или git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

Примечание. Вышеупомянутые шаги удалят ветку локально.

Сачин Шридхар
источник
1

Я пытаюсь понять, что там происходит. Есть ли что-нибудь в твоей "примерной" папке? Git не отслеживает пустые папки.

Если вы разветвились и переключились на новую ветку, затем создали новую папку и оставили ее пустой, а затем выполнили «git commit -a», вы не получите эту новую папку в коммите.

Это означает, что он не отслеживается, а это означает, что проверка другой ветки не удалит его.

Дэн Рэй
источник
git инициализировал мой каталог (/ home / dev), затем я сделал "commit -a" и отправил на github. Затем я создал новую ветку; создать каталог 'example' с некоторыми файлами внутри и зафиксировать ветку. Теперь я хочу вернуться к начальному этапу (мастер) без каталога «example», который я создал в новой ветке.
Дискотека,
также в главной ветке каталога 'example' нет (как я вижу в github)
Disco
обновление: у меня была одна пустая папка внутри каталога с примером; поэтому он все еще показывает мне каталог? Как от этого избавиться с помощью git
Disco
Вы не git не знает об этом. Просто удали его. Проверка мастера должна удалить все файлы, которые находятся в ветке, но не в мастере, из вашего рабочего каталога.
Дэн Рэй
1

Перенесет вас в главную ветку.

git checkout master

Чтобы переключиться на другие ветки, сделайте (игнорируйте квадратные скобки, это просто для акцента)

git checkout [the name of the branch you want to switch to]

Чтобы создать новую ветку, используйте -b следующим образом (игнорируйте квадратные скобки, это просто для акцента)

git checkout -b [the name of the branch you want to create]

Дапо Момоду
источник