githubに新規にプロジェクトを登録する
1.GithubにログインしてGUIからプロジェクトを作成する
2.登録
$ git init
$ git add .
$ git commit -m "init"
$ git remote add origin https://github.com/XXXX/XXXXXX.git
$ git push --set-upstream origin master
改行コードを自動変換させないようにする
git config --global core.autocrlf false
Windows+コマンドプロンプト:ログの文字化け対処方法
方法1
set LANG=ja_JP.UTF-8
方法2
git config --global core.pager "LESSCHARSET=utf-8 less"
対象ファイル又はディレクトリの履歴を表示する
git log -p {ファイル又はディレクトリ名}
ブランチの作成
git branch <ブランチ名>
作成したブランチをリモートにプッシュ
git checkout <作成したブランチ名>
git push origin <作成したブランチ名>
現在のブランチ確認
git branch
ローカル+リモートのブランチ確認
git branch -a
ブランチの切り替え
git checkout <ブランチ名>
ブランチの削除
git branch -d <ブランチ名>
ブランチ名変更
git branch -m <旧ブランチ名> <新ブランチ名>
差分ファイルの取得(削除したもの以外)
git archive HEAD `git diff --name-only --diff-filter=d ^HEAD <hash>` -o <ファイル名>.zip
※コマンドプロンプトで実行するとエラーが出る場合はmysys上でコマンドを実行する
ブランチBの内容をブランチAにマージする
git checkout <ブランチ名A>
git merge <ブランチ名B>
リモートのブランチを取り込む
git checkout -b <ローカルブランチ名> origin/<リモートブランチ名>
変更の取り消し1(add前) - 特定ファイル/ディレクトリ
git checkout <ファイル名 or ディレクトリ名>
変更の取り消し2(add前) - 全て
git checkout .
変更の取り消し(add後 + commit前) - unstage
git reset HEAD <ファイル名>
変更の取り消し(commit後)
git reset --soft HEAD^ // ソフトリセット(HEADの位置のみ戻す。ローカルファイルは変化しない)
git reset --mixed HEAD^ // ミックスリセット(HEAD位置.インデックス)
git reset --hard HEAD^ // ハードリセット(HEAD,インデックス,ワーキングツリー全て)
メモ
ファイル変更 > ワーキングツリーが変更される
add > インデックスが変更される
commit > HEADが進む
コンフリクト対処 - 一方の変更を採用する
1.一方の変更を適用する
・自身の変更を採用する場合(他方の変更は破棄する)
git checkout --ours <ファイル名>
・他方の変更を採用する(自身の変更は破棄する)
git checkout --theirs
<ファイル名>
2.add及びコミットする