質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

2517閲覧

gitの基本的な操作への疑問、GitHubへのpushまでで、わからないこと

ryousukesatou

総合スコア19

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/09/02 08:04

前提・実現したいこと

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を使いました。

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/09/02 08:21

そのエラーが出たときに打ち込んだコマンドを提示しましょう
ryousukesatou

2019/09/02 08:38

わかりました。 git init -> git add index.html -> git commit -m "[start] web-1" -> git remote add origin リポジトリのurl -> git push -u origin masterをやりたいんですけどできなくて、うまくいったのは、 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 です。
ryousukesatou

2019/09/02 23:30

いや違います。なんか見せちゃだめかなと思って名前変えてたんです。 アカウント名はRyousuke4976です。
guest

回答3

0

1)
リモート(Git Hub)側に、任意の2つのリポジトリーをつくり、それぞれにローカル側のリポジトリーをpushすれば、可能じゃないですかね。

ローカルリポジトリ A ⇒push⇒ リモートリポジトリ B
ローカルリポジトリ A ⇒push⇒ リモートリポジトリ C

2)
リモート側の既存のリポジトリを利用するばあいはcloneを、あらたにプロジェクトをはじめる場合はローカル側にGitを作っていく(git init〜)になると思います。

3)
GitなりGitHubなりに、htmlファイルやcssファイルを管理しておくと、便利かもです。個人的なことですけど...ウェッブサイトを管理しているサーバー側のコードを間違って削除してしまったとき、GitHubに保存しておいたコードのおかげで、事なきを得た経験があります。

投稿2019/09/02 22:58

okahijiki

総合スコア404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryousukesatou

2019/09/03 00:15

1については僕はできなくて 他の方もできないとお答えしていただいてます。 回答ありがとうございます!
okahijiki

2019/09/03 00:59

ちょっと記述が、まずかったかもです。 ローカル側に別々の作業ディレクトリを作成し ... それぞれの作業ディレクトリに、任意の同じファイルを入れる=> 作業ディレクトリA、作業ディレクトリBそれぞれをGit化し、それぞれをリモート側のC、Dにpushする。 すなわち ローカルリポジトリ A ⇒push⇒ リモートリポジトリ C ローカルリポジトリ B ⇒push⇒ リモートリポジトリ D (CとDには同じ内容が存在することになります) これで、どでしょ。けっこう複雑〜 目標とされているニュアンスと違うような気がしなくもないです。その際は、失礼します〜
okahijiki

2019/09/03 01:06

追記 プロジェクトをあらたに立ち上げるなら、リモート側のリポジトリをcloneするのではなく、git init〜でローカルのgitをpushした方が、スマートかもです。 .cssと.htmlのファイルを両方、pushするなら、git init => git add . ですと、いっぺんにステージングできて、らくちんだったりするかもです〜
Zuishin

2019/09/03 03:36 編集

初心者に勧めるようなことではありません。 質問者はお客様ではなく制作者です。無茶な意向を汲み取るのではなく、なぜそうしたかったのか目的を聞いて、目的を達成するためのより良い方法を伝えるのがいいと思います。 この場合は > 皆さんはhtmlファイルとcssファイルをどのように管理してますか? という質問から、そもそも管理の方法を知らないということがわかるので、もっと一般的な方法を提案することで事足りるはずです。
ryousukesatou

2019/09/03 03:48

では同じフォルダをもう1つ作って同じようにリモートリポジトリに登録すると消しちゃったときに便利ということですか?
Zuishin

2019/09/03 04:32

便利か便利でないか以前に、あなたには絶対使いこなせないからやめときなさい。こんな方法でトラブル起こしても情報なんかありませんよ。
ryousukesatou

2019/09/03 04:56

わかりました。アドバイスありがとうございます。
okahijiki

2019/09/03 05:13

GitHubは、それを使って共同で作業する以前に、自分一人で、ある程度理解しなければならない所が悩ましかったりして。あれこれ、やっているうちに慣れるんじゃないですかね〜
ryousukesatou

2019/09/03 06:22

やっぱり慣れなんですかね〜。頑張ります。
guest

0

git入門書のgit-scmをオススメします。
ここを理解すればたいていの疑問が解消するはずです。

皆さんはhtmlファイルとcssファイルをどのように管理してますか?

GitHubでレポジトリがいっぱい公開されていますので自分で探して見てみましょう。

投稿2019/09/02 17:47

querykuma

総合スコア777

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryousukesatou

2019/09/03 00:16

git は難しいです。 紹介していただいたサイトをもとにもうちょっと深掘りしてみます。
guest

0

ベストアンサー

・そもそも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 検索すると、解説サイトがたくさん出てきますよ。

投稿2019/09/02 10:10

編集2019/09/02 22:35
nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryousukesatou

2019/09/02 14:25

回答ありがとうございます! すいませんが、もう3つ質問させていただきます。 ・ローカルでフォルダを作って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 remote add origin [url] の操作の意味がいまいちわからないんです。
nskydiving

2019/09/02 22:35

解答欄に追記しましたので、ご確認ください。
ryousukesatou

2019/09/03 00:26

1)の質問でお答えしてもらった通りにやるとできたのですが、READMEのリポジトリ作るボタン?を押すとできませんでした。何故なのでしょうか? 2)の答えについては、できませんでした。先ほどの例でいうと、siteフォルダ配下でsiteフォルダをpushすると解釈しているのですが、間違ってますか? 3)の答えについては、その通りですよね、、、
nskydiving

