0

重複の可能性:
コードをgithubにプッシュできないのはなぜですか?

オリジンマスターをgitハブにプッシュしようとしていますが、拒否され続けます。ユーザー名とパスワードの入力を求められ、正しいと確信しています。

これは私が得ているエラーです

To https://github.com/anderskitson/omrails.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/anderskitson/omrails.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.
4

3 に答える 3

1

最初に行う

git pull

その後、あなたはすることができます

git push

拒否される理由は、サーバー上にローカルにないコミットがあるため、プッシュする前にそれらをマージする必要があるためです。

Subversionでも同じことが起こります。実行するsvn up前に、そうする必要がありますsvn commit

于 2012-12-31T00:13:05.797 に答える
1

引っ張る。リモートブランチはローカルブランチの前にあります。

git pull

于 2012-12-31T00:13:34.847 に答える
1

githubには、ローカルリポジトリにはないコミットがいくつかあります。変更をプッシュすると、すでにgithubにある変更が置き換えられ、それらのコミットは失われます。

解決策は、githubの変更をプルしてローカルリポジトリにマージすることです。そうすれば、変更を失うことを心配せずに、変更をgithubにプッシュできます。

これを解決する方法は、次のコマンドを実行することです。

git pull

コマンドが競合を通知する場合は、それらを修正してから、マージされたファイルを追加してコミットします。ほとんどの場合、競合は発生しないため、ここでは何もする必要はありません。

次に、もう一度プッシュしてみてください。

git push
于 2012-12-31T00:18:57.940 に答える