2016-09-21 7 views
0

ブランチでdevelopの作業をしていました。私はブランチをもう使用したくないと決めたので、git checkout developをしてからgit branch -D branch1.0で削除しました。その後、私はgit checkout -b branch1.0でブランチをもう一度作成することにしました(変更はありません)。しかし、今私は新しいブランチをプッシュしようとすると、次のエラーが表示されます:チェックアウトから新しいブランチをプッシュできません

hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Integrate the remote changes (e.g. 
hint: 'git pull ...') before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

なぜ私はこれを取得しますか?すべてのポインタは本当にありがとう!

+0

これはわかりませんが、これは役立つかもしれません: 'git checkout master; git push --all origin; '':) ' –

答えて

1

これは、ローカルブランチがリモートブランチと同期していないためです。 あなたは、どちらかの力が使用してローカルブランチをプッシュすることができます注意して

git push -f origin <branch>  

使用これを。 これは、他のコラボレータによって行われた変更を失うために遠隔報告を引き起こします。 (ローカルのコミットを保存した後)

リモートで行われたコミットを保持したい場合は、リモート以下を使用して、ローカルのブランチを同期:

git pull --rebase 

これは、上のすべてのローカルのコミットを配置します新しく引っ張られた変更のトップこれに続いて、あなたのリモートレポへのプッシュは、どんなフラグも発生させません。

リモートトラッキング情報を削除しないと、同名のブランチを再作成するとプッシュ/プルでフラグが立てられます。これを修正するには、git branch -d -r origin/<branch>を使用してリモートトラッキング情報を削除します。

+0

なぜ同期していないのですか?私が 'git checkout development'を行うと、私のローカル変更が発展します。次に、 'git checkout -b branch1.0'を使って新しいブランチを作成してチェックアウトすると、まだ同期していませんか?奇妙なことに、前に使用されていなかった名前のブランチを作成した場合、エラーは発生しません。 – Kex

+0

@Kexが編集を追加しました。それが役に立てば幸い! – Mithun

+1

ブリリアント。ご協力いただきありがとうございます! – Kex

関連する問題