16

私は git にまったく慣れていません。過去 2 か月間、小さなサイド プロジェクトに取り組んでおり、問題なく bitbucket にプッシュしていました。数日前、プロジェクト フォルダーを圧縮し (Linux OS を再インストールする必要があったため)、Linux OS の再インストール後にこれを解凍しました。

それで、今、私は自分のプロジェクトフォルダーに行き、楽しく働き続け、最終的にやりました:

git add -A && git commit -m "modified code" && git push origin master

..これは私が通常行うことです..

そして私は得る:

To https://johnsproject@bitbucket.org/johnsproject/proj.git
! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://johnsproject@bitbucket.org/johnsproject/proj.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

強制フラグの使用を提案するSOの質問をいくつか見ましたが、-fこれを行うべきかどうかはわかりません。

ps: 私は master ブランチonlyにいます。これは私のレポのブランチです。

ここで誰かが私を正しい方向に向けることができれば、本当に感謝しています。

ありがとう。

4

8 に答える 8

24

中央リポジトリには、プッシュする前にプルする必要がある変更があります。行う

git add -A
git commit -m "my local changes" 
git pull

競合を解決します。それからする

git push

または、ローカルに重要な変更がない場合は、リポジトリの新しいクローンを作成して、そこから作業を開始できます。

git clone https://johnsproject@bitbucket.org/johnsproject/proj.git new_repo_dir
于 2013-06-03T14:37:26.057 に答える
11

やってみる

git pull origin master
git add -A
git commit -m "modified code"
git push origin master

ローカル リポジトリがリモート リポジトリと同期していない可能性があります。

于 2013-06-03T14:37:44.010 に答える
9

私も同じ問題を抱えていました。git push -f更新を強制するコマンドを使用して修正しました。

于 2014-01-14T23:54:53.890 に答える