2012-03-06 6 views
4

私はPULLを実行したときに何が起こったのかを実験している新しいGITユーザーです。私がPULLをするとき。GIT:どのような変更も自動的にマージされることを避けてください。最も明白な変更もあります

私が見たことから、2つの変更が互いに競合しない場合(たとえば、ファイルの先頭に1つ、ファイルの最後に1つなど)、差分は自動で解決されます私の部分への介入。 OTOHの場合、たとえばコードの同じ行にある場合は、KDIFF3エディタを使用して手動で解決するように求められます。

GIT/KDIFF3が自分の会社で働く方法は、GIT/KDIFF3に自動的にマージさせたくありません。言い換えれば、GITが変更を解決できないときに出てくる同じダイアログが、すべての変更に当てはまることがわかります。最も明白です。

同じ制御の流れの中でこれを行うことができる設定やオプションなどがありますか? (PS - 私はちょうどフェッチを行う場所を試しましたが、何が起こっているのか分かりませんし、むしろそれを避けたいと思います。)

多くのおかげです。 -Steve

+0

git pull --no-commitを探していますか? –

答えて

0

git fetchを使用すると、マージは行われません。このリンクを参照して、プルとフェッチの違いを確認してください。 http://blog.mikepearce.net/2010/05/18/the-difference-between-git-pull-git-fetch-and-git-clone-and-git-rebase/

編集:あなたの投稿の最後の部分を読んでください。私は、それが何をするように設計されているかのように、マージせずにプルを行う方法は知らない。マージを避けたい場合は、フェッチが唯一の選択肢だと私は信じています。

EDIT2:私は個人的にこれを試していないが、次のブログ記事は、あなたが求めているものを合わせているようだアプローチがあります:私は実行した後で、あなたはどうしたら信じているあなたのケースではhttp://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/

を、 fetchを実行すると、マージしたいブランチとフェッチしたブランチの間でdiffを実行します。次に、変更された個々のファイルをチェックアウトし、好みに合わせてコミットします。私はこのプロセスが面倒であればお詫び申し上げますが、マージ中にファイルが変更された場合にダイアログをポップアップさせる方法はわかりません。

+0

返信いただきありがとうございます!したがって、フェッチを行う場合は、ファイル間の違いを(手動で)解決するにはどうすればよいですか? – Steve

+0

手伝って謝罪する必要はありません! :)それでは、CHECKOUTは何ですか?私は現在バージョン管理国(MKS)の市民です。「チェックアウト」とは、ファイルをMKSリポジトリから(GIT用語を使用して)プルすることです。変更することができ、ファイルを自分の名前にロックします。私のチームの他の誰かがファイルをチェックアウトしようとすると、そのファイルが私にロックされていると伝えられます。その後、私が完了すると、私はファイルをチェックインし、変更は(再びGIT用語を使って)プッシュされ、私のロックは取り除かれます。だから、GITチェックアウトはMKSチェックアウトと共通して何かを持っていますか?ありがとう! – Steve

+0

gitはファイルをロックしないので、gitのcheckoutにはMKSと共通の機能はありません。チェックアウトは主にブランチの切り替えに使用されますが、個々のファイルをチェックアウトすることもできます(安定した状態に戻すときは個人的にチェックアウトするだけです)。ファイルをロックする必要はありません。各開発者は、開発マシンにリポジトリのコピーを持っています。プッシュとプルを使用して、更新されたコードを共有します。私はあなたが最終的にgitが設計されていないものを達成しようとしていると思います。希望が助けてくれる! – jtiger

関連する問題