Подтвердить что ты не робот

Почему не отключен "git статус" в ветке?

Все в заголовке...

Я прочитал этот вопрос: Просмотр Unpushed Git Commits

Но я не понимаю, почему git status отображает все нечеткие коммиты в главной ветки, но не отображает ничего в других ветвях.

Может кто-нибудь объяснить это?

ИЗМЕНИТЬ

Вот что я сделал/получал команды и выходы:

[email protected]:/home/repo/$ git branch
  new_feature
* master

[email protected]:/home/repo/$ git checkout new_feature
Switched to branch 'new_feature'

[email protected]:/home/repo/$ echo test > newfile.txt
[email protected]:/home/repo/$ git add newfile.txt
[email protected]:/home/repo/$ git commit -m "Test commit"
[new_feature 51c6a64] Test commit
1 file added
[email protected]:/home/repo/$ git status
# On branch new_feature
nothing added to commit

Почему мой коммит не появляется при использовании git status?

4b9b3361

Ответ 1

Причина в том, что на вашей основной ветке есть удаленная ветвь, на основе origin/master, которую ваша ветка настроена для отслеживания.

Это означает, что каждый раз, когда вы выполняете фиксацию, а затем выполняете git status git, вы укажете, какие коммиты отличаются между вашей локальной ветвью и удаленной ветвью.

Когда вы создаете новую ветку, по умолчанию не существует соответствующей удаленной ветки. Вы можете увидеть это, выполнив git branch -a. который покажет вам все удаленные ветки, которые настроены.

Таким образом, в игре есть две вещи:

1) У вас нет удаленной ветки для вашей локальной ветки 2) Ваша ветка не настроена для отслеживания изменений с удаленной ветки.

Один простой способ сделать удаленную ветвь и настроить отслеживание для вашей локальной ветки - это нажать локальную ветвь на удаленную ветку:

git checkout new_feature
git push -u origin new_feature

Обычно, когда вы просто нажимаете без переключателя -u, отслеживание не будет настроено, но ваша ветка все равно будет нажата. Но когда вы перейдете в переключатель -u, он сообщит git, что вы также хотите настроить ветвь для отслеживания изменений из удаленной ветки.

После того, как вы это сделаете, а затем внесите изменения и скопируйте их, затем выполните git status, вы получите ожидаемый результат: "Ваша ветка является начальником origin/new_feature на 1 commit"