Git - user000422/0 GitHub Wiki

■ブランチ種類(応用情報より)

ブランチ名 説明
main 永続管理 マージのみ許可 本番環境ブランチ
develop 開発の軸 マージのみ許可
feature 開発者個人別 最終的にdevelopにマージ

チェリーピック … 特定のコミットのみ反映させる

空のディレクトリをgit管理に含めるには「.gitkeep」というファイルをディレクトリに格納する

確認

# 状態確認(3種類の状態)
# 1. Changes to be committed.       ※add後、commitされていないファイル
# 2. Changes not staged for commit. ※addされていないファイル(変更後)
# 3. Untracked files. ※?
git status

# ログ確認
git log

ブランチ操作

# branch ブランチ操作
git branch    # ブランチ一覧表示(ローカル)
git branch -r # ブランチ一覧表示(リモート)

# ブランチ切り替え
git switch sample_branch

git branch sample_branch # ブランチを作成

git restore

# コミット前のファイルの変更を取り消す(「discard changes」のような操作)
git restore sample/sample.txt

# コミット前のファイルの変更を全て取り消す(「discard changes」のような操作)
git restore .

git reset

# コミット後の状態から「ステージング状態」に戻す
# 実例)プッシュする前に他の人にプッシュされた
git reset --soft HEAD^

# コミット後の状態からファイルの編集まで戻す ※ファイルの編集も消える
git reset --hard HEAD^
# clone クローン
# カレントディレクリにクローン(リポジトリディレクトリが作成される(カレントにリポジトリが展開されるわけではなくリポジトリディレクトリの中で展開))
git clone https://xxxxxx

# fetch フェッチ(とりあえず叩くこと)
git fetch

# pull 変更情報取得
git pull

# add ステージに追加
git add "sample.txt" # ファイルを指定して追加
git add .            # カレントディレクトリの変更されたファイルを全て追加

# commit コミット
git commit -m "メッセージ"         # コミットメッセージ
git commit --amend -m "メッセージ" # コミットメッセージを修正(直前の)
git commit --allow-empty -m "メッセージ" # 空コミット(ブランチ作成後の初回コミットなど)

# push プッシュ
git push

# merge
git merge BRANCH_NAME

# config 設定
git config --global user.name "○○○○"        #ユーザーネーム設定
git config --global user.email "○○○○@○○○○"  #メールアドレス設定 
git config --global --list                  #リスト表示
git config user.name                        #ユーザーネーム表示

# リポジトリ作成
cd targetDir     #作成場所のディレクトリ名
git init             # .git サブディレクトリ作成

# show コミット一覧
git show sample_commit_ID --name-only # ファイル名のみの一覧

# revert コミットを取り消すコミットを作成
# ※実行後vi状態になるので`:wq`で抜ける
git revert [コミットID]

# stash コミットを行わず変更を退避
git stash # 変更を退避
git stash apply # 直近で退避していた変更をブランチに適用

# diff
git diff sample/sample.html # ファイルの差分
git diff main sample_branche # ブランチ間の差分
git diff --stat # 差分ファイル一覧

コミットメッセージ

項目 説明
fix バグ修正
add 新規ファイル追加
update 機能修正(バグ以外)、ドキュメント更新
remove ファイル削除

.gitignore

.gitignoreに記述されているファイルはaddやcommitがされません。 個人設定や共有の必要がないファイルを記述する。

# 特定のディレクトリ配下のファイルを全て無視する
sample/test/