2015-07-10 2 views
0

Сегодня я пытался навсегда удалить файл во всех коммитах, используя git filter-branch. После этого мне нужно было принудительно нажать, чтобы убедиться, что все соавторы имеют доступ к репозиторию без этого файла.Разница между git push -f изначальный тормозные колодки и git кнопка изначальный тормозные колодки - сила?

Итак, я попробовал git push -f origin <branch-name>, что дало мне обычную ошибку «убедитесь, что у вас есть правильные права доступа».

Итак, я сделал следующие команды:

git push -f origin <branch-name> 
git checkout <branch-name> 
git push origin <branch-name>:<branch-name> --force 

После git push origin master --force, и она работала. Почему и как это отличается? Благодарю.

+2

ли вы внести изменения в 'ответвлением name' или' master'? Ваш вопрос не совсем ясно. –

+0

Я вносил изменения в ветку, отличную от мастера. Я попытался сделать вопрос более общим с помощью 'branch-name', так как' master' является ветвью. Если это изменит ответ на вопрос, извините, что неясно. – Hunle

ответ

1

Нет никакой разницы между git push -f <remote> <branch> и git push --force <remote> <branch>. -f - это просто стенограмма для --force.

git checkout <branch-name> checkout out <branch-name>. Поскольку вы указываете, какую ветвь вы хотели нажать, это не имело никакого эффекта.

git push origin <branch-name>:<branch-name> --force подтолкнуло ваши коммиты в вашем местном <branch-name> к пульту дистанционного управления <branch-name>. Это то же самое, что и git push origin <branch-name> --force, так как названия ветвей одинаковы.

Если у вас есть ошибка доступа с одной, но не с другой, вы, вероятно, не использовали правильные учетные данные.

https://git-scm.com/docs/git-push

+0

Я обновил свой вопрос более подробно - извините, что не включил это раньше. – Hunle

+0

Я согласен, что он, вероятно, использовал неправильные учетные данные. –

Смежные вопросы