私はgitの中に深く埋もれています。 Git rebaseは早送りではないことを示します
は、どのように私はそこに手に入れた:
私はGitの専門家ではないです。詳細が不明な場合は、私に明確な説明をしてください。 数日前に次のコマンドを実行して、変更をリモートブランチにプッシュしました。
% git checkout master
% git pull
% git checkout redactor_changes <-- this is the branch that I made my changes
% git commit -m "changes" # I added my changes previously
% git rebase master
% git push origin redactor_changes # pushed changes to remote branch
すべてが変更をマスターブランチにマージするための書き込み権限を持っているわけではありません。リモートリポジトリへの書き込み権限を持っている人には、競合があり、再分配して再送信すると私に伝えられました。だから今日は次のコマンドを正確な順序で実行しました。
[email protected]:~/oblog$ git add oblog/static/css/styles-custom.css
[email protected]:~/oblog$ git add oblog/static/js/redactor.upload_image.js
[email protected]:~/oblog$ git add oblog/static/images/loading.gif
[email protected]:~/oblog$ git commit -m "Throw a toast when user upload an non-image file with image extension"
[email protected]:~/oblog$ git branch
[email protected]:~/oblog$ git checkout master
[email protected]:~/oblog$ git pull
[email protected]:~/oblog$ git checkout redactor_changes
[email protected]:~/oblog$ git rebase master
[email protected]:~/oblog$ git merge master
[email protected]:~/oblog$ git branch
[email protected]:~/oblog$ git push origin redactor_changes
このコマンドのセットは、私が逃げることのできない渦に私を吸い込んだようです。
症状:
上記のコードの最後の行は、次のエラー
! [rejected] redactor_changes -> redactor_changes (non-fast-forward)
error: failed to push some refs to 'https://git.<domain>.com/web/oblog.git'
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.
をスローだから私は
- https://stackoverflow.com/a/20467414/1431184
- https://stackoverflow.com/a/6897674/1431184 SO仲間からのアドバイスに従っ
でも問題は解決しません。
LABLE:私は(ローカル)のマスターと私のブランチをリベースすると
、それは私が、手動でリベース--continueを修正してくださいいくつかの競合をスローします。 Rebaseは成功しました。それから私の支店を元に戻して、同じエラーが表示されました。 [拒否]。
gitとSOによって提案されているように、私は自分のリモートブランチの変更を自分のローカルブランチ(redactor_changes)にプルします。そして、LABELに私をバック置く
git rebase master
を実行します。これはちょっと変わっていません。
私のpushコマンドはmasterでリベースせず、リモートgitの所有者が自分のブランチ(redactor_changes)をマスターにマージしようとしたときにもコンフリクトを表示することに注意してください。
私が見ている一つの問題は、 'git rebase master'を実行してすぐに' git merge master'をすぐに実行したことです。どうしてこれをやったの? –
私の意図は、マスターとの変更をマージして私のブランチを元に戻し、次にブランチをマスターに配置するためにrebaseを実行することでした。あなたはそれがこれらの問題すべてを引き起こしていると思いますか? – printfmyname