2017-02-04 12 views
2

私は混乱の中で私のgitを持っているようです。リモートブランチを削除した後にgit上流がなくなった

私が最初にすべてのこの使用Sprint/13/Story/XXX-11

ブランチと命名された枝と改名:これはリモートで名前を変更していなかったし、私のGitのステータスがマージされない程度のメッセージでいっぱいだった

git branch -m Sprint13/Story/XXX-11

をし、変更されていない変更。

だから、私はこれをしなかったので、私はその後、ちょうどリモートブランチを削除するだろうと思った:、 Your branch is based on 'origin/Sprint/13/Story/XXX-11', but the upstream is gone.

答えて

3

は、あなたが実際にこれは、その後、あなたがこの

git branch --delete --remotes origin/Sprint/13/Story/XXX-11 

これは、リモートを削除しなかったローカル支店Sprint/13/Story/XXX-11

Sprint13/Story/XXX-11へと改名

これまで

git branch -m Sprint13/Story/XXX-11 
をやっていることですあなたのオリジナルブランチの
ブランチを追跡してください。このブランチは実際のローカルであり、リモートリポジトリからプルするたびにローカルブランチの同期アップポイントとして機能することに注意してください。

状況を修正するには、私はあなたが最初にローカルで名前を変更したブランチを削除すべきだと思う:あなたは今

git push origin Sprint/13/Story/XXX-11:Sprint13/Story/XXX-11 

git branch -d Sprint13/Story/XXX-11  # delete local new renamed branch 

次に、新しい名前でリモートに古いローカルブランチをプッシュ

git pull origin Sprint13/Story/XXX-11 

このプロセスでは、Gitはまた、適切な場所を指すローカルトラッキングブランチを作成します。クリーンアップのために

、あなたは今、古い支部だけでなく、そのリモート対応を削除することができます。

git branch -d Sprint/13/Story/XXX-11  # delete old local branch 
git push origin :Sprint/13/Story/XXX-11 # delete old remote branch 
+0

私はこれを行う場合でも、リモートブランチはまだスプリント/ 13 /ストーリー/ PEN-6021と呼ばれています。 – dagda1

+0

あなたは私を助けている、あなたの時間を取る。 – dagda1

+0

'git push origin local-name:remote-name'を使用して、リモートで必要な名前を取得します。 –

1

まず:私はgitのステータスを行う際

git branch --delete --remotes origin/Sprint/13/Story/XXX-11

は今、私は、次のメッセージが表示されますブランチの名前を変更する構文は次のとおりです。

git branch -m [<oldbranch>] <newbranch> 

したがって、012を持っていることを確認する必要があります名前の変更前にがチェックアウトされました。

git branch -m Sprint/13/Story/XXX-11 Sprint13/Story/XXX-11 

あなたの現在のブランチの名前が変更されている場合、あなたはgit branchで確認することができます、必ずフルrenameコマンドを入力する

最後に、これはリモート追跡ブランチに影響しません。

あなたが実行する必要があります。

git push -u origin Sprint13/Story/XXX-11 

がリモートレポに同じ名前のリモートブランチを作成します。
そしてgit push origin :Sprint/13/Story/XXX-11は古いものを削除します。ここで

関連する問題