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
- この時、追加先のフォルダは存在しているとエラーになるので、ない状態で実行する。
参考
1. Git Subtree 事始め 2. 【手順】git subtreeコマンドの使い方 3. git subtree pull says that the working tree has modifications, but git status says it doesn't. What gives?
software/git/git-gui-client/sourcetree/sourcetree-subtree.1571979313.txt.gz · 最終更新: by yoko


