概要
gitサーバーの作成、リポジトリの作成、ローカルへのリポジトリのクローン、サーバーへのプッシュまでの一連の作業を行います。
この記事はファイルのバックアップという観点からサーバー、クライアントをそれぞれ別のPCで構築する仮定で説明します。
サーバーとクライアントを同一PCで構築しても問題ありません。
対象
作業中のファイルのバックアップが煩雑で困っているが、クラウドなど外部のネットワークで管理するのはちょっとアレという人向けです。
うっかりファイルを上書きしてしまっても、バージョン管理をしていれば戻すこともできるのでそのような方にもバージョン管理はおすすめです。
バージョン管理といえば一般的にはプログラムを管理するものと思われがちですが、どのようなファイルでも管理できるのでデザイナーさんにも使っていただきたいです。
使用環境
OS
Windows
- 基本どれで工程はほぼ変わりらないですが、簡単のためWindowsの使用を前提とします。
サーバー
- gitのアプリケーションです。サーバー兼クライアントとして機能します。
クライアント
- git単体で完結できますが、実際に使用する場合はクライアントアプリケーションを使う方が効率的です。
本記事はForkの使用を前提とします。
※Forkは無料で使用可能ですが、任意で有料購入する俗にいうカンパアプリケーションというものです。安心の買い切りですし、個人的にはお値段以上の価値があると思っているのでぜひ購入を検討してください。
インストール
公式サイトからアプリケーションをダウンロードします。
https://git-scm.com/
インストール参考リンク
https://www.sejuku.net/blog/73444
gitのインストールはサーバー、クライアントどちらにも行います。
インストール時のダイアログの選択はすべてデフォルトで問題ないかと思います。
インストール後のユーザーの設定は後述するクライアント構築で行うので不要です。
コマンドプロンプトで以下のコマンドを実行しバージョンが表示されば成功です。
git --version
サーバー構築
共有ディレクトリ作成
任意のディレクトリを右クリック>プロパティ>共有
メニューから共有ディレクトリを作成します。
本記事では以下のパスを共有ディレクトリとします。
D:\Share
リポジトリ作成
共有ディレクトリ配下にリポジトリ用の空ディレクトリを作成します。
※ディレクトリ名は任意です。
D:\Share\examplerepo
作成したディレクトリを開き、右クリックメニューからOpen Git Bash hereでgit用のコマンドプロンプトを開きます。
※gitがインストールされていると追加される項目です。
以下のコマンドを実行し、空のリポジトリを作成します。
git init --bare
成功すると以下のようなファイルが作成されます。
以上でサーバーの構築および、リモートリポジトリの作成は完了です。
クライアント構築
インストール
公式サイトからアプリケーションをダウンロードします。
インストーラを実行し、インストールします。
特にこだわりがなければデフォルトで問題ないと思います。
ユーザー設定
Forkからgitにアクセスするユーザー設定を行います。
file>Preferences
ユーザー名とメールアドレスを設定しますが、任意で問題ありません。
メールアドレスはダミーでも大丈夫です。
gitタブに移動、ユーザー名、メールアドレスを設定します。
githubのアカウントを持っているならgithubの物を使うとよいと思います。
リポジトリのクローン
メニューからダイアログを開きます。
file>Clone
リポジトリ作成で準備したリポジトリのネットワークパス
\\サーバー名\Share\examplerepo
任意の作業パス
※参考のため私の環境値で記載しています。
D:\Work\koiusa
任意の作業リポジトリ名
※任意ですが、わかりやすさのためリモートリポジトリと合わせることをお勧めします。
examplerepo
任意の作業パス配下に、任意の作業リポジトリ名で指定したディレクトリが作成されます。
コミット
ファイルを追加してみます。
Forkで確認するとUnstageの欄に追加したファイルがリストされます。
stageを押下するとstageの欄に移動します。
ここに入っているものがコミット対象となります。
Commit subjectにわかりやすい説明を記述して、コミットを実行します。
※Commit subjectを入力しないとコミットできません。
変更履歴がローカルリポジトリに保存されます。
※この段階ではまだサーバーに反映されていません。
プッシュ
Pushのアイコンをクリックし、Push用のダイアログを開きます。
ブランチを選んでpushを実行します。
※最初のうちはデフォルトで問題ないです。
変更結果がリモートリポジトリ(サーバー)に反映されます。
以上でgitでのファイル保存が完了しました。
補足
サイズの大きいファイルを扱い場合
大きいファイルをGitで扱う場合はGitLFSという仕組みを使う方がよいでしょう。
GitLFSを使用するためにはGit管理用のWebサーバーを別途稼働させる必要があります。
個人的には、Gitbucketが導入が比較的容易で、動作も軽いのでお勧めです。