web-dev-qa-db-ja.com

Githubで新しいコードをプッシュする問題

私はGithub上にReadme.mdファイルのみを持つ新しいリポジトリを作成しました。

このリポジトリにプッシュしたい、新しく作成したRoRプロジェクトがあります。以下はこれを実行するために私がターミナルで与えたコマンドと私が得ているエラーです。

git remote add Origin https://github.com/aniruddhabarapatre/learn-Rails.git

その後、私は自分のユーザー名とパスワードを入力しました

git Push -u Origin master

エラー---

To https://github.com/aniruddhabarapatre/learn-Rails.git
 ! [rejected]        master -> master (fetch first)
error: failed to Push some refs to 'https://github.com/aniruddhabarapatre/learn-Rails.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git Push --help' for details.

私のコードをGithubレポジトリにプッシュするのは今回が初めてで、エラーに見舞われてしまいました。私はここで尋ねられるいくつかの他の質問を捜したが、それらのどれも最初に問題を抱えていなかった。

134
Aniruddha

GitHub上のあなたのリポジトリ を作成したとき、あなたは README.md を作成しました---これは 新しいコミット です。

あなたのローカルリポジトリはこのコミットについてまだ知りません。それゆえ:

リモートにはローカルにない作業が含まれているため、更新は拒否されました。

あなたはこのアドバイスに従うことを見つけたいかもしれません:

もう一度プッシュする前に、まずリモートの変更(例: 'git pull')をマージすることをお勧めします。

あれは:

git pull
# Fix any merge conflicts, if you have a `README.md` locally
git Push -u Origin master
153
Johnsyweb

これが初めての場合

ただ変更する

git Push **-u** Origin master

このように変更してください。

git Push -f Origin master
268
Van Mart

⚡️EASY:必要なのは強制プッシュだけです。 Githubでreadme.mdファイルを作成したかもしれず、まだそれを引っ張っていないからです。

git Push -f Origin master

そして、これがGIFです。

git Push -f Origin master

注意:forceを使用すると、同じプロジェクトの他の人々の履歴を変更することができます。基本的に、誰にとってもファイルが削除されても構わない場合は、先に進んでください。特にあなたがプロジェクトの唯一の開発者であるならば。

49
Ahmad Awais

次のコマンドで強制プッシュを発行します。

git Push -f Origin master
32
Samarth Shah

Githubが提供するインタフェースを介してReadme.mdファイルを追加したと仮定すると、readmeはまだローカルフォルダにありません。したがって、リモートレポジトリにプッシュしようとすると、ローカルレポジトリにreadmeファイルがないため、エラーが発生します。いわゆる「時代遅れ」です。したがって、エラーメッセージで示唆されているように、最初に "git pull"を試してください。これにより、リモートリポジトリからreadmeが取得され、ローカルディレクトリとマージされます。その後は、リモートレポジトリにプッシュしても問題ありません(あなたが投稿したコマンドは私には有効に見えます)。

8
Quercus

これはあなたが最初にプッシュしようとしたときに起こります。あなたのGitHubレポジトリの中にreadMe.mdかあなたのローカルレポジトリにない他の新しいものがあるので。まず、あなたのgithubリポジトリの無関係な履歴をマージしなければなりません。

git pull Origin master --allow-unrelated-histories

それからあなたはこれを使ってrepo(readMe.mdかany)から他のファイルを得ることができます。

git pull Origin master

その後

git Push -u Origin master

これであなたはすべての変更をGithubリポジトリにプッシュすることに成功しました。gitのエキスパートではありませんが、毎回これらのステップがうまくいくのです。

5
Chathuranga

あなたがしばらくの間あなたの変更をコミットしていないかどうかを考えると、多分これをすることはあなたのために働くでしょう。

git add files
git commit -m "Your Commit"
git Push -u Origin master

それは私のために働いた、うまくいけばそれはあなたのためにもなります。

5

gUIでMac用gitを使用する場合は、まずRepository-> Pullまたは "comm + shift + p"を選択して "git pull"してから、ソースを公開します。

3
zheng fuchao

このエラーは、gitコマンドを使用してローカルディレクトリからリモートgitリポジトリにデータをプッシュすると発生します。git Push -u Origin master

ローカルディレクトリとgitリモートディレクトリのファイルが衝突しています。

Solution:

すべてのファイルをステージングにコミットしたら、以下の手順に従います。

  1. ローカル作業ディレクトリとの競合として、リモートリポジトリからファイルを取得します。

    • git pull <remoter-url> <branch-name>
  2. 変更をもう一度コミットします。

    • git add -A
    • git commit -m ‘<comment>'
  3. 両方のディレクトリにマージファイルをコミットした後に使用できます

    • git Push -u Origin master

これで問題は解決します。ありがとう。

1
Ravi

私は1時間以上このエラーに苦労しました!以下は私がそれを解決するのを助けたものです。私の作業ディレクトリ中のこれらすべては私が私のシステムにクローンしたレポでした。

既存のリポジトリにファイルを追加している場合** 1.自分のリポジトリに追加したものをすべてGitHubフォルダにプルします。

git pull


いくつかのreadmeファイルfile1 file2の出力

  1. 私は自分の新しいファイル(プッシュしたいファイル)を自分のクローンリポジトリにコピー(ドラッグアンドドロップ)しました(GitHubリポジトリ)。このリポジトリを開くと、古いファイルと新しいファイルが表示されます。

例えば。いくつかのreadmeファイルfile1 file2 newfile1 newfile2

  1. git add "newfile1" "newfile2"

  2. [オプション] git statusこれはあなたが追加したいファイルが正しくステージングされているか、あるいは出力されていないかをあなたに保証します。


ブランチマスターについてあなたのブランチは 'Origin/master'で最新です。コミットする変更:(ステージを解除するには "git reset HEAD ..."を使用します)

    new file:   newfile1
    new file:   newfile2

5.git commit -m "どんな記述でも構いません" 6.git Push

そして私のレポには、古いファイルと一緒に私の新しいファイルがすべて見られました。

0
Preeti

[ブランチ]オプションを使用し、[remote/Origin]フォルダを右クリックしてから[リモートからブランチを削除]をクリックします。下の画像を参照してください。

the image

もっと簡単な答えは、あなたのコンピュータからGitHubにREADME.MDファイルを手動でアップロードすることです。私にとってはとてもうまくいった。

0
Bogdan Doicin

私は同じような問題を抱えていました...私はそれを次のように解決しました(私はgitの専門家ではないので、それが正しい解決策かどうかはわかりませんが、うまくいきました)。

git pull Origin master --allow-unrelated-histories
git merge Origin origin/master
git rm README.md
git commit -m 'removed readme.md'
git Push Origin master
0
Marco Caggiano