自分のgitリポジトリ( "main"から編集されたファイル)で間違いを犯しました。 "git push -f"を使用して、私の "main"リポジトリにローカルリビジョンを受け入れる必要がありました。私はリモートのメインリポジトリに戻り、gitのステータスを出しました。Git:以前にコミットされた変更が表示されるのはなぜですか?
私は、コミットする変更が古く、実際のローカルリポジトリステータス(-fを押したもの)を反映していないことがわかります。ですから、私がメインでgit commitをしてもうまくいきますが、2つのリポジトリが異なります。
新しい標準Gitのプッシュがエラーを示しているので、状況が解決されない:
私のメインのレポは私のローカルコピーと同じ内容を持つように、これは解決することができますどのように! [rejected] master -> master (non-fast-forward)
?
私は以前はSubversionユーザーでしたが、gitで多くの経験がありませんでした。そのため、私はこの間違いを犯しました。私のコードをgit initでコピーしたものから、私の主なものになるリモートのreposを作成したことです。あなたは私のリモートサーバのリポジトリを再作成するべきだと思いますか?それを裸のものにしていますか? Btw、どうやって裸の作品ですか?ファイルの変更を追跡する内部データベースの種類はありますが、直接編集することはできません。 – Spyros
"ベアリポジトリ"は、svnで単にリポジトリを呼び出すことです。つまり、サーバ上に置かれているものです(もちろん単純すぎます)。非ベースのリポジトリはあなたの作業コピーに使われます(gitには履歴も含まれています)。 –
ローカルリポジトリにすべてのコード(必要なすべてのリビジョンを含む)があれば、 'git clone --bare'(そこからローカルリポジトリにアクセスできる場合)を使って" main "を再作成することができます。さもなければ、新しい 'git init --bare'を行い、あなたのローカルから' git push'を使います。 –