Як перейти назад до "master" з git?


135

Я взяв свій перший вчинок; потім створили гілку (скажімо, гілку1).

У цій гілці я створив каталог "example" і поклав початок. У GitHub я бачу свою нову гілку та новий каталог "приклад", який я додав.

Тепер мені цікаво, як я можу "синхронізувати" назад до майстра; і таким чином видалити папку "example" (оскільки її немає в master).

EDIT: find . -type d -empty -exec touch {}/.gitignore \; зробив роботу.

Відповіді:


239

Вам потрібно оформити відділення:

git checkout master

Додаткову інформацію див. У шпаргалках Git .

Редагувати: Зверніть увагу, що git не керує порожніми каталогами, тому вам доведеться керувати ними самостійно. Якщо ваш каталог порожній, просто видаліть його безпосередньо.


"Вже на головних", але мій каталог "приклад" все ще є. Я хочу синхронізуватися з master (таким чином, не маючи цієї папки, оскільки її немає в master-гілці)
Disco

# На ведучому відділення нічого не потрібно робити (чистий робочий каталог)
Disco

@Disco: У мене була ця проблема раніше - якщо вона точно не відстежується в індексі, ви можете просто видалити каталог локально, і ви отримаєте його назад, коли будете git checkout branch1.
Platinum Azure

1
Ммм занадто погано; хіба немає варіанту для цього? Я не можу в голові відслідковувати дуже довідник
Disco

6

Відповідно до Git Cheatsheet, ви повинні створити гілку спочатку

git branch [branchName]

і потім

git checkout [branchName]

2
Я думаю, ви можете перевірити питання ще раз
Елі

2

Для видалення гілки вам потрібно сховати зміни, внесені на гілці, або вам потрібно здійснити внесені вами зміни. Виконайте наведені нижче дії, якщо ви внесли якісь зміни в поточну гілку.

  1. git stash або git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

Примітка. Наведені вище дії видалять гілку локально.


1

Я намагаюся якось обернути голову навколо того, що там відбувається. Чи є щось у вашій папці "приклад"? Git не відстежує порожні папки.

Якщо ви розгалужили і перейшли до своєї нової гілки, то зробили нову папку та залишили її порожньою, а потім зробили "git commit -a", ви не отримали б цю нову папку у коміті.

Це означає, що він не відслідковується, а це означає, що перевірка іншої гілки не видалить її.


git init'ed мій каталог (/ home / dev), тоді я зробив "фіксацію -a" і натиснув на github. Тоді я створив нове відділення; створити каталог "example" з деякими файлами всередині і зафіксував гілку. Тепер я хочу повернутися до початкового етапу (головного) без каталогу "example", який я створив у новій гілці.
Дискотека

також у головній гілці каталогу "example" немає (як я бачу в github)
Disco

оновлення: у мене була одна порожня папка всередині прикладу каталогу; це чому він все ще показує мені каталог? Як позбутися від неї за допомогою git
Disco

Ви цього не робите. git не знає про це. Просто видаліть його. Якщо перевірити майстер, слід видалити будь-які файли, які знаходяться у гілці, але не в master із робочого каталогу.
Dan Ray

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]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.