タグ

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

  • 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上のプロジェクトを他のプロジェクトでも使用したいときに利用する。 Git subtreeコマンドは、取り込んだリポジトリを編集することで、取り込み先のリポジトリも編集可能にする。 Git subtreeとGit submodule Git subtree →外部リポジトリを現在のリポジトリのものとして取り込み、手を加えていくときに使用する。 Git submodule →外部リポジトリを現在のリポジトリの外のものとして取り込み、今後編集しない時に使用する。 Git subtreeの使い方 サブディレクトリへの登録方法 前提 Gitで新プロジェクトを作成済み。 以下の作業は、新プロジェクト内で行うこと。

    【手順】git subtreeコマンドの使い方 - Qiita
  • 8701ed06fcb6e3a17eaf

    高知工科大 Advent Calendar 2016 4日目の\ヒッカリ~ン/です ネタ無いな~と思ってたんですが、最近gitのライブラリ管理で困ってる人を見かけたのでしょうがないからsubmoduleとsubtreeのまとめ記事を書こうと思います。 とか偉そうなこと言ってますが全部合ってる自信ないので間違ってたらマサカリコメント入れてください。(できれば枕投げコメント程度にやさしくお願いします) git submoduleは外部のgitリポジトリを自分のgitリポジトリのサブディレクトリ取り込み、その特定のcommitを参照するものです。 とりあえずやってみましょう。 submoduleの追加 例えば、現在fooというリポジトリのルートにいるとして、lib/barフォルダにbarというリポジトリを取り込みたいとします。

    8701ed06fcb6e3a17eaf
  • 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のサブモジュールでは面倒そうな、頻繁に更新される別のリポジトリを取り込む方法としてサブツリーマージを行うラッパーである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
  • git-subtree移行メモ - Qiita

    ProjectAの一部として開発していたライブラリをProjectBでも使いたい!みたいなことがあったので、 git-subtreeを使う練習。 git-subtreeの始め方 既存のライブラリを取り込む ProjectAにAwesomeLibraryをgit-subtreeを使って取り込む例。 サンプルで作ってみたレポジトリに構成はこうなってます。 $ cd ~/AwesomeLibrary $ git log --graph --oneline * 5e355de すごい機能追加 $ cd ~/ProjectA $ git log --graph --oneline * 5484d65 README追加 $ cd ~/ProjectA $ git subtree add --prefix=lib ~/AwesomeLibrary master git fetch ../AwesomeL

    git-subtree移行メモ - Qiita
  • #21 github-botで捗っている話、もしくはgit-subtree使ってみた - KAYAC Engineers' Blog

    この記事はtech.kayac.com Advent Calendar 2014 の21日目です。 こんにちは、最近日にちの感覚がなくなっているいっちーです。 アドベントカレンダー駆動で何かつくろうと思ったんですが、そんな時間はなかったので、最近プロジェクトでやってみた取り組みをご紹介します。 背景・目的 僕は今現在Unityを使ったソーシャルゲームの開発に関わっており、 主にサーバサイドのプログラムを担当しています(もちろんPerl)。 Unity側ではサーバとのやりとりをBaalというAPIの定義書にもとづいて行っており、 サーバへのリクエストやレスポンスが形式にあっているかをチェックする機能があります。 例えば「Hogeというエンティティは整数型のFugaというフィールドを持っている」ということをBaalで定義すると以下のようになります。 // Baal定義の例 namespace

    #21 github-botで捗っている話、もしくはgit-subtree使ってみた - KAYAC Engineers' Blog
  • submoduleとsubtree-mergingの使い分け - Qiita

    gitで外部リポジトリを取り込んで利用するには、submodule(サブモジュール) とsubtree merging(サブツリーマージ)の2手法があります。 私の観測範囲内では、サブモジュールはよく利用されていますが、サブツリーマージは目にしません。 そこで、サブツリーマージを試してみての使い分けや思ったことをつらつらと。 大雑把な要点を最初に書いておく 外部リポジトリを外のものとして取り込むならサブモジュール 外部リポジトリを取り込みつつ、中のものとして手を加えていくならサブツリーマージ git初心者にはサブモジュール(異論ありそう) サブツリーマージ使ってみた github.com/marutanm/dotfiles 中身としては、よくある環境設定ファイル一覧です。 前提として、 tmux.conf(gistにおいていた) vim設定(githubにおいていた) zsh設定(gith

    submoduleとsubtree-mergingの使い分け - Qiita
  • 依存リポジトリ管理でのsubmodule/subtree/subrepoの使い分け - Qiita

    依存ライブラリを利用する場合RubyGemsやらCocoaPodsといったツールで万事解決するケースがほとんどだと思いますが、たまーにGitに上がっているライブラリを直接自分のリポジトリに追加しないといけない場合もあったりします。 こういった時に使うGitのサブコマンドそれぞれの特徴と使いどころをまとめてみました。 一番スタンダードな外部リポジトリ追加方法です。たぶん大抵の依存管理ではこれを使えば十分でしょう。git-submoduleを利用すると、外部リポジトリのコード自体は自プロジェクトの管理下に取り込まれず、リポジトリの特定コミットへの参照情報のみが登録されます。外部リポジトリのcommit hashへのポインタが追加されるようなイメージです。 $ git submodule add git@github.com:Alamofire/Alamofire.git $ git diff

    依存リポジトリ管理でのsubmodule/subtree/subrepoの使い分け - Qiita
  • 1