こんにちは、たねやつです。
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
コマンドについてです。