5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローカルGitリポジトリ、どこに置きますか? 私はこう

Last updated at Posted at 2021-02-25

筆者は大学でプログラミング演習系の TA (Teaching Assistant) をしたり、ハッカソンの運営をしたりしています。

質問を受ける中で、ホームディレクトリがぐちゃぐちゃでローカル Git リポジトリの場所が一発で探せない方が多くおられることに気づきました。

そこで筆者おすすめのディレクトリ構成を紹介してみようと思います。

ローカルGitリポジトリの置き場所

  1. ホームディレクトリ (~/, $HOME/) の直下に、リモートリポジトリのURLと対応するようにディレクトリを切ります。
~/
├── gist.github.com/
│   └── u-sho/
│       ├── bash-ascii-logo
│       └── tmux-ascii-logo
│
├── github.com/
│   ├── microsoft/
│   │   └── TypeScript/
│   └── u-sho/
│       ├── dotfiles/
│       ├── ja.vuejs.org/
│       ├── nuxt2.9-template/
│       └── u-sho.github.io/
│
├── gitlab.com/
│   └── u-sho/
⫶       ⫶

以上です。

メリット

  • フォークしたのか直接 clone したのかがわかりやすくなっています。
    • 上の例でいえば、~/github.com/microsoft/TypeScript は直接 clone したリポジトリで、~/github.com/u-sho/ja.vuejs.org は、自分の GitHub アカウント (github.com/u-sho) にフォークしたリポジトリです。
  • 迷子になりにくくなっています。
    • ホームディレクトリを起点としたフォルダのパスが URL と1対1で対応するため、clone したかどうか、またどこに clone したかを思い出す必要がなくなります。
    • 自分としてもわかりやすく、またメンターなど他の方に触ってもらう際もすぐに理解していただきやすいかなと思います。
  • リモートリポジトリの URL が pwd コマンド一発でわかります。
    • git config remote.origin.url だと SSH のときはワンステップ必要でちょっと悲しくなります。
    • $PS1 にカレントディレクトリを表示させている方は多いと思います。その場合、PS1 からブラウザにコピペして移動できます。

デメリット

GitHub だけでなく、Backlog や GitLab、GitBucket など、多数の Git のホスティング先から clone していると、ホームディレクトリが混雑してしまいます。その場合は、ホームディレクトリの代わりに一つディレクトリを作って、その下に配置していくとよいかもしれません。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?