

初心者です。  
GitHub上のコードを「自分の望む挙動かを確認し、自分のコードとどこが違うのかをdiffしたい」のですが、  
実行 & 比較をスピディーに手早く行う方法はないでしょうか？

◆流れ

・git clone (ローカル上にGitHub IDのフォルダを作成)  
・サーバー起動 (複数同時起動したいため、ポートを自動で割当て)  
・(ブラウザで表示 ← ここは手動でやろうかとも)  
・動作確認 (そのコードが望む挙動をしているか)  
・diffツールで自分のコードと比較

っといった形をやっています。  
アドバイスいただけると助かります。


CC BY-SA 4.0
2020-03-20T03:41:38.260
63987
2020-03-27T15:50:55.143
2020-03-20T05:47:41.203
3060
36257
question
github
GitHub上のコードの挙動確認・コード比較を手早く行いたい


  * ディレクトリ構造やファイル名が同じ
  * 行いたのは自分のリポジトリとの差分比較と他の人のソースのチェックアウト

であれば、他の人のリポジトリをリモートリポジトリとして登録することで目的は達成できそうです。

たとえばyukihaneという人のGitHub上のリポジトリ <https://github.com/yukihane/a-project.git> を
`yukihane-repo` という名前で登録

[code]

    git remote add yukihane-repo https://github.com/yukihane/a-project.git
    
[/code]

し、 取り込

[code]

    git fetch --all
    
[/code]

めば、

[code]

    git diff yukihane-repo/master
    
[/code]

で yukihane のコードと差分が見られますし、

[code]

    git checkout yukihane-repo/master
    
[/code]

でyukihaneのソースがチェックアウトできます(ので動作検証可能です)。  
その後、自分のコードに戻したい場合のコマンドは

[code]

    git checkout master
    
[/code]

となります。


CC BY-SA 4.0
2020-03-27T01:49:47.210
64143
2020-03-27T01:49:47.210
2808
63987
answer


> 自分のコードとどこが違うのかをdiffしたい

この目的のためには、  
私は WinMerge と組み合わせて [git difftool](https://git-scm.com/docs/git-difftool)
をよく使います。

C:\Users[ユーザ名].gitconfig ファイルに  
または C:\ProgaramData\git\config ファイルに

[code]

    [diff]
        tool = winmerge
    [difftool "winmerge"]
        path = 'C:/Program Files/WinMerge/WinMergeU.exe'
        cmd = 'C:/Program Files/WinMerge/WinMergeU.exe' -r -u \"$LOCAL\" \"$REMOTE\"
    
[/code]

の設定をして

[code]

    git difftool -d [commit] [commit]
    
[/code]

とやると、コミット間の 差分が 複数のファイル・ディレクトリで 確認できます。

また

[code]

    gitk [commit]...[commit] 
    
[/code]

コマンドを使うと、変更内容がグラフィカルに表示されるので、変更内容の追跡に便利です。


CC BY-SA 4.0
2020-03-27T15:50:55.143
64164
2020-03-27T15:50:55.143
18851
63987
answer