別のブランチフィーチャ1から新しいブランチフィーチャ2を作成すると、masterとマージされなかったフィーチャ1の変更されたファイルも含まれます。 feature1とfeature2の変更を分ける方法はありますか?別のブランチからGitブランチを作成し、結合解除されたファイルを無視するには?
答えて
ブランチフィーチャ2を「このブランチを比較するときにフィーチャ1からの変更を表示しない」とマークすることはできません。これが可能だった場合、feature2をマージするときに問題が発生します。feature1からの変更がマージされます。この場合は、マージされますが、diffには表示されません。または、フィーチャ1の変更がマージされず、フィーチャ2がそれらの変更に基づいている場合に問題につながります(フィーチャ1で追加された新しいファンクションがフィーチャ2で呼び出されるなど)。あなたはまた、これらの変更を確認するためにコミットごとに差分を見ることができる-p
オプションを追加することにより
git log ^feature1 ^master feature2
:あなたが特長2の一部が、特長1のもマスターのでもないすべてのコミットを表示することができますしかし
。あなたが望むものに思える
これは 'git log'では動作しますが、' git diff'では動作しません。 'git diff^feature1 master feature2'はあなたが思っていることをしません。実際には、 'feature1'で特定されたコミットと' feature2'で指定されたコミットを区別して、 'git diff feature1 feature2'を実行します(' feature1'と 'master'を実行するかもしれません。実際のテストケース私はちょうどメモリから行く)。理由はhttp://stackoverflow.com/q/38648906/1256452を参照してください。 – torek
ありがとう、私のテストケースがgit diffの問題を見るには単純すぎるようです。私は答えからその部分を削除し、 'git log'の使用法に減らしました。 – lucash
はそうfeature1
からコミットを紹介しませんfeature1
前master
にfeature2
をマージ、それはmaster
にしてfeature1
の両方にある最新のコミットにfeature2
をオフに開始することです。あなたは見つけることgit-merge-baseコマンドを使用してこれを行うことができる2つの支店で共有する最新のコミット:
git checkout -b feature2 $(git merge-base --fork-point master feature1)
- 1. Git:後で結合解除された結合ブランチでの作業
- 2. ブランチを作成し、gitで別のブランチをリセットするには?
- 3. Git - 別のブランチからブランチを作成する
- 4. コミットされた履歴のない別のブランチからブランチを作成する
- 5. Git:ブランチを切り替えるときに無視されたファイルを残す
- 6. GIT:別のブランチをチェックアウトするときに、無視されたファイルをクリアしたい
- 7. Gitは1つのブランチから別のブランチにファイルを移動する
- 8. Git masterブランチから別のブランチにフォルダをコピーします
- 9. 私のブランチからスパンしたgitブランチをマージするには?
- 10. git-svn svnブランチからsvnブランチを作成する
- 11. 複数のブランチを結合し、gitのブランチ数を減らすにはどうしたらいいですか?
- 12. 別のブランチに基づくgitブランチの作成
- 13. Git:マージ競合を無視して、マスターにブランチを作成することは可能ですか?
- 14. ブランチ内のファイルを無視する
- 15. Visual StudioのGitでブランチを作成したブランチを知るには?
- 16. gitコピーがあるブランチから別のブランチに変わる
- 17. git pushクロスブランチ、あるブランチから別のブランチへコミットをフェッチ
- 18. githubネットワークビューで表示されたgitの無名ブランチを削除するには
- 19. Gitは別のブランチ
- 20. gitのブランチ内にブランチを作成する
- 21. このブランチはどのgitブランチからチェックアウトされましたか?
- 22. git - 作成されたブランチのファイルが変更されました。
- 23. Gradleが別のgitブランチでファイルを作成するのはなぜですか?
- 24. gitでブランチを別のブランチにリセットするには?
- 25. masterブランチから別のブランチ(以前masterから作成したブランチ)への変更をgit-tfsのルートにプルする方法
- 26. あるブランチで作成されたファイルは、別のブランチで赤で表示されます。
- 27. gitブランチが新しく作成されたブランチを表示しないのはなぜですか?
- 28. svnブランチからtemp git repoを作成するには
- 29. ブランチから別のブランチにすべてのファイルを渡す
- 30. Gitはトラッキングのない別のブランチからブランチを開始します
あなたは 'コミットされていないファイルをstash'しようとしたことがありますか? https://git-scm.com/docs/git-stashを参照してください。コミットされていないファイルを使用せずに新しいブランチを作成することができます。 –
これらのファイルは別のブランチ(機能1)でコミットされました。 – Stanislav
フィーチャ1の変更をフィーチャ2に含めることを望まない場合、フィーチャ2をブランチフィーチャ1から作成するのはなぜですか? masterからfeature2を作成するだけで、feature1のものは含まれません。 – lucash