タグ付けされた質問 「branch」

「ブランチ」は、独立した開発ラインを表すためにバージョン管理システムで使用される用語です。システムによっては、リポジトリに1つ以上のブランチを含めることができます。変更があるブランチから別のブランチに伝播する必要がある場合、ブランチはマージされます。


3
すべての子を含むブランチのリベース
次のGitリポジトリトポロジがあります。 A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) リベースによってfeature枝を私は(子供の支店を含む)サブツリー全体をリベースすると予想さ: $ git rebase feature master A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) ただし、これは実際の結果です。 C' (feature) / A-B-F (master) \ D (feature-a) \ / C \ E (feature-b) 次のコマンドを実行すると、簡単に手動で修正できます。 $ git rebase …

4
Git:マージされたブランチからではなく、このブランチのコミットをリストする方法
gitのコミット履歴が次のようになっているとします。 A---B---C---D---E---F master \ / X---Y---Z topic マスター、AFのコミットのみをgitリストにすることは可能ですか?言い換えると、コミットがマージされたブランチで行われた場合、それを表示したくありません。

5
コミットをマージまたは追加せずに、ブランチbからaに変更を適用する
私のシナリオでは、ビルドプロセスに大幅な改善を加えたブランチ(ブランチA)と、無関係の機能に取り組んでいるブランチ(ブランチB)があります。ですから、ブランチBをハッキングしているときは、ビルドをより速く、より簡単にしたいので、ブランチAで書いたものを取り入れたいと思います。ただし、ブランチBを「汚染」したくはありません。ブランチAからステージングされていない変更に変更を追加するだけです。 私が試したこと(branchBに立っているとき): git merge --no-commit branchA マージ内に入るため、機能しません。そうでなければ、それは完璧でしょう。 git checkout branchA -- . 変更master..branchAではなくbranchA..branchB間の変更を適用するため、機能しません。 他に何か? 編集:はい、ブランチAの変更はコミットされます。この例では、ビルドが改善されたブランチは1つだけですが、機能ブランチでの作業中に適用したいビルドが改善されたブランチが最大N個ある場合があります。
89 git  merge  branch 

5
git機能ブランチを削除する適切なタイミングはいつですか?
82の機能ブランチがぶら下がってしまうことを望まないので、マスターにマージするとすぐに機能ブランチを削除することの潜在的な欠点は何であるか疑問に思います。 ワークフロー: git co -b feat-xyz hack hack git ci hack some more git ci git co master git merge feat-xyz smoke test git br -d feat-xyz ここに問題はありますか?

3
Gitでのマージを無視して、ブランチに対して直接行われたコミットを表示する
gitを使用する場合、マージによってもたらされたすべてのコミットを無視して、ブランチに対して行われたコミットを表示する方法はありますか? マージされた他のブランチで行ったコード変更を無視して、ブランチで行われたコード変更を確認しようとしています。そのような方法で差分を表示することはほぼ不可能ですが、できるようにしたいと思います。レビューする必要のあるコミットを見つけます。
87 git  merge  branch  diff 

8
Git:タグがどのブランチにあるかを知る方法は?
私は現在、多くのブランチがあるプロジェクトで忙しく、ブランチの1つで行われた最後の変更のタグを持っています。しかし、このタグがどのブランチにあるのかは私にはわかりません。 タグがどのブランチにあるかを知る方法は?
84 git  tags  branch 

3
Git-選択したファイルでマージの競合と手動マージを強制する方法
共通のマスターブランチと多数の並列ブランチ(インストールごとに1つ)があり、それぞれに特定の変更がほとんどないWebアプリケーションを維持しています。ソースコードはgitで管理されており、マスターブランチからパラレルブランチに機能やバグ修正を転送する必要がある場合に最適なツールです。しかし、機密性が高く、自動マージは通常悪い結果をもたらすファイルはほとんどありません。したがって、何らかの方法でマークを付けることができ、すべてのマージで競合が発生し、手動でマージする必要がある場合、マージははるかに簡単になります。 私は答えを探しました: 私が使用しています--no-コミットと--no-ffのマージオプションが、それは同じではありません。 こことここで誰かが同じ質問をしますが、解決策はありません。 同様のケースは、somefile.php merge = oursを含む.gitattributesを使用してファイルがマージされないようにする方法のようです。競合を生成したり、手動マージを強制したりするマージオプションを見つけようとしましたが、今のところ見つかりませんでした。 以下を含む.gitattributes:somefile.php -mergeが自動的にマージされることはないため、手動でマージする必要があります。これは90%の解決策ですが、私が求めているのは、自動マージを試して、成功したかどうかに関係なく、競合としてマークすることです。しかし、これはこれまでのところ解決策に最も近いものです。 (...説明してくれたCharles Baileyに感謝します...) 誰かが書き込みカスタムマージドライバ(にお勧め1、2)が、どのように行うには、それは私にははるかに明確からです。 編集:バリアント4。説明
83 git  merge  branch  conflict  manual 

1
現在のブランチ以外のブランチのログを印刷するにはどうすればよいですか?
私はいくつかの変更を加えたブランチにいます。一部のファイルはプロセスによってロックされているため、ブランチの変更は面倒です。ブランチを変更するには、ロックされているすべてのプロセスを停止してstashから、他のブランチをチェックアウトしてログを確認する前に変更する必要があります。 チェックアウトせずに、別のブランチのログを表示することは可能ですか?


4
Subversion:チェックアウト、変更、そしてブランチにすることはできますか?
トランクからローカルDIRにチェックアウトし、そこで多くのローカル変更を行いました。今はトランクにコミットしたくありませんが、このローカルバージョンからブランチを作成したいと思います。それは可能ですか? 私はちょうどブランチにトランクをコピーし、することができますcd DIRし、svn switch枝に? 更新:答えをありがとう、それはうまくいきました!手順を要約すると: cd DIR svn copy . new-branch-URL svn switch new-branch-URL . (ドットに注意してください)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.