2013-10-05 4 views
0

Я нахожусь в 32-битной системе Windows 8, на которой работает GitHub для Windows. Основная ветка моего хранилища имеет HTML-файл. Я активировал службу веб-страницы GitHub. Чтобы обслуживать мою веб-страницу, я переключился на ветку «gh-pages» и запустил «git checkout master - MyWebPage.html», затем выполнил фиксацию & sync.Как обновить существующую копию между ветвями Git?

Теперь я обновил свою веб-страницу на ветке «master». Когда я попытался скопировать файл в ветку «gh-pages», ничего не произошло! Он не копировал, так как файл уже существует. Я думаю, он не рассматривает обновленное состояние.

Как перекрасить по веткам, используя последние? Веб-страница является единственным файлом, общим для обеих ветвей. Я слышал о чем-то, называемом «merge», но он может работать на уровне ветви, и я не хочу, чтобы все файлы раздела «master» были скопированы, только веб-страница, которую я уже сделал.

+0

Вы совершили новые изменения, внесенные мастером перед переключением ветвей? Эта же процедура должна применяться для обновления файла в другой ветке. 'git checkout gh-pages', а затем' git checkout master MyWebPage.html' и 'git commit -am 'fix'' – Kedar

+0

@kedar, да, я совершил изменения. Я изменил веб-страницу в главной ветке с страницы редактирования GitHub в моем браузере. – CTMacUser

+0

Я просто попробовал «git merge --no-commit master», и он сделал то, чего боялся. Он скопировал каждый файл из ветки «master» ** и ** он не изменил файл веб-страницы, что является наихудшим из обоих миров. – CTMacUser

ответ

0

Глядя на мои (первые) два комментария по этому вопросу, я понял это.

  1. Я изменил веб-страницу с помощью функции GitHub «прямое редактирование с веб-страниц GitHub».
  2. Это означает, что моя локальная копия ветви «мастер» не имеет такого изменения.
  3. Так «git checkout master MyWebPage.html» просто копирует неизменный файл.
  4. Я переключился на «master», использовал синхронизацию, чтобы получить новую фиксацию, переключился на «gh-pages», затем «git checkout master MyWebPage.html» снова. На этот раз это сработало!

Итак, я узнал, что копирование между ветвями осуществляется только локальными версиями. Удаленные обновления не включены.

Смежные вопросы