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

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


3
現在のブランチですべての変更を取り、Gitの新しいブランチに移動します
私は自分のマスターブランチのマイナーなバグ修正になると考えていたものに取り組み始めました。しかし、最初から開発を行うために別のブランチを作成したいところまで、それは制御不能になりました。 だから今私がしたいのは: (たとえば)「エッジ」という新しいブランチを作成する マスター上のすべての変更済み/追跡されていないファイルをエッジに移動します(マスターがバグ修正を開始したときから変更されないように) エッジで作業を終了し、マスターにマージします これどうやってするの?
105 git  branch 


5
コミットの並べ替え
私は現在ブランチに取り組んでおり、いくつかのコミットを他のブランチにマージしたいです: a-b-c-d-e-f-g (branchA) / --o-x-x-x-x-x-x-x-x-x-x (master) \ x-x-x-x-x (branchB) (文字はコミットを示し、「x」は関係のないコミットです。) しかし、いくつかのコミットをプールすることは良い考えであることに気づきました。a、d、e、gを1つのパッチに「連結」して、マスターにコミットしたい。コミットbとfは、branchBへの1つのコミットとして実行する必要があります。それを達成するための良い「git」っぽい方法はありますか?
104 git  branch 

5
gitでブランチ名を切り替える
この質問をする方法は複数ある可能性があるため、ここに問題の説明を示します。私はマスターに取り組んでいて、いくつかのことをコミットしてから、その作業を保留にしたいと思いました。いくつかのコミットをバックアップし、がらくたの仕事を始める前から分岐しました。実際にはこれで問題なく動作します。現在、メインの開発ブランチとして別のブランチがあります。どうすれば状況を変えることができるのか疑問に思っているので、もう一度masterに取り組んでいますが、ジャンク作業はなく、別のブランチにあると言っていました。 これを質問/解決できるいくつかの方法:マスターブランチの名前を別の名前に変更してから、別の名前をマスターに変更するにはどうすればよいですか?マスターをバックアップしてから、過去にバックアップしたすべてのコミットを別のブランチに置くにはどうすればよいですか? すべての(迅速な)回答をありがとう!それらはすべて良いです。
103 git  branch 

2
ブランチからすべてのコミットをプルし、指定されたコミットを別のコミットにプッシュします
次のブランチがあります。 master production および次のリモートブランチ: origin/master origin/production origin/masterブランチをフェッチし、最後のフェッチ(log -p master..origin/master)からの変更点の差分を取得するスクリプトがあります。その後、私はマージしorigin/masterます。 見つかったコミットはコードレビューツールにプッシュされます。 成功したコミット(そしてそれらのみ)を本番ブランチにプッシュし、次にもちろんにプッシュしたいと思いorigin/productionます。 どうすればできますか? また、2つのスクリプトを実行しています。1つはからフェッチしorigin/master、コミットの詳細をデータベースにプッシュし、マージします。もう1つは現在書いているスクリプトで、成功したコミットをプッシュする必要があります。 競合状態/マージの競合を回避しながら、これら2つのスクリプトを実行したいのですが。特定のコミットのみを操作したいので、不要なコミットを削除する方法があるのでしょうか?
102 git  branch 

3
2つのコミットを1つのコミットに組み合わせるにはどうすればよいですか?
2つのコミットを持つブランチ「firstproject」があります。これらのコミットを取り除き、単一のコミットとして表示したいと思います。 このコマンドgit merge --squashは有望に聞こえますがgit merge --squash、ターミナルを実行すると、コマンドのオプションが表示されます。正しいコマンドは何ですか? Commit 1: Added 'homepage.html' Added 'contacts.html' Commit 2: Added 'homepage.php' Added 'homepage.php' Deleted 'homepage.html' Deleted 'contacts.html'
102 git  merge  branch  git-svn  rebase 

4
git-flowに従って、以前のリリースの修正プログラムをどのように処理する必要がありますか?
ここで文書化されているgit-flow分岐モデルを試そうとすると、ここで説明さツール使用、この状況にどのように対処する必要がありますか。 1.0リリースと2.0リリースを作成しました。次に、1.0のホットフィックスを作成する必要があります。1.0タグからホットフィックスブランチを作成し、そこに修正を実装します。しかし、それではどうでしょうか。 通常は、マスターにマージし、そこに1.1リリースタグを配置します。しかし、マスターで1.1を2.0以降のポイントにマージすることはできません。 ホットフィックスブランチにリリースタグを置くことはできると思いますが、マスターの横に、リリースタグを含む永続的なブランチが作成されます。それは正しい方法ですか?
101 git  branch  git-flow  hotfix 

