как мне отменить все изменения в моем локальном представителе и сделать его клоном апстрима в github - PullRequest
2 голосов
/ 17 апреля 2011

на Github есть репозиторий, например, github.com/foo/bar (== upstream)

Я перевожу его на github.com/memo/bar (== origin)

Я клонирую это на мой жесткий диск

В течение x дней я вытаскиваю из апстрима, редактирую и подталкиваю к источнику.

Мои вопросы:

  1. Теперь я хотел бы отменить все мои изменения и сделать мой локальный мастер (и источник / мастер) идентичным вышестоящему / мастеру. Как мне это сделать? Я попытался сбросить --hard upstream / master, но затем не могу нажать на источник.

  2. В качестве альтернативы, я хотел бы создать совершенно новую ветку, содержащую мою модифицированную версию (например, эксперимент__мемо), а затем сделать мою основную ветвь идентичной восходящей / основной

Если бы у меня не было вилки github (origin), я бы просто клонировал с нуля, но потом я не смогу нажать, поэтому единственное решение, которое я нашел, это удалить мою вилку на github, а затем повторно вилка, переклонирование и т. д.

Ответы [ 2 ]

3 голосов
/ 18 апреля 2011

Предполагая, что у вас нет пользователей вашего форка, вы можете просто git push -f после сброса в исходное положение. Это разрушит существующие клоны, поэтому его следует использовать только в том случае, если вы уверены, что никто не использует ваш форк.

1 голос
/ 18 апреля 2011

Ваш вопрос кажется немного туманным.

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

Я думаю, вы могли бы захотеть переназначить свою 'модифицированную версию' (изменения) на новый апстрим:

git rebase upstream/master

Это все равно переписывает вашу ветку истории, но будет повторно применять все ваши моды

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...