新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


software:git:git-gui-client:sourcetree:sourcetree-subtree


SourceTreeで「subtree」を使う

git subtreeは外部のリポジトリを現在のリポジトリに取り込むための機能。
T-Kernelプロジェクトで共通なソースの受け渡しにsubtreeを使っている。SourceTreeで、subtreeを使う手順の備忘録を残す。

subtreeの追加

(1) 左側で右クリックし、「サブツリーの追加/リンク…」をクリック

(2) サブツリーの情報入力

「Working tree has modifications. Cannot add.」エラー対応

サブツリーのプルを実行すると「Working tree has modifications. Cannot add.」エラーが発生。
調べてみると(参考.3)、どうもGitのバグらしく、一度別のブランチに切り替えて元のブランチに戻り、サブツリーのプルを実行すると実行できた。

補足

  • ローカル相対パスのフォルダ区切り文字は、¥ではなく/を使わないと変になる。
  • SourceTreeでのsubtreeのリンク情報は、「.git/sourcetreeconfig」に記録される。

Gitコマンドで追加する手順

$ git subtree add --prefix=v100/OPT --squash git@sample.com:prog/tk-optsys.git master
  • この時、追加先のフォルダは存在しているとエラーになるので、ない状態で実行する。

参考

software/git/git-gui-client/sourcetree/sourcetree-subtree.txt · 最終更新: 2019/10/25 13:55 by yoko