Closed5

Git使い方

やっぷやっぷ

Gitとは

バージョン管理ツール。
自分のパソコン上(ローカルリポジトリ)でバージョンを管理できる。

Githubとは

ローカル環境で作ったソースコードのバージョンをインターネット上で管理できる。

ワーキングディレクトリ

自分が作業している場所。

ステージングエリア

【git add】すると、ワーキングディレクトリの状態がステージングエリアにコピーされる。

ローカルリポジトリ

【git commit】すると、ステージングエリアの状態がローカルリポジトリに保存される。

リモートリポジトリ

【git push】すると、ローカルリポジトリの内容をGithubで作ったリモートリポジトリに保存される。

やっぷやっぷ

git init

現在のディレクトリまたは指定したディレクトリに「.git」というリポジトリを構成するディレクトリが作成される。このディレクトリをGitで管理しますよ。ってこと。

git status

「ワーキングディレクトリとステージングエリアの状態の差」と「ステージングエリアとローカルリポジトリの状態の差」を確認できる

よく出てくるstatusの状態

Untracked files:

Gitで管理していないファイルがありますよ。
→git addしてくださいね。

  • 「new file:」 新しいファイルが作られた
  • 「modified:」ファイル内容に変更がある

Changes to be committed:

コミットすべき変更点がありますよ。
→git commitしてくださいね。

nothing to commit, working tree clean

コミットも必要ないし、ワークツリーが綺麗ですね。

Changes not staged for commit

ステージングエリアに登録されてない変更がありますよ。
→git addしてくださいね。

git add

ファイルをステージングエリアに登録する

# file01.txtを追加
git add file01.txt

# 拡張子が「.txt」のもの全てを追加
git add *.txt

# 全てのファイルを追加
git add .

git commit

ステージングエリアに登録された変更をローカルリポジトリに保存する。
「コミット」と言う単位でバージョンの情報が管理されている。

# commitする
git commit -m "initial commit"

# addとcommitをまとめてする
git commit -a -m "add and commit at the same time"
git commit -am "add and commit at the same time"

git diff

ファイルの内容の差分を確認できる

# ワーキングディレクトリとステージングエリアの差を確認
git diff

# ステージングエリアとローカルリポジトリの差を確認
git diff --staged

git restore

変更を取り消すことができる

# ステージングエリアの内容でワーキングディレクトリを置き換える
git restore file01.txt

# ローカルリポジトリの内容でステージングエリアを置き換える
git restore --staged file01.txt

git rm

ファイルを削除できる

# ワーキングディレクトリとステージングエリアのファイルを削除
git rm

# ステージングエリアのファイルを削除
git rm --cached fileB.txt

git mv

ファイル名の変更、ファイルの移動ができる

# ワーキングディレクトリとステージングエリアのファイルを
git mv
やっぷやっぷ

git log

リポジトリの変更履歴(コミット)を表示する

# (コミットIDの始め7桁) (コミットメッセージ)
git  log --oneline

# 全て見る
 git log --all

# ブランチの分岐を視覚化する
 git log --graph

# 変更を見ることができる
git log --patch

# 最新のコミット3つを見ることができる
git log -3

# authorで履歴を検索
git log --author="username"

# 日付で履歴を検索
git log --after="2020-12-24"

# コミットメッセージで履歴を検索
git log --grep="キーワード"

# fileA.txtに加えられた履歴を検索
 git log fileA.txt

git show

# コミットIDが「f5e4644」のものを表示
git show f5e4644

# 今の位置から2つ前のコミットを表示
git show HEAD~2

git blame

# 「fileA.txt」に誰が変更を加えたのか表示
git blame fileA.txt

git remote add origin <URLFROMGITHUB>

リモートリポジトリを設定

やっぷやっぷ

git branch

ブランチを表示したり、作ったりできる。

# 今ある全てのブランチを表示する
git branch

# ブランチを作れる
git branch (ブランチ名)

git switch

# ブランチを切り替える
git switch (ブランチ名)

# ブランチの作成と切り替え
git switch -C (ブランチ名)

git merge

マージする

git merge  (ブランチ名)

ファストフォワーフォマージ

分岐が1本の時、ブランチの最新の位置にheadが移動する

3ウェイマージ

分岐が2本の時、ブランチを統合する

スカッシュ

分岐が2本の時、片方のブランチBの内容をブランチAのコミットとする

リベース

ブランチのベース位置を変える

やっぷやっぷ

Github

git fetch

# リモートリポジトリのコミットをローカルリポジトリに取り込む。
# 取り込んだらmergeする必要がある。
git fetch origin

git pull

# fetch + merge
git pull

# fetch + rebase
git pull --rebase

git push

# ローカルリポジトリのコミットをリモートリポジトリに取り込む
git push (プッシュ先のリモートリポジトリ名) (プッシュしたいブランチ名)
このスクラップは2021/09/27にクローズされました