starzware

ITスキル

gitコマンド

コマンド 説明
git clone <リモートリポジトリ> cloneを行う
git remote -v 現在のgitの場所を表示
git remote set-url <origin> <リモートリポジトリ> 現在のgitの場所を変更
git branch --contains 現在のブランチを表示
git branch -r リモートブランチを表示
git branch -a ブランチを表示
git branch -d [ブランチ名] ブランチを削除する
git checkout . すべての変更(ローカル変更分)を取り消す
git config --global --list globalの設定をリストで表示
git config --global user.name "username" (~/.gitconfig)
git config --local user.name "username" (.git/config)
(確認)git config user.name
ユーザ名を設定
git config --global user.email "email address" (~/.gitconfig)
git config --local user.email "email address" (.git/config)
(確認)git config user.email
E-Mailを設定
git checkout <ブランチ名> 指定のブランチに切替(存在しない場合はエラー)
git fetch / git fetch origin リモートの最新情報(新しいブランチ、ブランチの更新)を取得
git pull pullを行う
git merge mergeを行う(HEADに移動)
git log --oneline コミットログを表示する
git archive <ブランチ名> -o archive.zip アーカイブする(ファイルにまとめる)
git archive <ブランチ名> <指定ファイル(複数指定可能)> -o archive.zip 指定されたいファイルだけをアーカイブする(ファイルにまとめる)
git diff --name-only --diff-filter=ACMR <コミットID(from)> <コミットID(to) 最新なら[HEAD]> コミットIDから現在[HEAD]の差分,A:Added,C:Copied,M:Modified,R:Renamed
(Win以外)git archive <ブランチ名> --format=zip -o "xxx/diff.zip" `git diff --name-only <コミットID(from)> HEAD`
(Win)
SET NEW_SHA=%1
SET OLD_SHA=%2
SET DIFF_LIST=
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "usebackq" %%A in (`git diff --name-only --diff-filter=AM %OLD_SHA%..%NEW_SHA%`) DO SET DIFF_LIST=!DIFF_LIST! %%A
ENDLOCAL git archive <ブランチ名> --format=zip -o "xxx¥diff.zip" %DIFF_LIST%
差分ファイルをZIPで取り出す(コミットIDから現在[HEAD]の差分)
認証"wincred" 認証情報が[Windows資格情報]に保存される
[コントロールパネル]>[ユーザアカウント]>[資格情報マネージャー]の[Windows資格情報]で確認できる
変更なしとみなす git update-index --assume-unchanged [ファイル名]
[変更なしとみなす]のファイル一覧 git ls-files -v path | awk '/^h/ {print $2}'
リモートの情報見る(リモートが1つかどうかを確認するなど) git remote -v
最新化(作業ブランチに元ブランチの更新内容を取り込む) [ローカルで作業する]
1.リモートの最新情報を取得 git fetch
2-1.ローカルに[元ブランチ名]がない場合は作成
git checkout -b [元ブランチ名] origin/[元ブランチ名] 2-2.[元ブランチ名]がある場合は切替 git checkout [元ブランチ名]
3.[元ブランチ名]の最新を取得する
git pull origin [元ブランチ名]
4.[作業ブランチ]に切替
git checkout [作業ブランチ]
5.マージ(取り込み)
git merge [元ブランチ名]
6.競合がなければ、そのままリモートへ反映
git push origin [作業ブランチ]