Предполагая, что ваша ветка называется master
как здесь, так и удаленно, и что ваш пульт называется origin
, вы можете сделать:
git reset --hard
git push -f origin master
Однако вам следует избегать этого, если кто-либо еще работает с вашим удаленным репозиторием и вытащил ваши изменения. В этом случае было бы лучше вернуть те коммиты, которые вы не хотите, а затем нажимать как обычно.
Обновление: у вас есть объяснил ниже, что другие люди вытащили те изменения, которые вы нажали, поэтому лучше создать новую фиксацию, которая возвращает все эти изменения. Есть хорошее объяснение ваших вариантов для этого в этом ответе от Jakub Narębski . Какой из них наиболее удобен, зависит от количества фиксаций, которые вы хотите вернуть, и какой метод имеет для вас наибольший смысл.
Поскольку из вашего вопроса ясно, что вы уже использовали git reset --hard
для сброса настроек master
], вам может потребоваться начать с git reset --hard ORIG_HEAD
, чтобы переместить ветку назад туда, где она была раньше. (Как всегда с git reset --hard
, убедитесь, что git status
чист, что вы находитесь на правильной ветке и знаете, что вы знаете git reflog
как инструмент для восстановления явно потерянных коммитов.) Вы также должны проверить, что ORIG_HEAD
указывает на право фиксации с помощью git show ORIG_HEAD
.
Ничего особенного, если честно. Я бы предположил, что слово куча было просто взято с его повседневным (нетехническим) использованием и применено к этим двум понятиям индивидуально как достаточно хорошие аналогии.
В первом случае (значение древовидной структуры данных) , описание куча является наиболее подходящим, потому что "большие" объекты размещены выше в дереве (где "большее" определяется произвольной ключевой функцией) - т.е. есть своего рода куча более мелких объектов сверху из более крупных (или больше сверху, в зависимости от того, как вы к этому относитесь). Это просто, как я бы истолковал это; Тот, кто первым применил имя heap к этой структуре данных, подумал, что это подходящее имя в его сознании, и оно просто застряло.
Во втором случае (куски оперативной памяти) имя кучи может быть немного более очевидным. Здесь «куча» - это просто «большой набор вещей в произвольном порядке», который, похоже, применим в обычном использовании так же хорошо, как и к динамически выделяемым фрагментам памяти.
В любом случае, я бы не стал Не беспокойтесь об абстрактном метафорическом сходстве, которое вы можете провести между двумя идеями. Относитесь к ним совершенно по-отдельности, и в любой ситуации вы не ошибетесь.
Редактировать: Кажется, древовидная структура данных , возможно, взяла свое имя из кучи абстрактной алгебры, что достаточно распространено в информатике. Однако я не хотел бы подтвердить или опровергнуть это ...
Не беспокойтесь об абстрактном метафорическом сходстве, которое вы можете провести между двумя идеями. Относитесь к ним совершенно по-отдельности, и в любой ситуации вы не ошибетесь.Редактировать: Кажется, древовидная структура данных , возможно, взяла свое имя из кучи абстрактной алгебры, что достаточно распространено в информатике. Однако я не хотел бы подтвердить или опровергнуть это ...
Не беспокойтесь об абстрактном метафорическом сходстве, которое вы можете провести между двумя идеями. Относитесь к ним совершенно по-отдельности, и в любой ситуации вы не ошибетесь.Редактировать: Кажется, древовидная структура данных , возможно, взяла свое имя из кучи абстрактной алгебры, что достаточно распространено в информатике. Однако я не хотел бы подтвердить или опровергнуть это ...
См. Этот самый сайт для исследования происхождения названия "куча" для свободный накопитель памяти.
У них обоих одинаковое имя, вот и все.
Там «куча» никогда не организована как фактическая структура данных кучи.
Куча (структура данных) называется так, потому что если вы рисуете это похоже на кучу. Куча (память) называется кучей, потому что она как-то организована, но не полностью. Вы накапливаете данные в куче, но у вас могут быть дыры и неровности. Это как если бы вы положили бумаги в кучу. Иногда вы удаляете один снизу. Это имеет форму кучи, то есть как-то организовано, но не полностью.
Определение от answers.com
Куча: группа вещей, помещенных или брошенных, одна поверх другой : куча грязных тряпок, лежащих в углу.
Это просто базовое наименование из-за концептуального образа бросать вещи в неупорядоченном виде. Как отмечают другие авторы, куча не организована как структура данных кучи. Это зависит от процедур выделения памяти в вашей системной библиотеке (например, проверьте, как работает malloc)
Чтобы еще больше усложнить вопрос: в некоторых системах (например, Microsoft Windows) существует несколько "куч" в смысле выделения памяти. «Куча» - это просто куча по умолчанию . Но если вы вызовете HeapAlloc ()
, вы можете выбрать, из какого выделения памяти вы хотите выделить подвыделение.