問題タブ [git-merge]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - GIT で p4merge を使用して、選択したマージの競合を解決する
GIT で p4merge を使用して、選択したファイルの競合を解決する方法はありますか?
25 の競合があり、各開発者が各競合を解決する必要があるとします。開発者が「git mergetool」を実行すると、セットアップされた p4merge が最初の競合から始まります。この競合はその開発者とは関係がない可能性があるため、開発者が Unix から呼び出される p4merge ツールを使用して特定の競合ファイルを解決できる方法を探しています。
または、GIT が $BASE $LOCAL $REMOTE のバージョン/コミットを表示して、p4merge の GUI モードでこれを使用して競合を解決できるようにする方法はありますか。
git - 2つのブランチがgitにマージされないようにする方法はありますか?
ブランチに同様のコンテンツが含まれている場合でも、誤ってマージされないように、2つの別々のブランチをgitリポジトリに保持できるようにしたいと思います。
ブランチをgitで分離したままにするためのトリックはありますか?それは、私がブランチAとブランチBを持っていると仮定すると、のようなものgit merge B //assuming A is checked out
は失敗します。
ここで懸念が生じたのは、開発中のWebサイトのリポジトリを作成する際に、マスターブランチのHEADが常に安定したWebサイトの現在の状態である必要があるためです。
必要に応じて、開発ブランチからトピックブランチを外して、開発ブランチで開発コミットを行う必要があります。
マスターブランチと他のブランチが誤ってマージされる可能性がほとんどないことを確認する必要があります。
そこで、マスターブランチとのマージの間に「このマージはサイトで公開されます。本当に実行しますか?」と尋ねる方法を探しています。そして、私がマージを確認した後にのみ、それは実行されます。
このシナリオは、実行するためにコンパイルする必要のないコードを使用するWeb開発者にのみ関連し、ライブインストールで安定したWebサイトのコピーをプルする可能性があると思います。
git - GIT 1 つのファイルで 2 つ以上のマージの競合 - p4merge はどのように処理しますか?
- GIT p4merge - 同じファイルに 2 つ以上の競合があります
p4merge を GIT と統合しましたが、この状況に一度遭遇しました。
マージの競合があるファイルがあります。ファイル foo.c には、3 つの異なるコード行 (最初の行に競合があり、途中のいくつかの行に競合があります) でマージの競合があります。
競合の最初の行 (競合の他の行ではなく) を解決して保存すると (p4merge の [保存] ボタンを使用して)、インデックスに foo.c が追加され、コミットすると、git によってエラーが発生せずにコミットできるようになります。または、同じファイル内の競合する他の行を解決するための警告。
これは GIT または p4merge の問題ですか? ファイルに競合する他の行があることをGITが警告またはエラーにする必要があると思います。しかし、それはコミットするだけです。
- GIT で特定のファイルをマージする
私が持っている他の質問は、特定のファイルをマージするために開発者を送ることができるコマンドはありますか? git mergetool を実行すると、すべてのマージ競合が 1 つずつ開かれますが、代わりに、この選択したファイルをマージできる clearcase のような方法はありますか?
git - git サーバーへの単純なマージのプッシュをブロックする
しばらく前に、開発者に をプッシュする前にマージの代わりにリベースを使用するように依頼しました。些細なマージをなくすことで、コミット グラフ (例: gitk、git log) を追跡しやすくなります。
ときどき、うっかりマージしてからプッシュしてしまう人がいます。些細なマージをブロックするサーバー側のフックを作成するための便利な情報やヒントを持っている人はいますか?
「些細なマージ」とは、競合のないマージを意味します。ここに例を示します。これは、git での単純なマージのより良い説明です。
Update Wed Nov 10 01:26:41 UTC 2010 : すばらしいコメント、すべて! ありがとうございました。
- 次のことを考えてみてください。私が皆さんに本当にお願いしているのは、これだけです。
git pull --ff-only
失敗した場合は、git pull --rebase
代わりに行うgit pull
- git.git にはコミッターが 1 人か 2 人しかいませんよね?理論的には、コミット グラフをたどるのは簡単なはずですが、かなり面倒に見えます。
更新 Thu Nov 11 23:49:35 UTC 2010 :
- ここにいくつかの進行中の作業の要点があります
- 別のアイデアは、「git push」ラッパーを使用して、クライアント側での些細なマージを防ぐことです
Update Wed Dec 15 18:34:52 UTC 2010 :
- アディミトラックが近い!ただ 1 つのケースがまだ解決されていません: 重要なマージはまだ機能する必要があります。
- かなり完全なテスト スイートが利用可能です。チェックしてみてください。
- (the?) git mailing listで助けを求めました。
git - チェックアウトなしでブランチをマージする
どちらのブランチもチェックアウトせずに、ブランチを別のブランチにマージする方法はありますか?たとえば、ブランチ'master'をチェックアウトしましたが、masterを離れずにbranch-aをbranch-bにマージしたいと思います。
git - 今すぐgitcherry-pickを使用しますが、後で変更をマージします
私には2つのブランチがあり、一方から変更を選択して、もう一方に移動したいと思います。後日、2つのリポジトリをマージすると、コミットIDは異なりますが、内容は同じになるため、チェリーピックはどのような影響を及ぼしますか。
git - GIT でファイルの競合の一部を解決する
議論したいシナリオは、開発者がマージの競合を解決するために cd する共有リポジトリであるマージ リポジトリがあることです。
- 1 つのファイルに 2 つ以上のマージ競合があります。
- 各競合は別のユーザーで解決する必要があります。
- 各開発者がこのリポジトリに cd して、マージの競合を解決します。
- foo.cに3つのマージ競合があるとしましょう
- 1 人のユーザーが foo.c の単一の競合を解決し、グラフィカル マージ ツールに保存します。
現在、GIT はこれを「git add」として認識しますが、ファイルの他の部分にはまだ競合があります。次に、別の開発者が「git mergetool foo.c」を実行しても、競合のために foo.c がポップアップしません。
この問題を解決するグラフィカル ツールはありますか。複数のユーザーが競合を解決して同じファイルに保存できるようにします。
git - Git:マージを「元に戻す」方法
状況:私が分岐したマスターから始めて、A
いくつかの変更を加えてからB
、その分岐をにマージしました(C)
。さらにいくつかの変更を加えた後D
、ブランチで発生した変更なしでコードをデプロイする必要があることがわかりました。私がそれを手でマージしなかったら、それは大丈夫だっただろう。
まず、マージが発生しなかったかのようにコードをデプロイするために、ここから何をすべきかを知りたいと思います。注:ブランチで編集された同じファイルは、マスターで編集されていません。
第二に...
これに対処するための最善の方法を見つける時間がなかったので、ブランチが追加したファイルを削除し、ブランチで行われたいくつかの編集を手動で元に戻し、展開のために結果をコミットしました(F
)
ブランチの開発を続け、マスターからの変更をマージして最新の状態に保ちたいのですが、そうすると、作成したものF
がマージされてファイルが削除され、元に戻す編集。これに対処するための最良の方法は何ですか?
git - git ワークフロー: 特定のファイルが別のブランチにマージされるのを防ぎながら、バージョン管理下に置くことはできますか?
ライブとステージの 2 つのブランチを持つリポジトリがあります。リポジトリには、Web ベースのアプリケーションのコードが保持されます。ステージ ブランチとライブ ブランチ用に 2 つの異なる .htaccess ファイルを維持したいと考えていますが、ステージ サイトを提供する性質が少し異なるため、それらのバージョン管理は維持したいと考えています (たとえば、キャッシュのタイミングを合わせたいと考えています)。異なる)。
私はgitの初心者なので簡単な説明があるかもしれませんが、ライブで変更をプルしたときに(単純なgit merge stage
)ライブで既存の.htaccessを上書きしなかったワークフローが欲しいですブランチ。これを構成する方法はありますか? git に大きな概念がありませんか?
同様に、変更を追跡したいが、それらをライブにマージしたくない (おそらく多くの) .html ファイルのチャンクもあります。明確にするために、ライブとステージでこれらのファイルの変更を追跡したいのですが、マージを行うときにこれらの特定の変更をマージしないことを知っています。
git - Githubフォークから変更をプルイン
誰かが私のGithubプロジェクトをフォークし、いくつかの変更を加えました。変更をアップストリームバージョンにマージするにはどうすればよいですか?
また、特定のコミットだけを取り込むことは可能ですか?
私が探しているのは、ブランチ全体ではなく、特定のコミットをプルする方法があるかどうかです。