git push of subtree-remote отправил весь репо, как отменить? - PullRequest
0 голосов
/ 28 марта 2019

I Git слился мое репо фекли-узел в мое репо сан . Команды

$ git remote add -f node git@github.com:feklee/feklee-node.git
$ git merge -s ours --no-commit --allow-unrelated-histories feklee-node/master
$ git read-tree --prefix=node/ -u node/master
$ git commit # done from Emacs Magit IIRC
$ mv node/ nodes/pcb/

Затем я сделал некоторые изменения в репо san и хотел вернуть изменения в поддереве обратно в feklee-node . Я так и сделал (что, очевидно, было плохой идеей):

$ git push node master # node = git@github.com:feklee/feklee-node.git

Это выдвинуло все содержимое san в feklee-node . О нет!

Как мне отменить этот массивный git push?

А также мне интересно, как протолкнуть только поддерево.

Обновление

Я вернулся к старой фиксации, переписав историю:

$ git reset --hard 87b2d1aaea1c0a628c4725e2ea16682f344f102e
$ git push --force

Здесь мне повезло, потому что у меня еще была открытая вкладка браузера с репозиторием GitHub в состоянии до массового пуша. Показал вышеуказанный хеш.

1 Ответ

1 голос
/ 28 марта 2019

Чтобы отменить коммит, используйте

git revert

Нажатие только на поддерево должно выглядеть примерно так:

git subtree push --prefix=my/folder subtree_origin master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...