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

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

ただいまの
回答率

90.76%

  • Git

    1163questions

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

git で masterブランチで管理しているディレクトリを別ブランチでは除外したい。

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 79

azuk1

score 2

 masterブランチで管理している、あるディレクトリを別ブランチでは管理から外したい。

現在、gitで管理されていなかったwebアプリケーションの本番及びテストのソースコードをgit blit上のリモートリポジトリで管理することになりました。

現在考えているのはmasterブランチに本番のソースコードを、testブランチにはテスト用のソースコードをpushしたいと考えております。(こちらについても、もっと良い管理方法があればご教示頂けると幸いです…)

ここからが具体的な質問箇所の話になります。
本番環境では利用しているディレクトリAが、テスト環境では利用していない為に、testブランチでは管理しないようにしようと、ディレクトリAを削除しようとしたところ、masterブランチでも削除されることが分かりました。
別ブランチでは管理したくないディレクトリはどのようにすることで除外することが可能でしょうか?

ここでいう”除外”とは、pull等した際に該当ディレクトリはpullしないような状況にしたいという意味です。

長文となってしまい大変恐縮ではありますが、ご教示頂けますと幸いです。

またご不明点等ありましたら何なりと仰って下さい。

宜しくお願い致します。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

そもそもですが、本番用のソースコードとテスト用のソースコードが分離している事自体が悪手です。
ソースコード自体が異なっているとすると、なんのためのテストなのかわかりません。
基本的にソースコードは同一のものを使うようにするべきです。特にgitを導入した場合はそれが可能になるはずです。

具体的にテストの時と本番のときではなにが違うのかを整理して、設定値でコントロールできるようにした方がいいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/05 11:21

    ご回答頂きありがとうございます!
    今回に関しては言いますと、ソースコードで違っている点ではDBのアクセス先(本番用とテスト用)の記述と本番環境ではリダイレクト処理がかかっているなどが挙げられます。

    リダイレクト処理などについては仰る通り、テスト環境も同じようにしないといけないかな?と感じてはいるのですが、DBのアクセス先の違いなどはどのように管理するのがBESTなのでしょうか?

    また、記載頂いている、「設定値でコントロール」という点がうまくイメージできていないところが正直なところにございます。(知識不足、申し訳ありません…)

    キャンセル

  • 2018/06/05 11:29

    作っているアプリケーションに依る部分が大きいのですが、例えばRailsではYAML形式の設定ファイルを使いますし、他にiniファイルやTOMLなど設定ファイルの形式は色々です。
    そのうえで、実行時に渡す環境変数などで読み込む設定を切り替えられるようになっているとテストと本番で差異の少ないアプリケーションができると思います。

    やや難しい話かと思いますが、本番とテストで何が違うのかをきちんと見極めて、その部分だけがきちんと別のファイルなどに分離されているだけで見通しが良くなると思います。

    こちらは概念的な内容ですが、気になったらぜひ読んでみてください。
    https://12factor.net/ja/

    キャンセル

  • 2018/06/05 11:34

    環境変数を用いる、確かにそれによって同じソースコードでも参照先を変えたりはできますよね…!
    すごく腑に落ちました。

    また、参考サイトまでご教示頂いて、本当に有難うございます!!
    こちらも拝読して、きっちり理解に落とし込もうと思います。

    キャンセル

checkベストアンサー

0

ディレクトリAを削除しようとしたところ、masterブランチでも削除されることが分かりました。

どういう操作をしてそうなったんでしょうか。
#削除したあとMasterブランチにコミットしたとか?

ふつーにブランチ切って、そのディレクトリをGitから削除してコミット>Pushすればそんでいけるはずです。
実際数知れずそうやってきましたが、Masterブランチが影響されるということは皆無です

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/06/05 11:17

    y_waiwaiさんの仰る通りの挙動でしたので、私のほうで確認不足だったようです。

    ご回答いただきありがとうございます!

    キャンセル

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

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Git

    1163questions

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