More Related Content
PPTX
PDF
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー PDF
PDF
PDF
PPTX
PDF
What's hot
PDF
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料) PDF
PDF
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS PDF
PDF
PPTX
PDF
binary log と 2PC と Group Commit PDF
Common Lisp製のテキストエディタLemにフレーム多重化機能をつくった PDF
PDF
YugabyteDBを使ってみよう - part2 -(NewSQL/分散SQLデータベースよろず勉強会 #2 発表資料) PPTX
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料) PDF
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会) PDF
PDF
PDF
PDF
PPTX
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料) PPTX
Spring CloudとZipkinを利用した分散トレーシング PDF
Viewers also liked
PDF
PDF
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会 PDF
PDF
Tokyo.R #22 Association Rules PDF
コードを書きやすくしてくれる Xcode の基本機能 #NSStudy #devsap PDF
schoo x CONCENT「優れたUXを実現するための人間中心デザインとは?」 PDF
強化学習による 「Montezuma's Revenge」への挑戦 PDF
DRL challenge on Montezuma's Revenge PPTX
機械学習ライブラリ「Spark MLlib」で作る アニメレコメンドシステム PDF
PDF
KEY
PDF
PPTX
Docker1.13で変わったことをわからないなりにまとめてみた PDF
PDF
PDF
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜 PDF
PDF
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53 Similar to 5分で分かるgitのrefspec
PDF
PDF
PDF
PPTX
PDF
PPTX
PPTX
PDF
Gitを理解するためにおさえておきたい3つの図(工事中) PDF
KEY
PDF
PDF
Git & ブランチモデルで学ぶ バージョン管理入門 PPTX
PDF
GitHubの機能を活用したGitHub Flowによる開発の進め方 PDF
KEY
PPT
PDF
PDF
PDF
5分で分かるgitのrefspec
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
指定による挙動の違い
6
git fetch origin…
無指定
普通にcloneした場合、.git/configのremote.origin.fetchに
+refs/heads/*:refs/remotes/origin/*
というデフォルト値(*はワイルドカード)が設定されており、
これを指定したことになる。
つまりリモートリポジトリの全ローカルブランチを
ローカルの同名リモート追跡ブランチにそれぞれfetchする。
<以降、このデフォルト値は弄っていない前提で記述>
<ref> <ref>: と同じ。
<src>:
remote.origin.fetchの設定で対応する<dst>が決まる。
(デフォルト値なら同名のリモート追跡ブランチが<dst>)
対応する設定がない場合でもFETCH_HEADは更新される。
<src>:<dst>
<src>を<dst>にfetchする。
<dst>をリモート追跡ブランチにしたい場合は
hoge:refs/remotes/origin/hoge のように指定する。
- 21.
7
git pull origin…
無指定
fetch :git fetchと同じデフォルト値が使われる。
merge:カレントブランチが追跡ブランチであれば
.git/configのbranch.<name>.mergeに設定があるはず。
そこからカレントブランチに対して行われる。
(普通はリモートリポジトリの同名ブランチになっている)
<ref> <ref>: と同じ。
<src>:
fetch :git fetchの場合と同じ。
merge:<src>がカレントブランチにmergeされる。
refspecを複数指定した場合、
全<src>がカレントブランチにmergeされることに注意。
<src>:<dst>
fetch :git fetchの場合と同じ。
merge:同上。複数指定時も含め<dst>の指定は無関係。
指定による挙動の違い
- 22.
8
git push origin…
無指定
remote.origin.push の設定値が使われる。無ければ
push.default の設定(≠refspec)に応じた挙動となる。
push.default が明示的に設定されていない場合、
2.0以降だと「simple」が使われる。
いくつか種類があるため要理解。(ものによっては事故る)
<ref> <ref>:<ref>と同じ
: push.default = matching を指定した場合と同じ。
:<dst>
空の<src>を<dst>にpush、つまり
リモートリポジトリの<dst>ブランチを削除する。
<dst>に対するリモート追跡ブランチも消してくれる。
試した限りremote.origin.fetchの設定を見てるっぽい。
<src>:<dst>
ローカルの<src>をリモートリポジトリの<dst>にpush。
<dst>に対するリモート追跡ブランチにも反映(作られる)。
こちらも試した限り、remote.origin.fetchの設定を見て
リモート追跡ブランチだと判定しているっぽい。
指定による挙動の違い
- 23.
- 24.
- 25.