gitコマンドの吐き出しを始める前に、私はGitを初めて使用するため、TortoiseGit(現在はv1.7.11.3)でWindows7-64ビットを使用しています。
私のDEVブランチは現在のリモートマスターよりも古く、DEVを更新して、競合を解決します。
DEVブランチはコミットをリモートDEVブランチにプッシュしているため、rebase
不可能です-私が理解しているように。
なぜこの動作が発生し、どうすれば回避できますか?
Checkout master
(ローカルマスターに切り替えます)Pull origin master
(競合なし)Checkout DEV
(開発ブランチに切り替えます)Merge master
(ローカルマスターの変更をローカルDEVブランチに適用します)- 競合と
commit
変更されたファイル(自動マージされたファイルと修正された競合ファイルの両方)を修正します
開くlog
と、コミットウィンドウのように「親1」ファイルと表示されなかった「親2」ファイルが表示されます。これは奇妙な部分です。(ローカル/リモートが同じ)マスターが削除したファイルが追加され、新しいファイルが削除されます。さらに、「親2」ファイルは、いくつかの必要
があるにもかかわらず、競合を生成しませんでした!
新規/削除されたファイルは、私が期待したものとは逆に機能します。何故ですか ?
ファイルがマスターで新しく、DEVブランチにマージする場合、マージ後にそのファイルが存在することを期待しています。
私の推測では、DEVブランチはプライマリと見なされ、DEVにマージするブランチ(マスター)ではないと考えられます。
Revert
削除されたファイル(実際にはマスターで新しいファイル)を再作成するために使用するオプションがありません。