LoginSignup
1
0

More than 3 years have passed since last update.

開発未経験が書く ドットインストール「git入門」まとめ

Last updated at Posted at 2021-02-22

この記事について

この記事は、開発未経験の人間がインプットした内容が書かれています。

実際に開発経験を積まないと身につかない、かといって疎かにしたら後々痛い目にあう、といったジレンマを少しでも解消するために、「頭の中を言語化し、解釈違いを指摘してもらう」という目的で投稿します。

気になる点がありましたらツッコミをいただけると嬉しいです。

記事の内容

ドットインストール「git入門」のまとめ

インプット教材

ドットインストール「git入門」: https://dotinstall.com/lessons/basic_git

開発環境

git version 2.21.0

gitとは

gitは開発しているもののバージョン管理を簡単にできるツールのこと。

作業ディレクトリで開発し、ステージングエリアへ一旦保存し、問題がなければリポジトリに入れる。

リポジトリにはローカル、リモートで分けられ、ドットインストールではローカル環境で解説している。

gitを使用する前準備

ユーザー名とE-mailを登録

git config --global user.name "user name"
git config --global user.email "email address"

出力されるコードの色分け機能をONにする。

git config --global color.ui true

gitの設定内容を一覧表示で確認

git config -l

gitのヘルプを表示。qキーで解除

git config --help

gitの作成〜コミットまでの簡単な流れ

例) 作業ディレクトリmywebにgitを作成。ファイルindex.htmlを作成しコミットする。
作業ディレクトリに移動

cd ~/myweb/

gitの初期化

git init

ファイルの中身を見る

cat index.html

作業が完了したら、ステージングエリアへ保存する

git add index.html

ステージングエリアからリポジトリに送る(コミットする)。実行するとコミットメッセージを記載するように要求されるので更新内容がわかるように書く(created index.htmlなど)

git commit

コミットメッセージが一行で良い場合は、commitの後に-mを入れると、コミットの実行とメッセージの記載を一度に実行できる

git commit -m "created index.html"

-mではなく-amにすると、addも含めて一度に実行できる

git commit -am "created index.html"

ログの操作

コミットした履歴がログとして管理されている。ログの内容を確認したり、呼び出したりすることができる
コミットしたファイルに少し変更を加えたい場合、大きな変更でない(ログに残す必要性がない)ものであれば、コミット時に後ろに--amendを入れると、直前のログとしてコミットできる

git commit --amend

gitの更新内容を一覧表示

git log

ログのIDとコミットメッセージのみ表示する。

git log --oneline

変更内容を表示

git log -p

変更箇所を表示。変更されたファイル名と変更箇所の個数が表示される。

git log --stat

過去のログの状態に戻す

git reset --hard HEAD

HEADにすると直前のログに戻る。特定のログに戻りたいときはコミットIDを他のIDと重複しない長さまで入れる

git reset --hard 5d5a54as5f

ログ移動前の直前のログはORIG_HEADに格納されているので呼び出すことができる

git reset --hard ORIG_HEAD

直前のコミットに任意のタグをつける

git tag v1.0

任意のコミットにタグをつけるにはタグ名の後ろにコミットIDを入れる

git tag v0.9 er524dfggrt

タグの一覧表示

git tag

タグのついたコミットの内容を確認

git show v0.9

タグを消す

git tag -d v0.9

作業したファイルの状態を確認。現在の状態に対してどんなアクションができるかを教えてくれる。

git status

作業したファイルを取り消す

git checkout -- index.html

作業したファイルの状態と内容を表示

git diff

git diffはステージングエリアに送る前のファイルの変更内容が表示される。ステージングエリアに送ってしまったファイルを確認したい時は、後ろに--cachedを入れる

git diff --cached

今いるファイルから下のファイルを全てaddする

git add .

commitしたファイルなど、一度gitを使ったファイルはgitの管理下にあるのでそのファイルを操作(rm, mvなど)するとエラーとなる。コマンドの前にgitを入れることでgitの管理下にあるファイルを操作できるようになる。
gitの操作したくないファイルがあるとき(共有したくないファイルがある時など)は、.gitignoreという名前のファイルを作成し、その中にファイル名を記述することで対象外となる。ファイル名をワイルドカードにすれば拡張子で指定できる。

*.log 

log拡張子のファイルを全て除外

branch(ブランチ)

作業ルート。デフォルトではmasterという名前のブランチで作業している。ブランチが複数ある場合、今いるブランチで作業したものは他のブランチでは反映されない。

ブランチの新規作成

git branch hoge

ブランチの一覧表示

git branch

ブランチの移動

git checkout hoge

ブランチを新規作成し移動する

git checkout -b hoge

ブランチの削除

git branch -d hoge

marge(マージ)

二つの内容を混ぜること。他のブランチの内容を、今いるブランチに混ぜることができる。他のブランチのファイルを適用したいときに役立つ。

git marge hoge

マージ元とマージ先の同名のファイルの中身が違う場合はエラー(conflict:衝突)となる。問題のファイルの中身を修正しコミットすることで解決できる。

alias(エイリアス)

短縮名。よく使うコマンドを短縮名で登録できる。
例) checkoutを短縮名coに設定

git config --global alias.co checkout

短縮名を忘れたときは、git config -lで登録の内容を確認できる

共有リポジトリ

複数人で作業するときは各人が作業したファイルを一つのリポジトリで管理するのが一般的。

ドットインストールでは解説を簡略化するため、一人のユーザーが2つのディレクトリを操作することで2人の作業者と見立てている。

例) 共有リポジトリ用のディレクトリ名: ourweb.git

ディレクトリに共有リポジトリを作成

git init --bare

ディレクトリのコミットを共有(プッシュ)

作業ディレクトリに共有リポジトリを登録する

git remote add origin ~/ourweb.git

登録するときの名前(上記ではorigin)は任意で良い。登録したリポジトリの場所はgit config -lで確認できる

登録を解除

git remote rm origin(登録した名前)

共有リポジトリにコミットをプッシュ。git pushの後に登録名とブランチ名を指定

git push origin master

共有リポジトリの内容を作業ディレクトリに送り、マージする(プル)

git pull origin master

あるファイルについて、別の作業者がすでに変更しプッシュをした後にこちらもプッシュした場合、ファイルの中身が違うとエラーとなる。その場合は先にプルしてからファイルを修正する。

クローン作成

ディレクトリのクローンを作成したいときは、git cloneの後ろにクローンしたいディレクトリとディレクトリ名を入れる。ディレクトリの「中身」を複製したいのでディレクトリ名の後ろに/を忘れない

git clone ~/ourweb.git/ myweb2

クローンには共有リポジトリの登録も引き継いでいるので登録不要

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