4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発向け】Googleドライブ上にGitリモートリポジトリを作る

Posted at

概要

gitを使い始めたばかりで自分一人きりの個人利用ということで、理解を深める意味も込めてクラウドストレージ上にリモートリポジトリを作成しました。
Googleドライブに限らず、デスクトップアプリで同期できるクラウドストレージサービスにおいては、同様の手法で運用可能だと思います。

環境インストール

1.パソコン版Google Driveをインストール
2.gitをインストール

$ brew install git                #MacならHomebrewが簡単
> winget install git.git   #WindowsならWingetが簡単

リモート用ベアリポジトリを作成

1.Google Driveに「<ディレクトリ名>.git」フォルダを作成

$  mkdir g:\マイドライブ\Project\<ディレクトリ名>.git
$  cd g:\マイドライブ\Project\<ディレクトリ名>.git

2.ベアリポジトリを作る

$  git init --bare --shared

実ファイル転送用ノンベアリポジトリを作る

1.実ファイル転送用ノンベアリポジトリをGoogle Driveの任意の場所にcloneする

$ git clone 'g:\マイドライブ\Project\<ディレクトリ名>.git'

ローカルマシン側に作業ディレクトリを作成する

1.作業ディレクトリ用ノンベアリポジトリをローカルマシン側の任意の場所にcloneする

$ cd c:\Project
$ git clone 'g:\マイドライブ\Project\<ディレクトリ名>.git'

2.リモートリポジトリへpushする

$ cd <ディレクトリ名>
$ touch hoge.txt
$ git add.
$ git commit -m 'First Commit'
$ git push origin master

cloneしているのでremote設定はclone元に設定されている

ベアリポジトリからノンベアリポジトリにpullする

1.Googleドライブ上のベアリポジトリから実ファイル転送用ノンベアリポジトリへpullしてみる

$ cd g:\マイドライブ\Project\<ディレクトリ名>          #ベアリポジトリからノンベアcloneすると.gitがつかないディレクトリができる
$ git pull origin master

ローカルマシン側からpushしたファイルが転送できていれば成功

ベアリポジトリからノンベアリポジトリへ自動転送設定

1.ベアリポジトリにノンベアリポジトリへのリモート設定をする

$  cd g:\マイドライブ\Project\<ディレクトリ名>.git
$ git remote add origin g:\マイドライブ\Project\<ディレクトリ名>

いらないかもしれないけど、念の為に設定しておく
 

2.post-receiveを作成
ベアリポジトリの.git/hooksにpost-receiveを作成

cd .git/hooks
touch post-receive

post-receiveに下記コードを追加

#!/bin/sh

cd /c/Project/<ディレクトリ名> || exit
unset GIT_DIR
git pull origin master

コードの内容は、
・ローカルマシンからpushを受け取ると
・自動でノンベアリポジトリにカレントディレクトリを移動
・pullを実行する

3.post-receiveの実行権限を付与

$ chmod 755 post-receive

忘れずに。

ローカルマシンからpush

1.ローカルマシン側からpushする

$ cd /c/Project/<ディレクトリ名> 
$ touch hogehoge.txt
$ git add.
$ git commit -m 'Second Commit'
$ git push origin master

自動的にノンベアリポジトリへ実ファイルが転送されていれば成功

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?