質問: ### 前提・実現したいこと git pushでのエラーとその作業の中で疑問に思ったこと ここに質問の内容を詳しく書いてください。 僕は静的なwebサイトを1ページ作るので、htmlファイルと、cssファイルを別のリモートリポジトリで管理したくて、これを1つのフォルダからやろうとしてできなかったのです。 error内容は、 git push をするときに、errorが発生してしまうのですが、色々調べたり試したりして1日が経ってしまいした。 疑問に思ったことはテキスト通りにgit init -> git add -> git commit -> git remote add -> git push と、普通の流れでやってると思うのですが、うまくいかずerrorになってしまいます。 色々それっぽいコマンドを入力しまくりますたが、 git clone をするとうまくいくみたいでした。 質問は、 ・そもそも2つのリモートリポジトリで1つのフォルダの内容を管理できるのか。またできるの なら、どうすればいいのか。 ・gitの push までの流れはクローンを作ってそのフォルダでテキストの流れをするのか、または、ローカルでフォルダを作って、できるかわからないけど、そこからテキストの流れをやるのか。 ・皆さんはhtmlファイルとcssファイルをどのように管理してますか? 質問がよくわからなくて、あまり言葉にできてないのですが、どうか初心者へのサポートをよろしくお願いします。 ### 発生している問題・エラーメッセージ エラーメッセージはテキストの流れをやった結果です。 ``` エラーメッセージ To github.com:Ryousuke0203/test.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@github.com:Ryousuke0203/test.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 integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. ``` ### 該当のソースコード ``` ソースコードは、書いたgitのコマンド操作のみなので、ありません。 ``` ### 試したこと 自分で調べてみて、試して、また消してを繰り返してました。コマンド操作もしっかり理解はできないまま試してました。 エラーメッセージも翻訳機能を使ってhintを主にみていたのですが、全くわかりませんでした。 ### 補足情報(FW/ツールのバージョンなど) MacBookのターミナルとgithubを使いました。 ここにより詳細な情報を記載してください。
回答: > > ・そもそも2つのリモートリポジトリで1つのフォルダの内容を管理できるのか。またできるの > > なら、どうすればいいのか。 > > > できません。 > > ・gitの push までの流れはクローンを作ってそのフォルダでテキストの流れをするのか、または、ローカルでフォルダを作って、できるかわからないけど、そこからテキストの流れをやるのか。 > > > どちらでも構いません。 今回の場合、`git clone`ができたということは、すでにリポジトリが存在しているということなので、「テキストの流れ」はやる必要ないのではないでしょうか。 > > ・皆さんはhtmlファイルとcssファイルをどのように管理してますか? > > > 以下のようにフォルダを分けておいて、site フォルダごと git で管理するのが一般的だと思います。 site ├html └css 追記 > > ・ローカルでフォルダを作ってpushするまでの流れ(テキストの流れ)が、 > > Desktopディレクトリで git clone リポジトリのurl -> cloneのフォルダで > > git add index.html -> git commit -m "[start] web-1" -> git remote add > > origin > > リポジトリのurl -> git push -u origin master > > であって実行しても最初に書いていたエラーが起こるんですが、どうすれば > > いいのでしょうか?言い換えると、ローカルでフォルダを作ってリモートリ > > ポジトリにpushできず、cloneでしかpushできないんです。 > > > おそらくですが、「テキストの流れ」は、最初にリモートリポジトリを作成する手順です。 しかし、すでにリポジトリが作成済みであるため、作成できないのではないのでしょうか。 お手元のテキストをよく読んでみてください。 > > ・最後の管理の仕方ですが、作業中のフォルダをpushできないから、1つ上の > > Desktop階層でpushするということでしょうか? > > > いいえ、そのリポジトリで管理しているフォルダ配下で`git push`します。 先ほどの例でいうと、「site」フォルダ配下です。 > > ・git remote add origin [url] の操作の意味がいまいちわからないんです。 > > > リモートリポジトリを追加するコマンドです。 「git remote add」で Google 検索すると、解説サイトがたくさん出てきますよ。