私のGIT(BitBucket)リポジトリを押して次の問題が見つかりました。GITリポジトリでこのコミットをプッシュできないのはなぜですか?エラー:my_repoにいくつかの参照をプッシュできませんでした
私はGitのプッシュをすれば、私は次のエラーメッセージを得る:
$ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push origin HEAD:<name-of-remote-branch>
だから私はGitのプッシュ原点マスターを行うが、私に次のエラーメッセージ与えようと試み:
$ git push origin master
To https://bitbucket.org/AndreaNobiliProjects/glis-trigger.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://[email protected]/AndreaNobiliProjects/glis-trigger.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
を
何が問題なのでしょうか?どのように私はそれを修正しようとすることができますか?
私は、このエラーメッセージ取得私が前にやっていることを説明します。リポジトリに別の人によって行われたいくつかの変更があったので、私はプッシュしてみましたが、私はできません
- を。
- 私はリポジトリからプルしますが、これらの変更を使用しないため、プロジェクトの内容を自分のバージョンに置き換えました(私はプル前にバックアップを実行しました)。
- 私は再度コミットしてプッシュし、このエラーが発生しています。
この状況を解決するにはどうすればよいですか?それは早送りプッシュではないので
Ok ...「早送りプッシュ」とは何ですか?私は何を正確にする必要がありますか?私が理解しているところでは、私のバックアップ(私のバージョンのコード)を取ってから、 "git pull --rebase origin master"を実行する必要があります。このように正確に何をしていますか? – AndreaNobili
リベースは予想される結果を生成する可能性は低いです。ここで必要とされるのは、木が目標状態にあることが分かっているからです。 'filter-branch'を使ってフープを実行するのではなく、私の答えのような手続きを使ってマスターのために新しいコミットを準備するだけです。 –
@AndreaNobiliプッシュは、実際にはローカルブランチをリモートリポジトリ内のリモートターゲットブランチにマージすることです。リモートターゲットブランチのヘッドがローカルブランチのヘッドの祖先である場合、プッシュは早送りマージになります。そうでない場合、2つの分岐が分岐する。ローカルブランチがa-b-c-dであり、ターゲットがa-b-c-eであると仮定する。 eはdの祖先ではありません。 'git pull --rebase'によって、ローカルはa-b-c-e-d 'になります。今、eはd 'の祖先です。プッシュは早送りプッシュになります。早送りマージと真マージは 'git merge --help'で説明されています。 – ElpieKay