たねやつの木

Photos and Programming

gitでファイルのファイルのバージョン管理を行う。(1 - 導入)

git_on_raspi

こんにちは、たねやつです。

Raspberry Piでいろいろなことを行う記事を書いているのですが、gitの使い方に関して特に記事にしてなかったので残しておきます。

バージョン管理だけでなくコンパイル不要なプログラム(JavaScript, PHPとか)であればそのまま開発 → 本番化作業としても使えるのでよく使っています。

gitとは

以下のページが詳しいです。

バージョン、世代管理が主な使い方かと思いますがリモートリポジトリ(保存先)を使用することでファイル共有としても使うことができ、こっちのほうが個人的にはうれしいですね。(笑)

VSCodeのような開発環境を使用するとほぼ2クリックでファイルの転送、更新が行えるので便利です。

導入

GitLabに登録

まずはソースを保管しておくためのリポジトリを作成します。今回はGitLabというサービスを使用します。より有名なリポジトリとしてはGitHubというものがありますが、GitLabであれば無料で外部に公開しないプライベートなプロジェクトを作成することができます。

人に見られたくないブログのドラフトや完全に個人で使用するようなアプリケーションの保管先として使うことができるようになります(;'∀')




以下のページにアクセスして基本事項を入力して登録できます。

登録後に設定したメールアドレスに対して認証が送られてくるので有効化するとGitLabを使用することができるようになります。

ログイン後

ログイン後にこんな感じの画面と、プロジェクトの一覧(現在は空)が表示されます。

プロジェクトの作成

先ほどの画面のNew Projectという緑色のボタンを押すと新たにプロジェクトを作成することができます。

プロジェクトの作成

こんな感じの画面が表示されます。今回はテストなのでgit_testという感じのプロジェクト名にしています。

Visibility Levelの部分をPrivateに設定するとほかの人からは参照できないプロジェクトにすることができます。

最後のInitialize repository with a READMEにチェックを入れるとREADME.mdを自動的に概要などから作成してくれます。プルできているかの確認用に使用したいのでチェックを入れるようにしてください。

Create Projectを押すとプロジェクトが作成されます。

作成後

画面のほかの部分を見てみるといろんなボタンがあっていろいろできそうですがひとまずこれで完了です。

Windows上でgitコマンドを使えるようにする

次にWindows上でgitコマンドを使用することができるようにします。以下のサイトからexeファイルを取得してインストールします。

https://git-scm.com/download/win

アクセスと同時にダウンロードが始まると思いますが始まらない場合はclick here to download manuallyをクリック。

既に自分の環境にインストールしているのでスクショが取れないのですがこの記事の流れが参考になります。

基本的にはデフォルトでOKです。ちなみに私はコンソールはMinTTYのほうを選択しています。




インストールが完了してPCを再起動させるとgitコマンドが使用できるようになります。Windowsキー + Rを押してcmdと入力してコマンドプロンプトを起動させて以下のコマンドを実行します。

> git --version
git version 2.18.0.windows.1

バージョンが表示されていれば正常にインストールできています。

もしくはエクスプローラー上で任意の場所(ホームなど)で右クリックメニューからGit Bash Hereを選択すると、現在いるフォルダでコマンドを実行できます。こっちのほうが便利ですね。

クローン

先ほど作成したプロジェクト(git_test)をPC上に持ってくるにはgit cloneというコマンドを使用します。ホームフォルダで今回は作業を行います。先ほどのcmdで起動したコマンドプロンプトの現在フォルダはおそらくホームフォルダになってると思うのでそのまま進めます。

以下のコマンドを実行してクローンを行います。

> git clone [プロジェクトのURL]
Cloning into 'git_test'...
Username for 'https://gitlab.com':
Password for 'https://username@gitlab.com':

remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.

> dir
...
2018/12/18  09:35    <DIR>          git_test
...

> cd git_test
> dir
2018/12/18  09:35    <DIR>          .
2018/12/18  09:35    <DIR>          ..
2018/12/18  09:35                33 README.md

プロジェクトのURLはプロジェクト作成後画面にあるCloneという青いボタンの中のClone with HTTPSのほうのURLを使用します。

Privateなプロジェクトに設定しているのでユーザー名などを聞かれますのでGitLabのアカウント情報を入力します。

完了したらdirコマンドでフォルダが存在しているかを確認します。

コミット

追加したファイルなどをコミットします。コミットすることによってgit上でファイルの状態を確定させ、変更などの管理できるようになります。

コミットするファイルを先ほどのクローンしたプロジェクトに作成します。

ファイルを追加


テスト用にcommit.txtというファイルを追加しました。

コミット前にコミットするファイルを選択するという動作が必要になります。git addというコマンドを使用します。

> git add .

もしくは

> git add commit.txt

上のコマンドでは現在のフォルダ以下のすべての変更ファイルをコミット対象に追加することができます。修正ファイルが膨大な場合に便利です。

下のコマンドでは指定したファイルのみをコミット対象に追加することができます。

コマンドを実行しても特に何も表示されません。。。git statusを実行することで現在addされているファイルを確認することができます。

> git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   commit.txt




この状態でgit commit -m "コメント"を実行すると変更を確定します。コミット時には必ずコメントをつける必要があります。

> git commit -m "テスト"
[master xxxxxxx] テスト
 1 file changed, 1 insertion(+)
 create mode 100644 commit.txt

おそらく初回コミット実行時にユーザーネームとメールアドレスが設定されていないといった感じのエラーが表示されると思います。その場合は以下のコマンドを実行して設定します。

> git config --global user.name "[ユーザー名]"
> git config --global user.email [メールアドレス]

誰がコミットしたかわからないままだと複数人で開発しているときなんかにトレースできないですからね。。、。orz

これでプッシュを実行する準備ができました!

プッシュ

コミットしただけでは自分のPC上で変更を確定しただけなので、プッシュコマンドを実行してリポジトリ(GitLab)に反映させます。

初回プッシュ時に以下のコマンドで実行しておくと、次回からはgit pushだけでプッシュできるようになります。

> git push -u origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 313 bytes | 313.00 KiB/s, done.

...

Branch 'master' set up to track remote branch 'master' from 'origin'.

ここでもGitLabのアカウント情報を求められるはずですので入力してください。

最後まで完了したらGitLabのページを見てみましょう!

確認

プロジェクトのページを確認すると、、、

確認

しっかり新しいファイルが追加されていますね!以上でプッシュまでは完了です!

次の記事

次はRaspberry Pi上でgitコマンドを使えるようにするのと、pullコマンドについてです。