1
GitHubでブランチを視覚化する
TortoiseGit、gitk、またはBitBucketでは、次のように、すべてのブランチでプロジェクト履歴を視覚化するのが一般的です。 ただし、GutHubのコミット履歴はフラットなようです。少なくとも、この種のグラフを表示する方法を見つけることができませんでした。GitHubのWeb UIは、他のGitクライアントが一般的にできるように、ブランチを何らかの形で視覚化できますか?
101 git  github  branch 

12
継続的インテグレーションを行う場合の最良の分岐戦略は?
継続的インテグレーションを行う場合に使用する最適な分岐戦略は何ですか? リリースブランチ:トランクで開発し、リリースごとにブランチを保持します。 機能の分岐:各機能を別々の分岐で開発し、安定した場合にのみマージします。 これらの戦略の両方を一緒に使用することは理にかなっていますか?同様に、リリースごとに分岐しますが、大規模な機能にも分岐しますか?これらの戦略の1つは、継続的インテグレーションとうまくかみ合いますか 不安定なトランクを使用している場合、継続的インテグレーションを使用しても意味がありますか?

10
ファイルのチェックアウトなしでGitブランチを切り替える
Gitですべてのファイルをチェックアウトせずに別のブランチに切り替えることはできますか? ブランチを切り替えた後、すべてのファイルを削除して再生成し、コミットして元に戻す必要があります。したがって、ファイルのチェックアウトは時間の無駄です(そして、約14,000のファイルがあり、それは長い操作です)。 すべてを明確にするために: ドキュメントをGitHub にアップロードするには、これらすべてが必要です。 gh-pagesブランチのあるリポジトリがあります。ドキュメントをローカルで再構築するとき、それをリポジトリー・ディレクトリーにコピーし、コミットしてGitHubにプッシュします。しかし、ローカルに2つのドキュメントのコピーがあったため、満足していませんでした。そして、私は空のブランチを作成し、コミットした後、空に切り替えてファイルを削除することにしました。しかし、元に戻すのは時間がかかるので、この質問をしました。 gh-pagesブランチを離れてファイルを削除できることはわかっていますが、汚い作業ツリーは好きではありません。
100 git  branch  git-checkout 


2
Mercurialで移植片を使用した結果
最近、Mercurialでリリースブランチを維持するときに変更をスキップすることについていくつかの質問がありました。例えば: Mercurial:ダミーのマージ後、ブランチ固有の変更が引き続き返される あるブランチのMercurialバックアウトが他のブランチに影響を与えるのはなぜですか? これは2.0で導入されて以来、graftこの問題を回避するためにを使用することについて疑問に思っていました。次のようなリビジョンツリーがあるとします。 A---B---C---D---E---F---G---H---I---J 悪の変更をスキップするリリースブランチを作成する必要があるとしますE。 hg update -r D hg graft "F::J" 私たちに与える: A---B---C---D---E---F---G---H---I---J \ --F'--G'--H'--I'--J' Q1:ここで何が起こったのですか?私はそれが理解できるtransplantの外にパッチを生成しているだろうF::Jし、その後にそれらを適用しDますが、graftむしろパッチよりも3ウェイマージを使用すると言われています。それで……それはどのように機能しますか?なぜそれが良いのですか? 今修正しE、それをリリースブランチにマージするとします。 --E2----------------- / \ A---B---C---D---E---F---G---H---I---J---M1 \ \ --F'--G'--H'--I'--J'---------M2-- M1は単純なマージです。特別なことは何もありません。M2は、「同じ」(または少なくとも同等の)変更がオンになっているブランチをマージしています。 Q2:このマージは、通常の3ウェイマージ使用しているD、J'とM1? Q3:mercurialは、マージ操作に役立つ移植操作に関する追加情報を保存/使用していますか? そして最後に... Q4:このようなフローの潜在的な問題は何ですか?

3
gitシャロークローン(clone --depth)がリモートブランチを検出しない
リモートリポジトリのクローンを作成した後、-aオプションを指定してもリモートブランチは表示されません。何が問題でしょうか?デバッグする方法は?このスニペットでは、2つのリモートブランチは表示されていません。 $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git $ cd pythonwebkit $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master $ git --version git version 1.8.3.1 別のマシンで同じコマンドを試してみましたが、うまくいきます: $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git Receiving objects: 100% (186886/186886), 818.91 MiB | 3.44 MiB/s, done. $ cd pythonwebkit/ $ git branch -a …

2
追跡されたリモートブランチからの変更でローカルブランチを更新する
my_local_branchリモートブランチを追跡する' ' という名前のローカルブランチがありますorigin/my_remote_branch。 これで、リモートブランチが更新されました。「my_local_branch」を使用していて、それらの変更を取り込みたいと考えています。私はちょうどすべきですか: git pull origin my_remote_branch:my_local_branch これは正しい方法ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.