Git

コンピュータ
コンピュータ

Git(ギット)は分散型バージョン管理システムです。
ソースコードなどを効率的に管理できます。
Linuxカーネル開発者のリーナス・トーバルズが2005年から開発を始めました。

インストール

Windowsの場合はGit for Windowsをダウンロード・インストールします。

Git for Windows

Git for Windows
We bring the awesome Git VCS to 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

Chocolatey

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 --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]]

コメント

タイトルとURLをコピーしました