7

git diffAtlassian SourceTree デスクトップ アプリで逆方向に実行するにはどうすればよいですか? 言い換えれば、git diff b a代わりにSourceTree を実行するにはどうすればよいgit diff a bでしょうか?

たとえば、コミットペインでコミットがこの順序になっている場合:

  3333
  2222
  1111

3333 と 1111 を選択すると、1111 から 3333 への変更の差分 (つまりgit diff 1111 3333) が表示されます。

git diff3333 から 1111 への変更の差分 (つまり ) になるように、逆方向に実行するにはどうすればよいgit diff 3333 1111ですか?

(注: この質問は、一般的に git で行う方法ではなく、Atlassian SourceTree デスクトップ アプリでこれを行う方法に関するものです。)

これは、差分を表示するために SourceTree で 2 つのコミットを選択した場所を示すスクリーンショットです。

4

4 に答える 4

4

これは SourceTree では不可能です。

ここanswers.atlassian.comでこの質問をしたところ、アトラシアンの従業員から、反対方向の差分を行う機能は利用できず、コミット間の差分は常に「前方履歴」の順序で表示されることがわかりました。

いくつかの代替案:

  1. 別の外部 GUI 差分ビューアーを使用する


    -また-

  2. 古いコミット 1111 から新しいコミット 3333 の作業ツリーにファイルをコピーし、作業ツリーで差分を確認します。
$ cd {repo}
$ git diff --name-only 3333..1111 > /tmp/list_of_files_changed
$ git checkout 1111
$ mkdir /tmp/files_changed
$ cp --parents -pr $(cat /tmp/list_of_files_changed) /tmp/files_changed 
$ git checkout 3333
$ cp -pr /tmp/files_changed/* .
# (now look at the diff in SourceTree for the working copy)
于 2013-07-26T23:17:40.190 に答える
-3

書くとうまくいきます

# will display the additions as + and subtractions as -
git diff first second

# will display the additions as - (in red) and subtractions as + (in green)
git diff second first

これは、標準の git で問題なく動作するはずです。

于 2013-07-26T02:54:46.480 に答える