サブコンテンツ
git用語
gitの設定
ステージの状態
ファイル/ディレクトリ管理
ログ表示
ログを表示する
$ git log
1つのコミットを一行で表示する
$ git log --pretty=oneline
1つのコミットを一行で表示する(短縮ハッシュ)
$ git log --oneline
履歴をグラフィカル表示する
$ git log --all --graph
コミット間の違いを見る
コミット1に対して、どのような操作をすればコミット2になるかを表示する。 $ git diff コミット1 コミット2 $ git diff コミット2 コミット3 -- ファイル名 ※特定のファイルのみの違いを見る
ブランチの操作
すべてのブランチの表示
$ git branch
ブランチの作成
$ git branch 新ブランチ [分岐元ブランチ]
※分岐元ブランチを省略した場合は、masterブランチとみなされる
ブランチの切り替え
$ git checkout ブランチ名
ブランチの表示
$ git branch $ git branch -v (コミット情報も表示する)
ブランチの削除
$ git branch -d ブランチ名
タグの操作
タグの作成
$ git tag タグ名 [コミット名]
※コミット名を省略した時はHEADにタグをつける。
タグの削除
$ git tag -d タグ名
注釈付きタグの作成
$ git tag -a タグ名 [コミット名]
※コミット名を省略した時はHEADに注釈付きタグをつける。
タグの表示
$ git tag
アーカイブの作成
tar.gzファイルの作成
$ git archive --format=tar --prefix=hogehoge-1.0/ \ <ブランチ名 or タグ名> | gzip > hogehoge-1.0.tar.gz
zipファイルの作成
$ git archive --format=zip --prefix=hogehoge-1.0/ \ <ブランチ名 or タグ名> > hogehoge-1.0.tar.gz
マージ
マージする
$ git merge ブランチ名
マージの中止(コンフリクト発生時)
$ git merge --abort
コンフリクト解消のためにファイルを編集してコミットする
$ git mergetool
早送りマージが可能な場合でも、3方向マージを行う
$ git merge --no-ff ブランチ名
コミットの取り出し
コミットにブランチを付けて取り出す
$ git checkout -b ブランチ名 コミット名
※コミット名には、ハッシュ値やタグを指定する
リモートリポジトリの操作
リモートリポジトリに名前をつける
$ git remote add リモート名 リモートリポジトリURL $ git remote add origin https://github.com/solimataro/hogehoge.git
※慣習的に上流リポジトリにはoriginという名前を付ける。
リモートリポジトリの表示
$ git remote -v
ブランチをプッシュする
$ git push リモート名 ブランチ名
追跡ブランチを見る
$ git branch -r $ git branch -r -v ※コミット情報も見る
リポジトリのクローンを取得する
$ git clone リモートリポジトリURL
追跡ブランチをローカルブランチに早送りマージする
$ git checkout master $ git merge --ff-only origin/master
※git checkout origin/masterだと、Detached HEAD(切り離されたHEAD)状態になる。
リモートの更新を直接ローカルブランチに反映させる
$ git checkout master $ git pull origin master
ローカルブランチの上流ブランチを設定する
(git pullで引数の指定が不要になる)
$ git branch --set-upstream 追跡ブランチ名 ローカルブランチ名 $ git branch -u 追跡ブランチ名 ローカルブランチ名
プッシュ時に上流ブランチを設定する
$ git push -u origin master ※以降、git pushだけでプッシュできるようになる $ git push
上流ブランチの表示
$ git remote show origin
広告
入門git(紀伊國屋書店)