2014-01-09 7 views
106

Git rebaseの後、とマークされたファイルがgit statusレポートので削除されていることがあります。誰が私たちとGitによると、なぜですか?Gitによれば、「私たち」とは誰ですか?

私はこのブランチに座っていて、それは私のために働いていますか?それとも、自分自身と、ブランチに取り組んでいる人々を指しているのですか? themとは対照的に、あなたは、usをマージ

+1

奇妙なことに、「削除された」と思われるのは、リベースしているブランチ上のファイルを削除したことを意味し、「私たちによって削除されました」は他の人々が削除したことを意味します。 'git merge'は反対のメッセージを返します。 –

答えて

128

はブランチがマージされるように、あなたにマージしている枝を指します。

rebaseの場合、usは上流ブランチを指し、themは移動しているブランチです。リベースの場合は直感的ではありません。

なぜなら、Gitはリベースに同じマージエンジンを使用していて、実際にあなたのものを上流のブランチにチェリーピッキングしているからです。 us =に、them =

+35

rebaseはマージマシンを使用しているので、実装の観点からは理にかなっています。 "ours"ブランチは上流ブランチ、 "theirs"ブランチはリベースされています。しかし、私はそれは、まあ、 "非常に役に立たない"という言い方は、それを置くための礼儀正しい方法のようだ。私は、「私/私たち」や「彼ら/彼ら」よりも、おそらくブランチ・ネームのようないくつかの言葉でラベル付けされたブランチを持っているでしょう。 – torek

+1

リベース時にチェックアウトを行うとき、私はいつも ' - theirs'と' --ours'を混同しがちですが、それは直感的です。私は彼らがこれをいつか修正することを願っています。 – iosdude

+0

'rebase'中にコミットを再注文したり潰したりするときなど、1つのブランチだけが関わっ​​たときはどうでしょうか? –

関連する問題