この記事は最終更新日から1年以上が経過しています。
初心者のためのGit入門〜基礎編〜
もくじ
- はじめに
- 今回使用する用語
- バージョン管理について
- 集中型と分散型の違い
- GitとGitHubの違い
- 作業概要図
- ファイルをリモートリポジトリにアップロードしてみる
- 感想
はじめに
- 背景
- 業務でGitを使う機会があったが、ほとんど触れたことがなかったため、学習しながらの作業となった。
- そのためこれを機に、Gitを0から学び「初心者でもわかるGit」という記事にまとめていきたいと思います。
- 目的
- Git初心者がこの記事を読んで、Gitについて最低限理解できるようになること。
- 自分のGitに関する知識の整理のため。
今回使用する用語
- リポジトリ repository (ファイルやディレクトリの状況を記録する場所)
- リモートリポジトリ (複数人が共有するためのリポジトリ)
- ローカルリポジトリ (自分が利用する端末上のリポジトリ)
- クローン clone (リモートリポジトリの履歴を複製してローカルリポジトリにまるごとダウンロードする)
- コミット commit (ファイルの変更や追加をリポジトリに記録する操作のこと、またその際に記録される差分のこと)
- プッシュ push (ローカルリポジトリでの変更や追加の履歴をリモートリポジトリにアップロードする)
バージョン管理について
- バージョン管理とはファイルの作成や更新、変更についての履歴を管理することである。
- 主なバージョン管理ソフトウェアとして有名なのは集中型のSVN(Subversion)と分散型のGitである。
- 現在は分散型のGitが主流となっている。
集中型と分散型の違い
- 集中型は1つしかリポジトリを管理できないので、コミットを行うとそのままリモートリポジトリに反映される
- 対して分散型は複数のリポジトリで管理を行うことができ、コミットを行ってもローカルのリポジトリに反映されるだけなので、リモートに影響なく実験を行えたり、いざという時の復元も行いやすい
GitとGitHubの違い
- Git
- ソフトウェア開発のための分散型バージョン管理システム
- 誰が何を変更や追加したかという情報を記録するシステム
- 問題が発生しても過去の状態に復元することも可能
- ファイルを好きなタイミングで更新履歴として保存することができる
- ソフトウェア開発のための分散型バージョン管理システム
- GitHub
- Gitの仕組みを利用したWebサービス
- プログラムを保存するだけでなく、公開もされる
- Gitの仕組みを利用したWebサービス
作業概要図
ファイルをリモートリポジトリにアップロードしてみる
- 想定している作業環境 : Mac
事前準備
GitHubでリポジトリを作成する
- GitHubにログインし、「Repositories画面」で「New」ボタンを押下する
- 新しく作成するリポジトリの設定を行う
リポジトリの名前、外部への公開/非公開などの設定を行う設定を終えたら「Create repository」を押下する
-
リポジトリが作成され、URIが表示される
このURIは後ほどクローンを行う際に使用します
主作業
- ターミナルを開く
- ローカルのリポジトリに移動
$ cd Documents/リポジトリ名/
- リモートリポジトリからプロジェクトをクローンする
リポジトリ作成の際に表示されたURIをここに入力します$ git clone https://github.com/keiichiro-yamasato-recochoku/git-training.git - ファイルを追加する
追加するファイルを、作業しているローカルリポジトリ内に保存する
-
確認 : ファイルが追加されているか調べる
$ git add -n -A- コマンド解説
- -n:コマンドを実行し何が起こるかを確認することができる(反映はされない)
- -A:プロジェクト内すべて
- 出力結果
$ git add -n -Aadd 'HelloWorld.html' - コマンド解説
- 追加したファイルをコミットの対象にする
$ git add HelloWorld.html
- 確認 : 変更が加えられたファイルを表示する
$ git status
- 出力結果
$ git statusOn branch is up-to-date with 'origin/master'.Chamges to be committed:(use "git reset HEAD ..." to unstage)new file: HelloWorld.html - ファイルをコミットする
$ git commit -a -m "HelloWorld.htmlを追加"
- コマンド解説
- -a:変更点を自動検出する
- -m:オプションメッセージ指定
- 出力結果
$ git commit -a -m "HelloWorld.htmlを追加"[master a832344] HelloWorld.htmlを追加1 file changed, 10 insertions(+)create mode 100644 HelloWorld.html - コマンド解説
- リモートリポジトリにプッシュする
$ git push origin master
- 出力結果
$ git push origin masterCounting objects: 3, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), 443 bytes | 0 bytes/s, done.Total 3 (delta 0), reused 0 (delta 0)To https://github.com/keiichiro-yamasato-recochoku/git-training.git-trainingeec8141..a832344 master -> master
確認作業
- GitHub上でプッシュできているか確認をする
感想
- CUIでの作業について、とても難しいという風に聞いており、恐れていたが、実際に学び手を動かしてみると、意外と怖くなかった。
- Gitコマンドから覚えることで、今までGUIツールで補っていたGitの基礎を身につけることができ、同時にGUIツールのありがたみを感じました。
この記事を書いた人
-
1993年東京生まれ / 2016年入社
UI Design / UX Researcher
最近書いた記事
- 2023.10.17レコチョクのUXリサーチチームとは
- 2023.08.01はじめまして!murketデザインチームです
- 2019.11.08話題になったデザインニュース〜10月編〜
- 2017.07.28初心者のためのSketch入門〜基礎編〜