私はブランチBをブランチAにマージしています。 B/file1にいくつかのデバッグコードがある場合は、そのコードを "B"と "A"で同じにして、 "unstage"したいと思います。しかし、私はあなたがマージでステージングできないとは思わない。私は手でそれをやっているが、これは非常に時間がかかり、エラーになりやすい。基本的に、私は2つのブランチをマージし、マージにどのような変更が入るかを選びたい。コミットが多すぎるので、私はチェリーピックを使用できません。GIT:ブランチBをブランチAにマージしたいが、すべての変更をマージしたくない。 Aの相違点の一部をBにコピーしたいとします。
0
A
答えて
1
あなたが本当に(おそらく、私はそのシーケンサー機能を使用して、それにとどまる)チェリーピックに対して気にしている場合、このような方法かもしれない:
git merge --log --no-commit BranchB
git revert --no-commit BadCommit1 BadCommit2...
git commit
アイデアがマージを作成することです、その中の「悪い変化」を元に戻すことができます。技術的にはそれはあなたが必要とするものを正確に行います。しかし、あなたのケースの詳細によると、これは良いことかもしれません。の人々の期待は、通常、BranchBのすべての機能がすでにBranchAにあると想定しているためです。したがって、注意して使用してください。
1
私のためのゴールデンコマンドは、git rebase -i HEAD~<number>
経由のインタラクティブリベースです。この方法でgitの履歴を書き直すのはとても簡単です。あなたがしたくない
git checkout -b <temp-branch-name>
コミットをオフに削除します:
git rebase -i HEAD~<number-of-commits-backwards-you-want-to-go>
pick <commit-that-i-want>
pick <another-commit-that-i-want>
はあなたがどんなミスをするだけで包み、一時的なブランチを作成します。ここでは、あなたの特定のケースのための方法です
保存して、目的のブランチに切り替えて、一時ブランチをそのブランチにマージします。
git checkout <destination-branch> git merge <temp-branch-name>
関連する問題
- 1. コピー/ aとコピー/ bの違い
- 2. a.compareTo(b)がcompareTo(a、b)またはa.method(b)= method(a、b)と等しいのはなぜですか?
- 3. サブフォルダAをsvnからgitに移動しましたが、AはSVNでBという名前でした
- 4. Git:マスターを新しいブランチにマージしてマスターをクリアする
- 5. [:] = bとa = b [:]の違いは? (Python)
- 6. R - A、B、*に最も近い* C *のデータフレームをマージしますか?
- 7. a = return bを返したら、a = bですか?
- 8. GIT - マージ後にブランチが閉じない
- 9. サブブランチのトランクにブランチをマージした後、そのブランチを削除しますか?
- 10. gitのブランチとマージ
- 11. 任意のマージされたブランチに対してgit diffを取得します。
- 12. プログラミングでKleeneの星。 (a | b)*とa * b *の違い?
- 13. Git:ブランチで行われた変更のみをマージする
- 14. あなたはマージしたいブランチを教えてくれません。
- 15. git commitをブランチにマージした人はどうですか?
- 16. ハスケル: `Map(a、b)c`と` Map a(Map b c) `の違いは?
- 17. if(a-b <0)とif(a <b)の違い
- 18. これは正しいですか? TortoiseHgを使用したMercurialの安定したブランチとデフォルトのブランチのマージ
- 19. ブランチで作業していたので、変更したファイルの一部だけをトランクにマージするにはどうすればいいですか?
- 20. Git - マージに失敗した後にブランチに戻す?
- 21. double a = a + int bとint a + = double bの違いは何ですか?
- 22. 現在のブランチですべての変更を行い、Gitの新しいブランチに移動します
- 23. '(a b c)と(a' b 'cをリストする)の違いは何ですか?
- 24. 2つのブランチをマージして行った変更を元に戻す方法
- 25. svn:ファイルがリビジョンAから古いリビジョンBに変更されましたか?
- 26. マスターにマージ(ブランチなし)
- 27. 新しいブランチをマージするためのgitワークフローと自動マージを止める方法は?
- 28. いくつかのディレクトリへの変更を除外しながらgitブランチをマージする
- 29. Git:小さな、しかし非常に古いブランチをマージするには?
- 30. A = A + Bは新しいメモリを割り当てますか?
私はしばらく前にマスターを分け、定期的にマスターを自分のブランチにマージしていたとしましょう。ブランチから最新のコミットを選び、それをマスターにマージすれば、そのすべてのコミット、あるいは最後にコミットされた変更だけがありますか? –
最初のステートメントでは、開発ブランチにいる間に、新しいコミットの下にあるすべての更新をマスターから取り除くので、単に更新するときに 'git rebase master'を実行することを強くお勧めします。 2番目のステートメントについては、「<コミット数 - 後方へ - あなたが行きたい>>」は、その距離よりも後ろのものすべてが含まれることを意味します。 – mattbrosenberg