Gitで困ったら見る、チートシート的にメモを残していきます。
Git環境構築
Gitのダウンロード
Gitがまだインストールされていない場合、以下ページよりダウンロード&インストール
Gitダウンロードページ
Gitが入っているか確認
git --version
現在のGit設定を確認
git config --global --list
ユーザー名設定
git config --global user.name "test name"
メールアドレス設定
git config --global user.email testmail@test.com
Git用のフォルダとして設定する
git init
フォルダ内 ローカルでのユーザー設定
git config --local user.name "テストユーザー"
core.editor にVS Codeを登録
VS Codeがあるディレクトリパスを入力
git config --local core.editor 'C:\\Users\\admin\\AppData\\Local\\Programs\\Microsoft VS Code --wait'
git config --local core.editor 'code --wait'
設定の取消
git config --local --unset [設定対象]
git config --local --unset core.editor
ファイル生成、追跡
適当なファイル生成
vi sample.txt
branchの切り替えや確認
# branchを「CSS」に切り替える
git checkout -b css
# 直前のbranchに戻る
git checkout -
# どこのbranchにいるか確認
git branch
branchから削除する
git branch -d [branch名]
git branch -d css
Gitディレクトリの状態確認
git status
翻訳
ブランチマスターについて
まだコミットはありません
追跡されていないファイル:
(「gitadd <file> ...」を使用して、コミットされる内容に含めます)
sample.txt
コミットするために何も追加されていませんが、追跡されていないファイルが存在します(追跡するには「git add」を使用してください)
変更箇所の確認
# 変更箇所の確認
git diff
# git add した後にインデックスと最新のコミットと、ステージ状態の変更点を見たいとき
git diff --cached
# 「q」を押して戻る
ステージ
Gitの[ステージ]にファイルを渡す
git add ["対象ファイル"]
git add sample.txt
git add .
# [.]で全てを指定可能
Gitディレクトリの状態再確認
git status
翻訳
ブランチマスターについて
まだコミットはありません
コミットする変更:
(ステージングを解除するには、「git rm --cached <file> ...」を使用します)
新しいファイル:sample.txt
Gitの[ステージ]から取り除く
git rm --cached ["対象ファイル"]
git rm --cached sample.txt
コミット
Gitの[ステージ]ファイルを[コミット]に渡す
git commit
自分でメッセージ付きで保存
git commit -m "最初のcommit"
Gitの状態確認
git status
翻訳
ブランチマスターについて
コミットするものは何もありません。
ファイルを変更してみる
vi sample.txt
Gitの状態確認
git status
翻訳
ブランチマスターについて
コミットのためにステージングされていない変更:
(「git add <file> ...」を使用して、コミットされる内容を更新します)
(「git restore <file> ...」を使用して、作業ディレクトリの変更を破棄します)
変更:sample.txt
コミットに変更は追加されません(「gitadd」および/または「gitcommit-a」を使用)
Gitのコミット履歴確認
git log
git log --oneline
git reflog
直前のコミットを取り消し
git reset --hard HEAD^
# HEAD指定
git reset --hard HEAD@{0}
ファイル変更&ファイル追加 ステータス確認
git status
ローカルで変更したが、まだコミットされていないファイルと
ステージに上がっていないファイルがあるとのこと
変更を戻す
git restore sample.txt
branchにいる状態でmasterからデータを取り込む
git merge master
マージ
マージ(結合)する
# master側に移動してから、「css」のデータをmergeする
git merge [branch名]
# commitは残らない
git merge [branch名] --no-ff
# commitを残せる
branchから削除する
git branch -d [branch名]
git branch -d css
VS Code での作業
git status
追跡対象ファイルから除外
vi .gitignore
コンフリクトについて
branchを切り替え
git checkout -b css
branchをmasterに戻す
git checkout -
master側でも同じ箇所を編集する
mergeしてみると、コンフリクトが起こる
git merge css
「Accept Both Changes」を選択して両方残す (Currentはmaster Incomingはbranch)
ステータスを確認してみる
git status
残す方をmaster側で編集してmergeすればOK