1
1

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 2024-04-20

概要

gitサーバーの作成、リポジトリの作成、ローカルへのリポジトリのクローン、サーバーへのプッシュまでの一連の作業を行います。
この記事はファイルのバックアップという観点からサーバー、クライアントをそれぞれ別のPCで構築する仮定で説明します。
サーバーとクライアントを同一PCで構築しても問題ありません。

対象

作業中のファイルのバックアップが煩雑で困っているが、クラウドなど外部のネットワークで管理するのはちょっとアレという人向けです。
うっかりファイルを上書きしてしまっても、バージョン管理をしていれば戻すこともできるのでそのような方にもバージョン管理はおすすめです。

バージョン管理といえば一般的にはプログラムを管理するものと思われがちですが、どのようなファイルでも管理できるのでデザイナーさんにも使っていただきたいです。

使用環境

OS

 Windows

  • 基本どれで工程はほぼ変わりらないですが、簡単のためWindowsの使用を前提とします。

サーバー

 git

  • gitのアプリケーションです。サーバー兼クライアントとして機能します。

クライアント

 Fork

  • git単体で完結できますが、実際に使用する場合はクライアントアプリケーションを使う方が効率的です。
    本記事はForkの使用を前提とします。
    ※Forkは無料で使用可能ですが、任意で有料購入する俗にいうカンパアプリケーションというものです。安心の買い切りですし、個人的にはお値段以上の価値があると思っているのでぜひ購入を検討してください。

インストール

公式サイトからアプリケーションをダウンロードします。
https://git-scm.com/

スクリーンショット 2024-04-20 084500.png

インストール参考リンク
https://www.sejuku.net/blog/73444

gitのインストールはサーバー、クライアントどちらにも行います。
インストール時のダイアログの選択はすべてデフォルトで問題ないかと思います。
インストール後のユーザーの設定は後述するクライアント構築で行うので不要です。

コマンドプロンプトで以下のコマンドを実行しバージョンが表示されば成功です。

コマンド
git --version

サーバー構築

共有ディレクトリ作成

任意のディレクトリを右クリック>プロパティ>共有
メニューから共有ディレクトリを作成します。

本記事では以下のパスを共有ディレクトリとします。

パス
D:\Share

スクリーンショット 2024-04-20 092411.png

黒塗りの部分はサーバー名が入ります。
スクリーンショット 2024-04-20 091511.png

リポジトリ作成

共有ディレクトリ配下にリポジトリ用の空ディレクトリを作成します。
※ディレクトリ名は任意です。

パス
D:\Share\examplerepo

作成したディレクトリを開き、右クリックメニューからOpen Git Bash hereでgit用のコマンドプロンプトを開きます。
※gitがインストールされていると追加される項目です。

スクリーンショット 2024-04-20 093328.png

以下のコマンドを実行し、空のリポジトリを作成します。

コマンド
git init --bare

成功すると以下のようなファイルが作成されます。

スクリーンショット 2024-04-20 094128.png

以上でサーバーの構築および、リモートリポジトリの作成は完了です。

クライアント構築

インストール

公式サイトからアプリケーションをダウンロードします。

スクリーンショット 2024-04-20 095155.png

インストーラを実行し、インストールします。
特にこだわりがなければデフォルトで問題ないと思います。

ユーザー設定

Forkからgitにアクセスするユーザー設定を行います。
file>Preferences

ユーザー名とメールアドレスを設定しますが、任意で問題ありません。
メールアドレスはダミーでも大丈夫です。

スクリーンショット 2024-04-20 095932.png

gitタブに移動、ユーザー名、メールアドレスを設定します。
githubのアカウントを持っているならgithubの物を使うとよいと思います。

スクリーンショット 2024-04-20 100007.png

リポジトリのクローン

メニューからダイアログを開きます。

file>Clone

スクリーンショット 2024-04-20 101130.png

リポジトリ作成で準備したリポジトリのネットワークパス

RepositoryURL
\\サーバー名\Share\examplerepo

任意の作業パス
※参考のため私の環境値で記載しています。

ParentFolder
D:\Work\koiusa

任意の作業リポジトリ名
※任意ですが、わかりやすさのためリモートリポジトリと合わせることをお勧めします。

Name
examplerepo

スクリーンショット 2024-04-20 101820.png

任意の作業パス配下に、任意の作業リポジトリ名で指定したディレクトリが作成されます。

スクリーンショット 2024-04-20 101859.png

コミット

ファイルを追加してみます。

スクリーンショット 2024-04-20 104213.png

Forkで確認するとUnstageの欄に追加したファイルがリストされます。

スクリーンショット 2024-04-20 104443.png

stageを押下するとstageの欄に移動します。
ここに入っているものがコミット対象となります。
スクリーンショット 2024-04-20 104723.png

Commit subjectにわかりやすい説明を記述して、コミットを実行します。
※Commit subjectを入力しないとコミットできません。

スクリーンショット 2024-04-20 104843.png

変更履歴がローカルリポジトリに保存されます。
※この段階ではまだサーバーに反映されていません。

スクリーンショット 2024-04-20 105035.png

プッシュ

Pushのアイコンをクリックし、Push用のダイアログを開きます。
スクリーンショット 2024-04-20 105347.png

ブランチを選んでpushを実行します。
※最初のうちはデフォルトで問題ないです。

スクリーンショット 2024-04-20 105357.png

変更結果がリモートリポジトリ(サーバー)に反映されます。

以上でgitでのファイル保存が完了しました。

補足

サイズの大きいファイルを扱い場合

大きいファイルをGitで扱う場合はGitLFSという仕組みを使う方がよいでしょう。

GitLFSを使用するためにはGit管理用のWebサーバーを別途稼働させる必要があります。
個人的には、Gitbucketが導入が比較的容易で、動作も軽いのでお勧めです。

GitBucket(Githubへのリンク)

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?