以前に他の DVCS システムを使用したことがありますが、git は初めてです。ですから、意図したとおりに使用する方法について、間違った仮定をしていると思います。
私は自分の仕事の大部分を行うマスターと開発ブランチを持つ RepoA を持っています。しばらく前に、RepoA から RepoB のクローンを作成して「BigFeatureA」の作業を開始し、開発ブランチでもこれを行いました。私は BigFeatureA を使い終わっていませんが、最新のコードを使用して BigFeatureA の作業を続けられるように、複製を行ってから RepoA で行われたすべての変更を引き継ぎたいと考えています。(現時点では、RepoA では開発ブランチとマスター ブランチは同じですが、もちろん、そうでない場合もあります。) RepoB で動作する XCode を使用して、RepoA 開発ブランチからプルを行いました。競合があり、それを解決し、プル ボタンを有効にしてからプルを実行しました。
現在、RepoB では、持ち込まれたすべての変更は「コミットされていない変更」であり、ファイルには「M」または変更が表示されています。そのため、RepoA からはコミット メッセージなどは一切送信されず、ソースが変更されただけです。これは私が期待したものではありません。これは XCode の git ワークフローのバージョンですか、それとも git merge の仕組みですか?
私の最後のワークフローは、BigFeatureA が完了したときに RepoB を RepoA にプッシュすることでした。それを行うことと、他の方向に進むこと、つまり、RepoA にいることと RepoB からプルすることに違いはありますか?
(さらに読むと、おそらく RepoB に「BigFeatureA」ブランチを作成し、そこにある開発ブランチで RepoA からプルを実行し、次に BigFeatureA ブランチから開発ブランチにマージする必要があったことを示唆しています。ブランチとレポの間のマージ?)