コンテンツにスキップ

Python のパッケージを Git を使ってサブモジュール化する

1
2
# git submodule add <repository-url> <desired-path>
$ git submodule add http://path/to/git/develop/utility.git utility_sample/libs
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
.
└── utility_sample
    ├── __init__.py
    ├── __main__.py
    └── libs
        ├── README.md
        └── utility
            ├── __init__.py
            ├── file.py
            ├── json.py
            └── misc.py

git submodule add http://xxx.xxx.xxx.xxx:xxxx/git/develop/utility.gitとすると、以下のようにプロジェクトのディレクトリとパッケージのディレクトリの 2 重になってしまうので NG。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
.
└── utility_sample
    ├── __init__.py
    ├── __main__.py
    └── libs
        ├── README.md
        └── utility
            └── utility
                ├── __init__.py
                ├── file.py
                ├── json.py
                └── misc.py

参考(.gitmodules の中身)

.gitmodules
1
2
3
[submodule "utility_sample/libs"]
    path = utility_sample/libs
    url = http://path/to/git/develop/utility.git