Как перестать отправлять данные в несколько удаленных веток в git? (ака, Как мне отменить отслеживание удаленных веток git?)

Пытался использовать то, что здесь, но мне это ничего не решает.

У меня есть локальный репозиторий в git, клонированный из удаленного репозитория, development. Я разветвляюсь локально, чтобы поиграть с новой функцией в ветке с именем newBranchName, и вызываю git push origin newBranchName, чтобы настроить новую ветку в удаленном репо.

Теперь, когда я пытаюсь нажать, git, кажется, подталкивает мою локальную ветку newBranchNameво все, что отслеживала старая ветка. Я хочу, чтобы это прекратилось.

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

Administrator@BOXEN /path/to/working/dir (oldBranch)
$ git branch testingStuff

Administrator@BOXEN /path/to/working/dir (oldBranch)
$ git checkout testingStuff
Switched to branch 'testingStuff'

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ vim test.txt

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git add test.txt

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git commit -a
[testingStuff 11468d8] Testing git; can trash this branch.
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 test.txt

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git push origin testingStuff
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 299 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To http://url/to/remote/repo.git
 * [new branch]      testingStuff -> testingStuff

Теперь я отредактирую этот файл test.txt, зафиксирую изменение и отправлю его. Вот что меня смущает.

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ vim test.txt

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git commit -a
[testingStuff 2be7063] more testing git
 1 files changed, 1 insertions(+), 0 deletions(-)

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git push
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 276 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To http://url/to/remote/repo.git
   11468d8..2be7063  testingStuff -> testingStuff
 ! [rejected]        oldBranch -> remoteTrackedByOldBranch (non-fast-forward)
error: failed to push some refs to 'http://url/to/remote/repo.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

Я хочу продолжить отправку в testingStuffудаленно, но хочу прекратить отправку в remoteTrackedByOldBranchпри вводе git push. Я не хочу удалять какую-либо ветку - кажется, что ряд ответов на подобные вопросы предлагают удалить, а не отменить отслеживание. Я также не хочу знать, как нажать на конкретную ветку, только явно назвав ее в команде git push. Слишком много ошибок мышечной памяти.Я хочу, чтобы git pushнажимал только на origin/testingStuff.

Я уже неумно (слово, которое себя оправдывает) вырезал свой .git/config, пытаясь добиться этого, и он все еще нажимает на remoteTrackedByOldBranch.

РЕДАКТИРОВАТЬ:Вот как выглядит мой файл .git/config после выполнения вышеуказанного:

[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
        hideDotFiles = dotGitOnly
[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = http://url/to/remote/repo.git
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "oldBranch"]
        remote = origin
        merge = refs/heads/oldBranch

Ничего о ветке testingStuff.

РЕДАКТИРОВАТЬ:git branch -avvвывод:

Administrator@BOXEN /path/to/working/dir (testingStuff)
$ git branch -avv
  master                                 721aa61 initial setup
  projectFork1                           e132f5f Fixed Construction grid labels getting sliced.
  projectFork2                           1d20317 initial load
  oldBranch                              1d20317 initial load
* testingStuff                           192f622 Still testing
  remotes/origin/HEAD                    -> origin/master
  remotes/origin/empty                   ec1c694 initial setup
  remotes/origin/joeUserFork1            771f43e Initial Load
  remotes/origin/master                  721aa61 initial setup
  remotes/origin/projectFork1            e132f5f Fixed Construction grid labels getting sliced.
  remotes/origin/oldBranch               1d20317 initial load
  remotes/origin/joeUserFork2            dc605e8 What was sent initially.
  remotes/origin/testingStuff            192f622 Still testing
  remotes/origin/upload_master           0d8c440 Initial Load

5
задан Community 23 May 2017 в 11:47
поделиться