Git
Gitでよく使うコマンドまとめ
前提
GitHubやGitLabなどにリモートで接続されていること
GitHubなどのリモートのリポジトリにローカルgitを同期
git remote add origin [リモートリポジトリ情報]
設定
$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com
セットアップ
$ git init
状態確認
$ git status
コミット
$ git commit -am "Commit name"
-a
:ワークツリーで変更済みのファイルをコミットする(「git add」コマンドによる操作を省略
ただし、初回のみ管理対象を決めるためにgit add
コマンド操作が必要
-m
:""内の文字列をメッセージとして設定可能
プッシュ
$ git push
ログ
$ git log
ログがある程度以上長い場合は,qキーを押して終了
ブランチ
ブランチ作成
$ git checkout -b branch_name
-b
:新しいブランチ作成
ブランチ一覧
$ git branch
master
* branch_name
「*」は現在使用中のブランチ
ブランチ移動
$ git checkout branch_name
ローカルのブランチをリモートにも追加
$ git push --set-upstream origin branch_name
リモートに既にブランチが存在している場合は必要ないはず
マージ
$ git checkout master
Switched to branch 'master'
$ git merge branch_name
branchNameをmasterにマージ
マージの取り消し
マージ後、まだコミットしていない場合
$ git reset --hard HEAD
マージ後、既にコミットした場合
$ git reset --hard ORIG_HEAD
pull
リモートの変更をローカルにも反映
$ git pull
rebase
fast-forward(変更履歴を一本化)
rebase前
1-2ー3-4-5-6-master
l-7-8-9-branch_name
===>
rebase後
master-7-8-9-branch_name
1. rebaseしたいブランチに移動しrebase
$ git checkout branch_name
$ git rebase master
2. Conflict(競合)したファイルを手動で変更
3. 全て完了したら、addで追加してcontinue
$ git add <Conflictした/path/to/ファイル名>
$ git rebase --continue
4. 再びConflict(競合)が起こったら2.に戻る
5. 全てのrebaseが完了したら,以下でpull・もしくは強制push
$ git pull
### 以下の強制pushの場合は上記のpullと6.の工程はスキップ可能
$ git push -f
6. 最後に、いつものリモートにpush
$ git add .
$ git commit
$ git push
tag
tag付けることで、バージョン指定した状態をzipダウンロード可能となる
$ git tag 1.0
$ git push --tag origin master
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:{GitHubアカウント名}/{プロジェクト名}.git
* [new tag] 1.0 -> 1.0