Gitの森を歩く
Table of Contents
参考にしたもの https://git-scm.com http://dev.classmethod.jp/tool/git/hub/
Gitコマンド
リモートリポジトリの登録
git remote add origin <repository>
githubの場合
git remote origin git@github.com:kentakozuka/sample.git
リポジトリの登録を削除
git remote rm origin
リモートリポジトリのブランチへのプッシュと削除
<remote-repository>
リポジトリの<remote-branch>
ブランチに<local-branch>
ブランチをプッシュする
git push <remote-repository> <local-branch>:<remote-branch>
ブランチ名が同じ場合は省略可能
git push origin master
は以下と同じ
git push origin master:master
以下のようにするとorigin
リポジトリのsample
ブランチを削除できる
git push origin :sample
これは
git push origin <empty-branch>:sample
と考えればよい
フェッチ
トラッキングブランチを最新にする。 リモートブランチ(origin)から最新の情報を取ってきて、トラッキングブランチ(origin/master)を更新する
git fetch origin
マージ
(git checkout <branch-to-be-merged>)
git merge <branch-to-merge>
masterブランチにworkブランチをマージする場合
(git checkout master)
git merge work
マージコミットを残す
git merge work --no-ff
プル
リモートブランチからフェッチしてマスターブランチ(master)へマージする
git pull origin
以下と同じ
(git checkout master)
git fetch origin
git merge origin/master
ブランチを作成
git branch <new-branch> <original-branch>
現在いるブランチから新しいブランチを作成する場合
git branch <new-branch>
ブランチの削除
git branch -d <branch>
ステージングをキャンセル
git rm --cached ファイル名
diff
ブランチ間
git diff [ブランチ名A] [ブランチ名B]
インデックスと作業ディレクトリの差分
git diff
HEADとインデックス
git diff –cache
2つのコミット
git diff [COMMITID1] [COMMITID2]
ファイル指定
git diff [FILE]
コミット
コミットを新しい順に表示
git log
コミットの取り消し
3つの重要なオプション –soft コミットだけ
–mixed (デフォルト) コミットとインデックス
–hard コミット・インデックスに加え、ワークディレクトリの内容も書き換える
直前のコミットの取り消し
git reset HEAD^
直前のコミットに上書き
git commit --amend
#hubコマンド
hubコマンドをgitコマンドで使用できるようにする evalでhub alias -sが展開されてalias git=hubとなる
vim .bashrc
...
eval "$(hub alias -s)"
...
##アカウントの設定
GitHub の Settings の中にある Personal access tokens にて生成
---
github.com:
- protocol: https
user: <ユーザ名>
oauth_token: <トークン>
##hub pull-request cliからプルリクエストを作成する
hub pull-request -b <upstream-repo>:<branch> -h <downstream-repo>:<branch>
エディタが立ち上がる 1行目がタイトル 2行目は空白 3行目からが本文
vim fugitive
ステータスを見る
:Gstatus
差分を見る
:Gstatus
の一覧画面でD