Каковы отношения между & ldquo; a & rdquo; куча и & ldquo; the & rdquo; кучи?

Предполагая, что ваша ветка называется 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.

30
задан shoosh 16 April 2009 в 16:12
поделиться

9 ответов

Ничего особенного, если честно. Я бы предположил, что слово куча было просто взято с его повседневным (нетехническим) использованием и применено к этим двум понятиям индивидуально как достаточно хорошие аналогии.

В первом случае (значение древовидной структуры данных) , описание куча является наиболее подходящим, потому что "большие" объекты размещены выше в дереве (где "большее" определяется произвольной ключевой функцией) - т.е. есть своего рода куча более мелких объектов сверху из более крупных (или больше сверху, в зависимости от того, как вы к этому относитесь). Это просто, как я бы истолковал это; Тот, кто первым применил имя heap к этой структуре данных, подумал, что это подходящее имя в его сознании, и оно просто застряло.

Во втором случае (куски оперативной памяти) имя кучи может быть немного более очевидным. Здесь «куча» - это просто «большой набор вещей в произвольном порядке», который, похоже, применим в обычном использовании так же хорошо, как и к динамически выделяемым фрагментам памяти.

В любом случае, я бы не стал Не беспокойтесь об абстрактном метафорическом сходстве, которое вы можете провести между двумя идеями. Относитесь к ним совершенно по-отдельности, и в любой ситуации вы не ошибетесь.

Редактировать: Кажется, древовидная структура данных , возможно, взяла свое имя из кучи абстрактной алгебры, что достаточно распространено в информатике. Однако я не хотел бы подтвердить или опровергнуть это ...

Не беспокойтесь об абстрактном метафорическом сходстве, которое вы можете провести между двумя идеями. Относитесь к ним совершенно по-отдельности, и в любой ситуации вы не ошибетесь.

Редактировать: Кажется, древовидная структура данных , возможно, взяла свое имя из кучи абстрактной алгебры, что достаточно распространено в информатике. Однако я не хотел бы подтвердить или опровергнуть это ...

Не беспокойтесь об абстрактном метафорическом сходстве, которое вы можете провести между двумя идеями. Относитесь к ним совершенно по-отдельности, и в любой ситуации вы не ошибетесь.

Редактировать: Кажется, древовидная структура данных , возможно, взяла свое имя из кучи абстрактной алгебры, что достаточно распространено в информатике. Однако я не хотел бы подтвердить или опровергнуть это ...

25
ответ дан 27 November 2019 в 22:27
поделиться

См. Этот самый сайт для исследования происхождения названия "куча" для свободный накопитель памяти.

8
ответ дан 27 November 2019 в 22:27
поделиться

У них обоих одинаковое имя, вот и все.
Там «куча» никогда не организована как фактическая структура данных кучи.

5
ответ дан 27 November 2019 в 22:27
поделиться

Куча (структура данных) называется так, потому что если вы рисуете это похоже на кучу. Куча (память) называется кучей, потому что она как-то организована, но не полностью. Вы накапливаете данные в куче, но у вас могут быть дыры и неровности. Это как если бы вы положили бумаги в кучу. Иногда вы удаляете один снизу. Это имеет форму кучи, то есть как-то организовано, но не полностью.

3
ответ дан 27 November 2019 в 22:27
поделиться

Они. ... имеют то же имя! Вот и все.

2
ответ дан 27 November 2019 в 22:27
поделиться

Единственное отношение между ними - это имя «куча».

2
ответ дан 27 November 2019 в 22:27
поделиться

Ничего. Нет связи.

1
ответ дан 27 November 2019 в 22:27
поделиться

Определение от answers.com

Куча: группа вещей, помещенных или брошенных, одна поверх другой : куча грязных тряпок, лежащих в углу.

Это просто базовое наименование из-за концептуального образа бросать вещи в неупорядоченном виде. Как отмечают другие авторы, куча не организована как структура данных кучи. Это зависит от процедур выделения памяти в вашей системной библиотеке (например, проверьте, как работает malloc)

0
ответ дан 27 November 2019 в 22:27
поделиться

Чтобы еще больше усложнить вопрос: в некоторых системах (например, Microsoft Windows) существует несколько "куч" в смысле выделения памяти. «Куча» - это просто куча по умолчанию . Но если вы вызовете HeapAlloc () , вы можете выбрать, из какого выделения памяти вы хотите выделить подвыделение.

1
ответ дан 27 November 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: