Как определить точку ветвления определенной именованной ветви? - PullRequest
0 голосов
/ 17 октября 2018

Редактировать:

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

git diff

для создания правильного патча.

end edit

Я не могу запихнуть в удаленный репозиторий, потому чтопо какой-то повторяющейся причине, которая (для меня) делает невозможной работу с ветками с помощью git:

error: failed to push some refs to 'user@machine:/directory'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally.

Поэтому я решил создать некоторый файл патча и применить этот патч в какой-то чистой директории.Но я не имею ни малейшего представления о том, что хорошо известное имя объекта означает Starting-branch-of-of-Branch-A, чтобы убедиться, что я получаю правильный патч.Так какой аргумент я должен передать

git diff

?

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Один из распространенных способов решения этой проблемы - сначала запустить git fetch (или git fetch origin, если вы хотите получить определенный пульт, или git fetch --all, чтобы выбрать все пульты).Это не влияет на ваш рабочий каталог, вашу ветку или что-либо, что может иметь отношение к вам, поэтому вы можете запускать эту команду в любое время.Это обновит ветки удаленного отслеживания в вашем репо, обычно называемые <remote>/<branch>, например origin/master.

Теперь вы можете проверить свой журнал Git, например, с помощью git log --color --all --decorate --oneline --graph, или с помощью какого-либо инструмента с графическим интерфейсом (например, gitk --all).Он покажет вам, как ваша ветка, в вашем текущем случае, отклонилась от удаленной ветки.Затем вы можете решить, хотите ли вы объединить вашу ветку и удаленную ветку (например, с помощью git pull) или перебазировать вашу ветку поверх удаленной ветви (например, git pull --rebase).

0 голосов
/ 18 октября 2018

Вы опередили свое удаленное репо.Один из способов - сохранить локальную работу в другом месте и сбросить текущее хранилище в головку пульта, используя следующую команду:

git reset --hard HEAD

Внимание: эта команда удалит все, что вы работали и сохранили локально

после сброса в HEAD используйте следующую команду

git pull origin master

На этом шаге вы синхронизируетесь с удаленным репо.Теперь вы можете заменить сохраненную работу в своем местном отделении, а остальное легко.

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