11

私のワークフロー:

  • マスターからの分岐
  • 私のブランチで働き、頻繁にコミットする (100+)
  • ブランチでジョブが完了したら、マスターをブランチにマージし、すべての競合を解決します。
  • マスターにマージする前の CODE REVIEW TIME

CODE REVIEW では、2 つの頭の違いを示し、コミットを圧縮/整理する必要があります(約 5 つのコミットで)。このタスクに最適な GUI (クロスプラットフォーム?) は?

4

4 に答える 4

9

WindowsおよびMac用のSourcetree無料GitGUIは、これをサポートしています。

または、GUIなしで実行するには、次のコマンドを実行します。

 git rebase --interactive --autosquash

!squashで始まるコミットメッセージでコミットしたため(これらの中間コミットがほぼ同じタスクであった場合) 「GITチェックインのトリミング/GIT履歴
のスカッシュ 」を参照してください。

于 2011-10-08T07:32:04.467 に答える
2

「git diff」コマンドの出力は、「git difftool」コマンドを使用して GUI ツールに表示できます。

まず、必要な 'diff' コマンド: 'master' から分岐して以来、'mybranch' のすべてのコミットによって導入された累積差分を表示します。

git diff master...mybranch

また

git diff master...HEAD

これは、その間にマスターで発生したコミットを除外することに注意してください。これは、mybranch を確認している場合に必要になる可能性があります。

mybranch が現在のヘッドである場合、これは次のように省略できます。

git diff master...

Git は、「git difftool」を使用して、diff コマンドからの出力を約 8 つの既知の GUI ツールのリストの 1 つにフィードします。私は OSX で kdiff3 を使用しており、過去には Linux でも楽しく使用していました。必要に応じて 3 方向のマージを行うことができ、使用するハンクを選択するだけでなく、マージの出力を手動で編集できるため、私は kdiff3 を好みます。

最初に kdiff3 をインストールしてから、シンボリック リンクを PATH に追加します。私にとって、それは:

ln -s /Applications/kdiff3.app/Contents/MacOS/kdiff3 /usr/local/bin/kdiff3

次に、GUI 差分ツールとして kdiff3 を使用することを git に伝えます。

git config --global merge.tool kdiff3

次に、差分を表示します。

git difftool master...
于 2012-08-21T10:25:29.550 に答える
0

Eclipseは比較部分を行うことができます。プロジェクトを右クリックして選択できます

Team->Advanced->Synchronize With...->(branch you want to compare against)

これは、2 つのブランチ間の差分を示しています。ただし、gitも、私が知っているgit GUIも、IMHOがあまりにも悪いコミットの押しつぶしをサポートしていません。

だから私はやってしまう

git rebase --interactive HEAD~3 

(3つのコミットがある場合は、スカッシュしたい)。

于 2012-03-07T08:23:08.210 に答える
0

Linux では、git の 2 つのお気に入りの GUI はgitgmeldです。あなたのケースでコード レビュー用の正しい diff を取得するには、gitg を起動し、マージ元のマスターで最新のコミットを見つけます (重要なことに、最後にマージしてからマスターが進んだ場合に備えて、マスターの現在のヘッドに対して diff を実行したくありません)。 )。この SHA1 をコピーして、次の場所に配置しますgit difftool

git difftool -t meld <SHA1>

毎回メルドを difftool として指定する必要がないように設定するには、設定で設定するだけです。

git config --global diff.tool meld
于 2011-10-09T06:56:53.047 に答える