1

git diffファイルをステージングする前に、すべてが正常であることを確認するためにを実行するのが好きです。差分を垂直方向にトラバースしている間、ステージングに「OK」である各ファイルのメンタルノートを作成します。特に長いdiffの場合、どれがOKかを追跡するのが難しいので、間隔を置いてdiffを終了し、できる限りステージングする傾向があります。これは少し面倒になります。

このワークフローを改善する方法はありますか?明らかに、そもそも差分を大きくするべきではありませんが、そのように機能しない場合があります(たとえば、多くのファイルで呼び出されるメソッドのメソッドシグネチャを変更するなど)。

たとえば、現在アクティブなgit diff「セッション」の「トップ」から現在のdiffの現在のポイントまで、すべてをステージングすることは可能ですか?このようにして、diffを終了したり、思考の流れを失ったりすることなく、ステージングを続けることができました。

4

3 に答える 3

2

これは、部分的な追加で行うことができます。

git add -p

それはあなたがファイルの異なる塊を通してあなたを連れて行き、あなたがそれぞれにふさわしいと思うようにあなたがステージングまたは無視することを可能にします。

于 2013-01-04T15:30:15.037 に答える
2

git add -p代わりに使用してみてください。それぞれの差分ハンクが表示され、それらを追加するかどうかを尋ねられます。

于 2013-01-04T15:29:59.370 に答える
0

使用する:

git add --interactive 

〜/ .bashrcでエイリアスを作成しました:

alias gi='git add --interactive'

gitadd-iを最大限に活用する方法を学びましょう。これは現在、私の日常のワークフローの一部であり、それは私がgitについて最も気に入っていることの1つです。:)

他の答えは、gitadd-iの他の素晴らしい機能を隠しています。

   -p, --patch
       Interactively choose hunks of patch between the index and the work tree
       and add them to the index. This gives the user a chance to review the
       difference before adding modified contents to the index.

       This effectively runs add --interactive,
       but bypasses the initial command menu
       and directly jumps to the patch subcommand.
       See “Interactive mode” for details.
于 2013-08-03T09:02:40.573 に答える