2016-09-06 8 views
0

私はGitの使い方に関するチュートリアルに従っています。私は新しく作成されたGitHubリポジトリにファイルをプッシュする部分に就いています。しかし、私はエラーを取得しています:GitHubのレポは、GitHubの提供によってその中にreadme.mdファイルを、持っていた、と私の地元はしなかったのでGitHubからファイルを削除するにはどうしたらいいですか?

Updates were rejected because the remote contains work that you do not have locally. 

私はこれをして推測しています。だから私はそのファイルを削除しました。しかし、私はまだプッシュすることはできません。私はまだ同じメッセージを受けています。

私は何とかリモートのレポの変更(読み込み中の削除)を 'プッシュ'しなければならないと思います。

誰でもそのことについて知っていますか?

+0

いいえ、プッシュする前にリモート変更をプル*する必要があります。 'git pull -r'を実行して、リモート上のコミットの上にあなた自身のコミットを追加してください。 – jonrsharpe

答えて

1

So I deleted that file. However I still cannot push. I'm still getting the same message.

この削除によって、ローカルにはない新しいコミットが作成されました。
問題はファイルの有無ではなく、ローカルリポジトリとリモートリポジトリの間に異なる履歴(コミットのセット)が存在することです。その後

git config --global pull.rebase true 
git config --global rebase.autoStash true 

単にgit pull

をして、あなたのローカル設定を設定します。

任意のローカルwork in progress will be stashed、あなた自身のコミットはリベースされ、作業が再適用されます。その後、レビュー、追加、コミット、およびプッシュを行うことができます。

その組み合わせは、(pull.rebase + rebase.autostash)のGit 2.6(2015年9月)以降で使用可能です: "Can “git pull” automatically stash and pop pending changes?"

0

使用のgit rmを参照してください。

git rm file1.txt 
git commit -m "remove file1.txt" 

をしかし、あなたはファイルのみを削除したい場合Gitのリポジトリからではなく、ファイルシステム、使用からそれを削除します。

git rm --cached file1.txt 

そして、あなたはチャンをプッシュするワンド場合リモートリポジトリからリモートリポジトリへ

git push origin branch_name 
関連する問題