Git(ギット)は分散型バージョン管理システムです。
ソースコードなどを効率的に管理できます。
Linux カーネル開発者のリーナス・トーバルズが 2005 年から開発を始めました。
インストール
Windows の場合はGit for Windows
をダウンロード・インストールします。
Git for Windows
Git for Windows をインストールすることにより、コマンドプロンプトなどで git
コマンドが実行できるようになります。
ただ、コマンドプロンプトでは不便なので、一緒にインストールされるGit Bash
というターミナルを使用すると便利です。
Git Bash 上では Cygwin のようにシェル環境と色々な Unix コマンドを利用できます。
bash
ls, cd, mv, cp, find, grep, awk, sed
git
ssh, scp
curl
vim
perl
winget
PS> winget install Git.Git
Chocolatey
PS> choco install -y git
Git Bash 日本語
export LANG=ja_JP.UTF-8
使い方
設定
- コミットするユーザ情報を設定
git config --global user.name "username"
git config --global user.email username@domain.com
- 認証情報を保存する
git config --global credential.helper store
- ファイルモードの変更を無視する
git config --global core.filemode false
- 改行コード自動変換を無効
git config --global core.autocrlf false
- 設定を確認
git config --list
設定は~/.gitconfig
認証情報は~/.git-credentials
に保存されます。
初期化
リポジトリの初期化(プロジェクトのディレクトリに移動して)
git init
.git
というローカルリポジトリが作成される。
既存のリポジトリのクローン
git clone [url]
基本操作
ステージングに追加
git add [file]
コミット
git commit -m 'comment...'
状態確認
git status
ファイルの無視.gitignore
ファイル作成
/node_modules
.env
ワーキングとステージングの内容を比較
git diff
ステージングと直近のコミットの内容を比較
git diff --staged
ファイルの削除をステージ(ファイルが削除され、追跡対象外)
git rm [file]
ファイルを残しつつ、ファイルの削除をステージ
git rm --cached [file]
ファイルの移動
git mv [file_from] [file_to]
コミット履歴
git log
コミット履歴(各コミットの diff 直近の 2 エントリ)
git log -p -2
作業のやり直し
直近のコミットの変更(ファイルの追加・コメントの変更)
git commit --amend
ステージしたファイルの取り消し
git reset HEAD [file]
ファイルへの変更の取り消し
git checkout -- [file]
ブランチ
ブランチ一覧
git branch
ブランチの作成
git branch [branch]
ブランチの切り替え
git checkout [branch]
ブランチのマージ
git merge [branch]
ブランチの削除
git branch -d [branch]
リモート
リモートリポジトリの追加
git remote add [shortname] [url]
リモートリポジトリ一覧
git remote
リモートの調査
git remote show [remote-name]
リモートリポジトリからのデータ取得
git fetch [remote-name]
リモートリポジトリブランチの内容を現在のブランチにマージ
git pull
リモートリポジトリへ反映
git push [remote-name] [branch-name]
退避
変更を退避
git stash save
退避した作業の一覧
git stash list
退避した作業を戻す
git stash apply [stash@{0}]
退避した作業を消す
git stash drop stash@{0}
退避した作業を取り出す(stash リストから削除)
git stash pop stash@{0}
その他
リモートリポジトリ一覧
git remote -v
ブランチ一覧
git branch -a
ワーキングと HEAD(直近のコミット)の内容を比較
git diff HEAD
ワーキングとリモートリポジトリブランチの内容を比較
git diff [remote-name[/branch-name]]
コメント