Як повернути головну гілку до вище


145

Я відправив сховище git та налаштування вгору. Я вніс декілька змін у відділення Master і поклав на себе github.

Тепер що мені робити, щоб відмовитися від усіх своїх змін у гілці Master та зробити його ідентичним основній гілці вище за течією?

Відповіді:


277

(Я припускаю, що зміни, які ви зараз хочете ігнорувати, знаходяться у вашому originвіддаленому masterвідділенні, ви знаходитесь у своїй філії, і ви хочете повернутися до вмісту upstreamвіддаленого пристрою )

По-перше, скиньте робочу копію на головний майстер:

git remote update
# the double hyphen ensures that upstream/master is
# considered as a revision and not confused as a path
git reset --hard upstream/master --

Потім натисніть цю нову відділення до вашого сховища, не зважаючи на те, що вона не буде швидкою вперед:

git push origin +master

14
Може також потрібно запустити, git remote add upstream <upstream_repo_url>якщо ви роздвояли гілку за допомогою GitHub.
Като

3
Яке значення +в git push origin +master? Це те саме, що просто git push origin master?
bluenote10

4
@ bluenote10 Вони не однакові. Саме +це підказує git "[ігнорувати] той факт, що він не буде швидким вперед". Це трохи схоже на виконання git push --force, але це стосується лише конкретної реф.
nickgrim

1
Не працювало для мене. Я зробив статус git після того, як у нього були змінені елементи. Мені доведеться витерти і почати спочатку. Гіт зрозуміти надзвичайно важко.
Мітч

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