別のブランチフィーチャ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. Git masterブランチから別のブランチにフォルダをコピーします
- 5. git-svn svnブランチからsvnブランチを作成する
- 6. 複数のブランチを結合し、gitのブランチ数を減らすにはどうしたらいいですか?
- 7. 別のブランチに基づくgitブランチの作成
- 8. Git:マージ競合を無視して、マスターにブランチを作成することは可能ですか?
- 9. ブランチ内のファイルを無視する
- 10. gitコピーがあるブランチから別のブランチに変わる
- 11. git pushクロスブランチ、あるブランチから別のブランチへコミットをフェッチ
- 12. githubネットワークビューで表示されたgitの無名ブランチを削除するには
- 13. Gitは別のブランチ
- 14. gitのブランチ内にブランチを作成する
- 15. git - 作成されたブランチのファイルが変更されました。
- 16. このブランチはどのgitブランチからチェックアウトされましたか?
- 17. Gradleが別のgitブランチでファイルを作成するのはなぜですか?
- 18. gitでブランチを別のブランチにリセットするには?
- 19. あるブランチで作成されたファイルは、別のブランチで赤で表示されます。
- 20. gitブランチが新しく作成されたブランチを表示しないのはなぜですか?
- 21. svnブランチからtemp git repoを作成するには
- 22. Gitはトラッキングのない別のブランチからブランチを開始します
- 23. GIT:ブランチを切り替えるときに無視されたファイルを保持する方法は?
- 24. SVN:ブランチからブランチを作成し、トランクにマージする
- 25. Gitブランチを削除する
- 26. 生成されたファイルをトランクからブランチにマージする
- 27. 時代遅れに作成されたブランチのGit rebase
- 28. Git - 1つのブランチからファイルを削除する方法
- 29. 特定のブランチから新しいブランチを作成しないようにするためのGitフック
- 30. Git - ブランチが別のブランチにマージされたかどうかを確認するには?
あなたは 'コミットされていないファイルをstash'しようとしたことがありますか? https://git-scm.com/docs/git-stashを参照してください。コミットされていないファイルを使用せずに新しいブランチを作成することができます。 –
これらのファイルは別のブランチ(機能1)でコミットされました。 – Stanislav
フィーチャ1の変更をフィーチャ2に含めることを望まない場合、フィーチャ2をブランチフィーチャ1から作成するのはなぜですか? masterからfeature2を作成するだけで、feature1のものは含まれません。 – lucash