🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Git

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

GitHub

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

788閲覧

gitのmergeについての質問

pay_561

総合スコア26

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Git

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

GitHub

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/02/08 18:32

現在ポートフォリオを作成中で疑問に思ったことがあったので質問させていただきます。

featuerブランチをmianブランチの方にmergeした際にローカルリポジトリの方では変更が反映されていますが、

GitHub上(リモートリポジトリ?)の方では変更が反映されていません

これはmainブランチの方からコミットをするということでよろしいのでしょうか??

まだ、gitを使った業務フローがつかめておらず初歩的な質問ではありますがご回答よろしくお願い致します。

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

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

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

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

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

m.ts10806

2021/02/08 22:21

mian ではなくmainですよね
guest

回答1

0

ベストアンサー

git を利用した開発サイクル(フロー)はいくつかパターンがあるのですが、多分一番シンプルで個人開発向きな github flow を使いたいんだと思います。
このフローの場合、以下のようなやり方をします。
なお、github を origin とします。

  1. ローカルの master(main) ブランチから、新しいブランチ(feature ブランチ)を作成する。
  2. 新しいブランチ上で開発し、コミットを重ねる。
  3. feature ブランチを、github(origin) へ push する。
  4. github 上で、push された feature ブランチから pull request を作成する。
  5. 必要があれば pull request 上でコードレビューを行う。
  6. コードに問題がなければ、github 上で merge する。
  7. origin の master(main) ブランチに、新しいブランチの内容が取り込まれる。
  8. ローカルで git fetch や git pull origin master(main) をして、origin/master(main) の内容をローカルに反映させる。

こんな流れになります。
origin である github が開発中心なので、master(main) ブランチへのマージは github 上で行います。ローカルで master(main) ブランチへのマージをやったり、ローカルの master(main) ブランチを origin へ push してはいけません
今の状況を改善するためにはローカルから origin への master(main) ブランチを push することになりそうですが、原則的にやるとマズい行為です。

git はなかなか仕組みが分かりづらいんですが、ローカルと github(origin) は完全に独立していて、自動で同期されたりはしません。これは git が分散型バージョン管理システムと言われる所以で、例えば複数人で開発している場合、それぞれのローカルと github はあくまで別個の存在であり、git コマンドを駆使して内容を反映させていくことになります。
github(origin) は複数人の開発の場合その中心として存在するので、特にベースブランチである master(main) をローカルの内容で強制的に書き換えてしまうと、他の人が維持している master(main) ブランチとの整合性が取れなくなってしまうんですね。一人で開発している分には重要性が分かりにくいかもしれませんが、今後チーム開発をしていくことになるならかなり重要なので、必ず守るようにしてください。
master(main) ブランチ壊されると非常に困ることになるので。。

投稿2021/02/08 19:00

oakbow

総合スコア227

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問