2019/09/03 01:04

> 1)の質問でお答えしてもらった通りにやるとできたのですが、READMEのリポジトリ作るボタン?を押すとできませんでした。何故なのでしょうか? リモートリポジトリは同じ名前で一つしか作ることができないからです。 「リポジトリ作るボタンでリポジトリを作る」「git remote add コマンドでリポジトリを作る」は操作方法は違いますが、同じ意味です。 > 2)の答えについては、できませんでした。先ほどの例でいうと、siteフォルダ配下でsiteフォルダをpushすると解釈しているのですが、間違ってますか? git push の対象は、「フォルダ」ではなく「コミットされたファイル」です。 正しく git commit されていないと、git push できません。
ryousukesatou

2019/09/03 03:01

2については分かったのですが、 1についてあまり理解できないです。 git remote add はリモートリポジトリを指定するものだと思ってましたが、違うのですか?
nskydiving

2019/09/03 04:00

「git remote add」で指定するのは「これから作成したいリモートリポジトリ」です。 既存のリモートリポジトリを指定するとエラーになります。
ryousukesatou

2019/09/03 04:25

だからエラーになってたんですね。でも、もしもう一度commitするってなった時、remote add はやらないということですか?リモートリポジトリは最初に作ったやつじゃなんですか?リモートリポジトリは最初に作ったものの中で、また作られるということでしょうか?質問がよくわからなくてすみません。 もう1つ質問してしまうのですが、git init は一度やったらもうやらなくていいんでしょうか?
nskydiving

2019/09/03 04:37

> だからエラーになってたんですね。でも、もしもう一度commitするってなった時、remote add はやらないということですか? はい、やりません。 > git init は一度やったらもうやらなくていいんでしょうか? はい、一度だけです。
ryousukesatou

2019/09/03 04:58

なんかめちゃくちゃスッキリしました。ありがとうございます! もしかしたらまた質問があるかもしれないので、もう少しベストアンサーにしないでおきます。
ryousukesatou

2019/09/03 05:14

ちゃんと動作しました!ウッシャーー!!!
ryousukesatou

2019/09/03 05:18

質問です。もし今siteディレクトリにいるとして、一度Desktopディレクトリに移動して、またsiteディレクトリに移動したら、また git init や git remote add などはしなくてもいいのでしょうか?
nskydiving

2019/09/03 05:40

しなくて良いです。 実際に試してみると良いと思います。
ryousukesatou

2019/09/03 15:06

質問します。 git remote add でリモートリポジトリを作るのなら、Githubで作ったリポジトリはなんなんですか? また、もしリポジトリを作る際、README.md をプッシュされた状態にするボタンを押すなら、その時点でリモートリポジトリは作られているわけじゃないですか。そこから初めてローカルのあるフォルダ配下から、pushすることは可能なのですか?イメージだとリモートリポジトリのurlを入力しないとローカルとリモートが繋がらないと思うんです。
nskydiving

2019/09/03 15:29

> git remote add でリモートリポジトリを作るのなら、Githubで作ったリポジトリはなんなんですか? どちらも操作方法が違うだけで、やっていることは全く同じです。 GitHub でリモートリポジトリを作ったのなら、「git remote add」は不要です。 > また、もしリポジトリを作る際、README.md をプッシュされた状態にするボタンを押すなら、その時点でリモートリポジトリは作られているわけじゃないですか。そこから初めてローカルのあるフォルダ配下から、pushすることは可能なのですか? はい、可能です。 > イメージだとリモートリポジトリのurlを入力しないとローカルとリモートが繋がらないと思うんです。 git clone するときにリモートリポジトリのURLを指定していると思います。
ryousukesatou

2019/09/04 07:18 編集

Githubでリポジトリを作ってから、git remote なしでやりましたけど、githubには反映されてませんでした。 中身を翻訳すると、originはリポジトリではありませんでした。と出てきますが、よくわかりません。
Zuishin

2019/09/04 05:28 編集

git remote add はリモートリポジトリの作成ではなく、既にあるリポジトリを対象のローカルリポジトリのリモートリポジトリとして登録するものです。 GitHub でリポジトリを作るのとは意味が違います。
nskydiving

2019/09/04 06:49

質問は質問欄を編集して記載してください。
ryousukesatou

2019/09/04 07:24

どっちが正しいのですか? Zuishinさんのやり方だと、最初の質問でお聞きしたいエラーにつながります。 僕は最初 ローカルでフォルダやリポジトリを作り、リモートリポジトリも作った状態で、git remote add をすると最初のエラーになるんです。フォルダとリモートリポジトリは同じ名前です。
Zuishin

2019/09/04 07:47

私は何のやり方も書いていません。
ryousukesatou

2019/09/04 08:38

やり方というか、意見ですかね。
Zuishin

2019/09/04 08:41

エラーが出たのは私に関係ないという意味です。
ryousukesatou

2019/09/04 08:57

エラーが出たのは僕ですから。 では、最初のエラーはどういう意味かわかりますか?
Zuishin

2019/09/04 09:01

わかりますが、無期限サポートする気はありません。当初の疑問が解決したなら解決済みにするのがいいと思います。
ryousukesatou

2019/09/04 11:39

なるほど、回答していただきありがとうございます。 初めて質問したんですけど、反応がすごく早くて嬉しかったです。 また質問するときにがありましたらそのときにお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問