git

  • bareリポジトリの作成

git init --bare myrepo.git

  • リポジトリのクローン

git clone ssh://repo@host.domain.com/home/repo/myrepo

  • bareリポジトリとしてクローン

git clone --bare ssh://repo@host.domain.com/home/repo/myrepo

  • bareリポジトリのパーミッションをオーナーのみに制限

git init --bare --shared=0600 myrepo.git

  • 最新化する

git pull

  • 変更を取り込んでマージはしない

git fetch

  • ファイルの追加

git add FILENAME

  • 以下のファイルを全て追加

git add .

  • commit前の修正を切り戻す

git checkout -- FILENAME

  • コメントを付けてcommit

git commit -m 'for maintenace' FILENAM

  • commitした内容をmasterに送る

git push origin master

  • 任意のログの履歴を確認

git log FILENAME

  • authorを指定して履歴を確認

git log --author=USERNAME FILENAME

  • 任意のcommitとの差分を確認

git show COMMITHASH

  • ファイル指定で任意のcommitとの差分を確認

git show COMMITHASH FILENAME

  • gitの設定を確認

git config --list

  • gitのglobal設定を確認

git config --list --global

  • gitのglobal設定をセット

git config --global user.name USERNAME
git config --global user.email USERNAME@domain.com
git config --global push.default matching

  • 2つ手前のcommitまでの差分を確認

git log -p -2

  • 差分の確認

git diff FILENAM

  • masterとの差分を確認

git diff origin/master

  • ブランチの確認

git branch

  • ブランチを作って切り替える

git checkout -b topic_XXXX_YYYYMMDD

  • ブランチを削除

git branch -d topic_XXXX_YYYYMMDD

  • ブランチの状態を確認

git status

  • ファイルの移動やリネーム

git mv BEFORE_FILE AFTER_FILE

  • ファイルの削除

git rm FILENAME

  • ファイルモードをフォローしない

git config core.filemode false

  • 実行権限の付与

git update-index --chmod=+x FILENAME

  • ディレクトリごと削除

git rm -r WORKDIR

  • ディレクトリやファイルは残したままindexから削除

git rm -r --cached WORKDIR

  • リモート設定を確認する

git remote

  • リモート設定を追加する

git remote add HOST ssh://repo@host/home/repo/test.git

  • リモート設定を削除する

git remote rm HOST

  • リモートのURLを変更する

git remote set-url ssh://repo@host/home/repo/git/test.git

  • 最新commitのhashを確認

git show --format='%H' -s

  • 現在の変更を一時退避

git stash save

  • 退避した変更を戻す

git stash pop

  • リポジトリ側でhttpに必要な補助ファイルを作成

git update-server-info