LoginSignup
6
7

More than 1 year has passed since last update.

ラズパイによる自宅Gitサーバー構築

Last updated at Posted at 2020-01-02

githubという無料で便利なサイトがありますが、公開してはならない大事なファイルが含まれるときや、Web上にアップしたくない、他の人に公開したくない時は、自宅内サーバーが有効です。Raspberrypi4の登場で使わなくなった古いラズパイの活用として省電力なラズパイにGitサーバーを構築することにしました。

ラズパイ 側

ラズベリアンをインストールしたら、

固定IPアドレスにする

$sudo vi /etc/dhcpcd.conf 

テキストを編集し、IPアドレスが他の機器と被らないようにして自分の環境は以下のようにした。
私の場合は、viではxキーでコメントアウト(#)を削除し以下のように編集しました。
LANケーブル使用している場合はeth0

interface eth0
static ip_address=192.168.10.100/24
static routers=192.168.10.1
static domain_name_servers=8.8.8.8 1.1.1.1

escキーを押して:xと入力し再起動します。

$sudo reboot

パッケージをインストール(最近のものはインストール不要かもしれません。)

$sudo apt-get install git-core

takeochanという任意の名前のユーザーとフォルダを作ります。
ユーザーを切り替える(アクセス制限のため)

$sudo adduser takeochan

パスワードを設定したら、piからtakeochanへユーザーを切り替えて

$su takeochan
$cd /home
$mkdir takeochan
$mkdir /takeochan/testgit
$cd /takeochan/testgit

ノンベアレポジトリで作成(作業ディレクトリを持たない)

$git init --bare

HEAD、Branchなどファイルができる。

クライアント側(PC)

ターミナルを起動し
例:Windows11を使用した場合、Windowsキーを押しながら、Rボタンを押して、cmdと入力する。
ファイル名を指定して実行のテキストボックスにcmdと入力する。

Windows Bashを起動させる。

C:\Users\usersname>bash

ログインする

takeo@PCname:/mnt/c/Users/usersname$

作業ディレクトリを作成して移動する(Cドライブのユーザーディレクトリに作られる。)

$ mkdir TakeoChanEagleFiles
$ cd TakeoChanEagleFiles

gitを初期化する。

$git init

.gitファイルができているか確認する。

$ls -alt

テスト用に適当なファイルを追加し、更新するファイルを登録。

$git add .

更新する場合は、

$git add -u

コメントを残す。

$git commit -m 'FirstComitment'

ローカルレポジトリとリモートリポジトリを関連付けし、登録する。

$git remote add origin takeochan$192.168.10.100:/home/takeochan/testgit

参考:登録を変更する場合は、
登録済みリポジトリを確認

$git remote -v

参考:登録変更

$git remote set-url origin takeochan$192.168.10.100:/home/takeochan/testgit

リモートレポジトリへ更新する

$git push origin master

リモートレポジトリから更新する

$git pull origin master

以上

#gitメモ

レポジトリごとクローンする場合
$git clone takeochan@192.168.10.100:/home/takeochan/testgit

状態を確認する
$git status

差分を確認する(複数人で競合したら競合している部分を確認して自己解決する)
$git diff

変更履歴を確認する
$git log

$git merge origin/master

メモ
アクセス権に注意しよう。

6
7
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
6
7