2010-12-15 13 views
23

空白の変更を表示せずにgithub.comでコミットを表示する方法はありますか?githubで空白を変更しないでコミットします

コンソールから表示する方法はありますか?コミット(ツリー)を見て、すべての空白の変更をローカルに無視しますか?

私はTracを広く使用しています。私はIgnore White space changes(チェンジセットビューにあります)のようなものを探しています。このため

+0

https://gist.github.com/xPaw/de6ee132a2e267ef6960:コミットの空白の変更を無視するためのボタンをGitHub UIに追加します。 –

答えて

60

追加?w=1差分を見せているし、それが空白を無視する任意のgithub.comページのURLへ:ここでは今のために働くべきものです。 this blog postを参照してください。

+5

これは以前は動作していましたが、もう私のためではありませんでした。 –

+2

私はちょうどテストし、それは私のために働いている、おそらく彼らは固定 –

+0

うわー!すごい、それを知らなかった:)共有ありがとう!あなたのようなコミュニティとメンバーの皆様への感謝+1 – SGhosh

20

あなたは(のgitのdiffのコマンドのいずれか)、コマンドラインで使用できるオプションのトリオがあります:

  • --ignore-space-at-eolがEOLで空白の変更を無視します。
  • -b, --ignore-space-change空白の量の変更を無視します。これは、行末の空白を無視し、1つ以上の空白文字の他のすべてのシーケンスが等価であるとみなします。
  • -w, --ignore-all-space行を比較するときは空白を無視します。これは、ある行に空白があり、他の行に空白がない場合でも、その違いを無視します。

githubがこれらのオプションを使用して何かを実装したとは思いません。

それは何
jQuery.expr[':'].hasX = function(obj) { var $this = $(obj); return ($this.find('.x').length && $this.next().find('.x').length); }; jQuery('.data tbody tr:hasX').toggle().next().toggle(); 

:ページをコミットのソースHTMLに見た後、私はgithubのは、以下のoneliner可能にする「X」CSSクラス...純粋な空白文字の変更をマークすることを

+1

質問に対する修正をお願いいたします。 –

+20

https:/ /github.com/blog/967-github-secrets - URLに?w = 1を追加すると、空白を無視したdiffを見ることができます。 – Alexander

+1

残念ながら、?w = 1は改行文字を無視していないようですが、 –

0

を見つけましたコミットテーブルのすべての行を実行し、与えられた行とそれ以降の行に ".x"要素がある場合は行を非表示にします。

はここで完全なJSです:

// create new selector 
jQuery.expr[':'].hasX = function(obj) { 
    // cache 
    var $this = $(obj); 
    // whether this and next line do have '.x' element as child 
    return $this.find('.x').length && $this.next().find('.x').length; 
} 

// select all rows and hide (ones containing "-") 
jQuery('.data tbody tr:hasX').toggle() 
// hide the ones after selected (ones containing "+") 
    .next().toggle(); 
1

悲しいXの事がなくなって、前のスニペットと一緒に役に立たないレンダリングされます。

var i, e, tr, tdL, tdR, textL, textR, text = function (el) { return el.parentNode.children[2].children[1].children[0].textContent.replace(/\s/g, '').substr(1); } 
for (i = 0, e = document.getElementsByClassName('gd'); i < e.length; ++i) { 
    tr = e[i].parentNode.parentNode.parentNode; 
    if ('&nbsp;' !== tr.children[1].innerHTML) { continue; } 
    tdL = tr.children[0]; 
    tdR = document.getElementById(tdL.id.replace(/^L(\d+)L/, 'L$1R')), 
    textL = text(tdL); 
    textR = text(tdR); 
    if (textL === textR) { tdL.parentNode.style.display = tdR.parentNode.style.display = 'none'; } 
} 
+0

ありがとうございます。 –

関連する問題