0
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?

More than 3 years have passed since last update.

【Mac,Win】宅内のNASをリモートリポジトリにしてforkアプリでgit操作する

Last updated at Posted at 2019-09-09

#はじめに
とにかく簡単に宅内のNASにリモートリポジトリを作成してgit操作をしたかったので備忘録としてまとめます。
git操作は今回アプリを使用します。
アプリは「Sourcetree」、「fork」、「gitkraken」のアプリをmacにインストールしました。各アプリを何も調べずに操作したところ、NASに作成したリモートリポジトリについて、アプリからのプッシュ、クローン、コミットまで行えたのが、forkアプリだけだったので、「fork」アプリでのgit操作についてまとめます。

2020/02/10 追記
※「Sorcetree」、「gitkraken」でもNasに作成したリモートリポジトリからクローンが行えることを確認しました。gitの操作について理解不足が原因でした。

##環境

mac環境

macOS Mojave バージョン 10.14.5
Fork バージョン 1.0.83.1

windows環境

windows10
Forkバージョン 1.42.4.0

##目次

  1. gitのインストール
  2. NASにリモートリポジトリ(ベアリポジトリ)を作成する。
  3. forkアプリをインストールする。
  4. forkアプリでクローン(ローカルリポジトリ<ノンベアリポジトリ>を作成)する。
  5. forkアプリでローカルリポジトリをコミットする。
  6. forkアプリでNASに作成したリモートリポジトリにプッシュする。
  7. forkアプリでリモートリポジトリをフェッチする。

1. gitのインストール

リモートリポジトリを作成するには先にpcにgitのインストールが必要です。
git操作アプリで色々試したのですが、ツール上からNASにリモートリポジトリの作成ができなかったので、以下を参考にterminalでgitをインストールし、リモートリポジトリを作成しました。

macの場合

gitインストールするために、実行したコマンドは以下の通り。

ターミナル.
brew install git

ちなみに、gitをインストールするためには、homebrewをインストールしている必要があるのですが、homebrewはすでにインストール済みなのでこの手順は今回はパスしました。
homebrewのインストール方法はhomebrewのサイトにインストール方法が書いてあります。
実行する場合は以下の通りです。

ターミナル.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

windowsの場合

以下からgitをダウンロードしてインストールしてください。

インストールすれば環境変数にパス(Git/cmdまでのパス)が自動で追加されるはずです。
されていない場合はパスを追加しましょう。

2. NASにリモートリポジトリ(ベアリポジトリ)を作成する。

NASにリモートリポジトリを作成するコマンド(ベアリポジトリを作成する)

ターミナル.
cd (NAS上のリモートリポジトリを作成したいフォルダ)
git init --bare

簡単にリモートリポジトリができます。

windowsの場合

NAS上に移動する際はネットワークドライブへのドライブ切替が必要です。
ドライブ切替方法は以下の通り。

コマンドプロンプト.
Zドライブとして割り当てた場合
>z:   これで切り替え可能
z:>cd 作成したいフォルダまで移動する。
  • ベアリポジトリ(リモートリポジトリ)を作成する。
コマンドプロンプト.
z:\\保存先>git init --bare

3. forkアプリをインストールする。

以下のURLからforkアプリをインストールします。

インストール後updateするか問われるので念のためupdateをしておきます。

ログインを求められるので、gitアカウントを紐づけてログインします。
→ここ記憶が曖昧です。gitkrakenでもgitアカウントの紐づけを行なってログインしたのですが、forkアプリはメールアドレスだけだったかも。。。

インストール時に名前とメールアドレスの入力を求められます。
これは、forkツールによるcommit操作等でだれがcommitしたかの来歴に自分の情報を残すために必要な作業のため、正しいものを入力してください。

