っGitコンセプトの"ステージ"
質問
もっヘッドに包まれたというコンセプトに開催することができます。にGit.
で任意工夫できSVN?何が第一の目的をステージレベルのGit?
解決
類似点:
リポジトリの一部であるべきファイルを追跡するために追加する必要があります。どちらのツールもadd
コマンドを使用してこれを実現します。ファイルを追加することは、コミットを準備することを意味します。
違い:
gitファイルを追加するときにさらに詳細な詳細を許可します。ファイル全体または異なるコード行を追加することを決定できます。 index または stage にファイルを追加すると、より柔軟性が得られます。 SVNは、すでにリポジトリに追加されているファイルのすべての変更を自動的にコミットします。 Gitは、各コミット操作との関連付けがユーザーに関連するものの決定を残します。言い換えれば、次の commit には、ファイルの追跡状況に関係なく、ステージングされた変更(行またはファイル)のみが含まれています。 SVNは自動的に追跡されたファイルのすべての変更を含みます。
追加情報:
Oliver Steele 。しかし、gitを使用する方法は の方法があることに注意してください - 多くはたくさんいます。必要に応じて、SVNを使用しているかのようにGITを使用できます。
短期間でgitの哲学を理解することを期待しないでください。それに入るために1年かかりました、そして私はそれを使う新しい方法を学びます。あなたがSVNの考え方で育ったならば、私はそれがさらに難しいと思います。記事、ビデオ、... - あなたの時間をかけてそれらのいくつかを試してください。これが私が収集したリストからの選択です。
- git Immersion
- (a)git のように考える
- git jit
- tekkub によって収集されたリンクと背景情報
他のヒント
ステージング領域の主な利点は、特定のファイルの変更の一部のみを簡単にコミットできることです。(例えば、git add -p
を使用してください。)わかりました限り、SVNの「部分的な」コミットを行う唯一の方法は、ファイルごとのレベルで、またはファイルを手動でバックアップしてから、しない変更を一時的に戻します。コミットしたい。
これはあなたが非常に組織化された開発者ではなく、事実の後に変更を整理することができるようにしたいのであれば素晴らしいです。これは、厳格性を強化するための柔軟性をあなたに与えることの好ましい一般的な態度に続く。必要ない場合は、必ずそれを使用しないで、git commit -a ...
を使用してください。
SVNがgitではなく、そのような概念を持っていないため、SVNで行われる類推はありません。
このシナリオを示の有用性を演出:
お仕事にとってかなりの数の変動向にご注意願います。きいコミットしてい試験の前にの全てのものです。これらの変化できるのに十分な独立した複数の論理する為の単一のモデルです。この場合にはステージ選択的部品や複数を設定します。
演出は特に役に立つデバッグしやすくなります。まふりかけをログに表トラックソースのバグを修正.その後の修正や試験に使っているものをログに記述です。もったいコミットの直前に変更をコードを削除する方のログを記述です。
他のシナリオであることが証明されたものがきにかく無関係のように誤字脱字誤り、したいので修正しく出ることができなければ、この方法です。
他にもあなシナリオがなければ、おそらくなることができるとともにこのコンセプト、ロサンゼルス生まれきし).
PS:っていないのに使用SVN全くできませんので、比較します。