タグ

gitとgit subtreeに関するmimosafaのブックマーク (7)

  • git submodule と git subtree から見る外部リポジトリの取り扱い - tech.guitarrapc.cóm

    先日、外部のgitリポジトリを参照しつつ開発を進めたい時に、改めて今ならどのようにやるといいのか調査と検証を行いました。 開発においてシンプルさは重要です。そのため、利用している言語やフレームワークで標準提供されたパッケージシステムを使うのは優先的に検討するべきです。 しかし会社などでprivate repoでコード参照をしたいときには、参照する外部リポジトリも適切にgit管理したいものです。 gitは、自分のリポジトリを扱うことに関してとても便利な機能がそろっています。 一方で、自分のリポジトリの外、外部リポジトリを連携させることについては、自リポジトリほど楽に取り扱えるわけではありません。 そこで今回は、gitが提供している外部リポジトリのハンドリングとして、submodule と subtree の2つを通して外部リポジトリをどのように扱うのか考えてみます。 これまでは外部リポジトリ

    git submodule と git subtree から見る外部リポジトリの取り扱い - tech.guitarrapc.cóm
  • Git Subtree 事始め - Qiita

    もうそろそろいい加減git subtreeも使いこなせないとまずいな、と思っていたところなので とりあえずわかる範囲で調べてまとめてみた。 git subtree とは何か git subtreeは外部のリポジトリを現在のリポジトリに取り込むための機能です。 リボジトリ in リポジトリとなるとgit submoduleだったり、 npmとかcomposerみたいな依存管理ライブラリみたいなものを連想するかも知れませんが、 subtreeの挙動はちょっと違います。 一般的な依存管理ライブラリや、git submodule では、 特殊なファイルに 取り込み元リポジトリを記載して管理するという、 取り込み元と、取り込み先を明確に区別しての管理を行うのですが、 subtree では、 「取り込み元と取り込み先のコミット履歴を完全に結合する」 という動き方をするみたいです。 使い方 とりあえずフ

    Git Subtree 事始め - Qiita
  • subtree 向けにディレクトリ分割したモジュールフォルダをcomposerで読み込む - Qiita

    git subtree 便利です 当に便利なのですが、subtreeからcomposerへの移行が面倒です。 subtree向けにディレクトリ分割したタイミングからcomposer対応しておきたいものです。 要は無駄にautoload追加しまくるのは何か嫌だって事です。 composer にはローカルディレクトリをリポジトリパスとして登録する機能があるのでその辺を使えばうまいこと行けそうです。 composer.json をいじる composer.jsonに以下の記述を追加します。

    subtree 向けにディレクトリ分割したモジュールフォルダをcomposerで読み込む - Qiita
  • Git subtreeによるライブラリ管理について

    前回は Git subtree merge について説明しましたが、今回はそれに深い関係がある Git subtree コマンドについての説明です。 まず基的なこととして、 Git subtree は Git subtree merge と同じものではありません。 subtree merge はマージ戦略として subtree を指定したマージにすぎませんが、 Git subtree は明確に外部ライブラリの取り込みと submodule の代替を目的として設計された機能です。 Git 1.7.11 以降であれば、 Git subtree を使用するのが望ましいでしょう。 なぜなら、 Git subtree には、 Git subtree merge にはない、下記のような機能があるからです。 取り込んだライブラリ側の歴史を"潰し"(squash)てコンパクトな歴史にできる。 自分のプロ

    Git subtreeによるライブラリ管理について
  • git subtree使ってみた - Qiita

    共通で使いたいcssを別リポジトリで管理したくてgit subtree使ってみた。 cssを複数箇所で触る可能性もあるのでsubmoduleは使わずに。 サブツリーの追加 親リポジトリで共通で使いたいcssのリポジトリをaddしてfetchしておく。

    git subtree使ってみた - Qiita
  • git subtreeの練習

    Gitのサブモジュールでは面倒そうな、頻繁に更新される別のリポジトリを取り込む方法としてサブツリーマージを行うラッパーであるgit subtreeコマンドを使う練習を始めた。どちらかというと「参照する」要素の強いサブモジュールに対して、サブツリーは「切り分ける」や「取り込む」という感じなんじゃないかと理解している。全般的に間違ってそうで怖い。 「切り分ける」、つまりリポジトリのサブディレクトリを別のリポジトリにしたい場合は、単純なケースだと親にあたる方で.gitignoreや.git/info/excludeを使ってサブディレクトリを除外してやれば良い。でもこの場合、両方のリポジトリで関連した変更がある時にそれぞれのリポジトリでコミットしてやらないとならないので面倒くさい。 「取り込む」場合はサブモジュールが基なわけだけど、他で作業して戻ってきてたりする必要があるし、サブモジュールの更新

    git subtreeの練習
  • 【git】社内のChefリポジトリをgit subtreeで利用する | DevelopersIO

    はじめに こんにちは植木和樹です。クラスメソッドではOSやミドルウェアの設定にchef(chef-solo)を頻繁に利用しています。chefを利用するようになって約1年。その間に多くの(当に!)プロジェクトの構築を行ってきました。 多くの構築を経験していると、ある程度のパターンというか定石がでてきます。例えばApacheをインストール/設定するにしても、 KeepAliveはOnにする TimeOutは120秒(かそれ以上)にする ELBからのヘルスチェックはアクセスログに記録しない 案件ごとに異なる設定は /etc/httpd/conf.d に入れてRoleやNodeで指定できるようにする などです。 そうなると「クラメソ社内Chefリポジトリの整備が必要だよね〜」という話が当然でてきます。そして大瀧さんや望月さんの努力の結果、いい感じにChefリポジトリが整備されてきました。 日は

    【git】社内のChefリポジトリをgit subtreeで利用する | DevelopersIO
  • 1