4. forkアプリでクローン(ローカルリポジトリ<ノンベアリポジトリ>を作成)する。

  • forkアプリ起動します。
    1.png

  • 画面左のRepositoriesを副ボタン(右)クリック->Clone...をクリック。
    2.png

  • そうするとこの画面になります。
    3.png

  • Repository URLに「2」の手順で作成したリモートリポジトリのフォルダを、ドラッグ&ドロップします。(テキストフィールドをクリックして有効にするとドラッグ&ドロップできます。)

  • windowsの場合、ここで指定するパスに半角スペースが含まれている場合、ダブルクォーテーション("")でパス全体を囲ってください。そうしないと失敗します。

  • Parent Directoryを選択->Choose...をクリックしてローカルリポジトリ(ノンベアリポジトリ)を作成する出力先を選択します。

  • Nameにはローカルリポジトリ(ノンベアリポジトリ)のフォルダ名を設定します。

  • Otherのボタンが選択されているか確認して、Cloneをクリック。

これでクローンできます。こんな感じの画面になります。
4.png

まだ何もコミットしていないので、この画面だとできてるのかよくわからないですね。

今回、Nameを「local_repo」にして作成してみたので
このとき「local_repo」フォルダを開くと、このように「.git」フォルダができていることがわかります。
5.png

一応、localのリポジトリが出来てそうです。

5. forkアプリでローカルリポジトリをコミットする。

  • 3の手順で作ったローカルリポジトリ(「.git」があるフォルダ)に空のテキストファイルを置いてみます。
    6.png

  • このときforkアプリではこのように表示されます。
    7.png

左側のChangesに(1)がつきました。
勝手に画面が更新されてました。

  • Changes(1)をクリックします。
    8.png

追加したファイルがUnstaged Changesの箇所に表示されるようです。
ここにはローカルリポジトリにコミットしないファイルが表示されるようです。

  • file.txtを選択してStageボタンをクリック。
    9.png

Staged Changesに移りましたね。
ここにはローカルリポジトリにコミットするファイルが表示されるようです。
戻すときは、戻したいファイルを選択してUnstageボタンをクリックで戻ります。

  • 右下のComment subjectにコメント「新規作成」を入れます。
  • 入れると、Commit 1 File ボタンが有効になるのでクリックします。
    10.png

Changesの(1)が消えて、Branchesにmasterができています。

  • masterをクリック
    11.png

先ほど追加したファイルと、入力したコメントが表示されているのがわかります。
これでローカルリポジトリへのコミット操作は完了です。

6. forkアプリでNASに作成したリモートリポジトリにプッシュする。

  • masterを選択して、↑矢印のボタン(Pushボタン)をクリック。

12.png

-この画面が出るので、Pushをクリック。
13.png

-選択部分の箇所にorigin/masterが追加されているのがわかります。また、画面左側ののRemotesの▶︎をクリックすると、originの下にmasterができてるのがわかります。
14.png

これでプッシュもできました。
本当にプッシュできているかどうか「4」の手順で別の場所にlocal2_repoを作成してリモートリポジトリをクローンしてみます。

  • タブの+ボタンをクリックします。
    15.png
    +ボタンは右側です。

  • 4の手順を踏んで今度はNameをlocal2_repoにしてクローンします。
    16.png

実際のフォルダにも取得できているので反映されていることがわかりますね。
18.png

7. forkアプリでリモートリポジトリをフェッチする。

ここまでの手順でlocal_repoとlocal2_repoを作成したので、実際の運用では、おそらく複数人がgitをいじるので、フェッチするところまで確認してみます。
まずはlocal_repoの方を更新してコミットして、リモートリポジトリにプッシュします。ここまでの手順は今までの流れでできるのでスクショは省略します。

ここまで実施すると、local2_repoの内容は古いままなのでフェッチを行います。

  • local2_repoのタブにして、メニューバーの一番左上の、↓(Fetch)ボタンをクリックし、右下のFetchをクリック。
    19.png

これでフェッチ完了です。
フェッチの場合は、master(1)となるので、新しくできたorigin/masterをダブルクリックするとmasterを更新できます。
真ん中のpullボタンであればローカルリポジトリへのコミットも同時に行ってくれる動作となります。

その他

なお、チェックアウトについても更新履歴をクリックするだけで切り替えられるので簡単でした。
動作は調べずにやってもなんとなくできてるので、forkアプリは入りやすくわかりやすかったです。今後これで、NASをリモートリポジトリにしてバージョン管理を行なっていきたいと思います。

0
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
0
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?