Возможно, ваш master
на опережает origin/master
.
То есть сразу после:
git checkout master
git pull origin master
, если вы запустить:
git log --decorate --oneline --graph --boundary origin/master...master
что вы получите на выходе? (Обратите внимание на три точки здесь, хотя две будут означать аналогичную информацию.) Если что-то появляется здесь, можно ожидать результатов, которые вы получили. Вы также можете запустить:
git rev-list --count origin/master..master
(на этот раз обратите внимание на две точки); если результат не равен нулю, все это имеет смысл.
git checkout -b new-branch
Это создает новое имя new-branch
, указывающее на то же commit , что и ваш ( обычное, местное) название филиала master
. Вероятно, вы хотели, чтобы он указывал на тот же commit , что и ваш origin/master
. Если origin/master
выбирает другую (более старую) фиксацию, чем master
, вы выбрали здесь неправильную фиксацию.
git status //nothing here
Поскольку вы только что создали new-branch
, ничего действительно интересно сообщить здесь.
git push origin new-branch
Здесь ваш Git вызывает Git на origin
(на GitHub) и просит их создать их имя branch
, так что он выбирает тот же коммит, что и ваше имя branch
. Если эта фиксация опережает их master
- ваш origin/master
- и вы делаете запрос на вытягивание сейчас, этот запрос на вытягивание будет содержать коммиты, которые есть у вашего master
и которых нет в master
.