ここにあるものを使用しようとしましたが、それでは問題が解決しません。
リモート リポジトリから複製された 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
プッシュを停止したい。ブランチを削除したくありません - 同様の質問に対する多くの回答が、追跡を解除するのではなく削除することを提案しているようです。また、git push コマンドで明示的に名前を付けるだけで、特定のブランチにプッシュする方法も知りたくありません。そのようにマッスルメモリのミスが多すぎます。のみにプッシュしたい。remoteTrackedByOldBranch
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