title: Git and binary files history
body: <p><sup>This is a follow up on some similar "<em>answered</em>" questions about <a href="https://stackoverflow.com/questions/4697216/is-git-good-with-binary">git handling binary files</a> and how <a href="https://stackoverflow.com/a/6797099/274502">git can't follow file history very well</a>.</sup></p>
  
  <p>So, <em>git can't properly follow file history</em>. Heck, even <code>git log --follow -M100% --name-only -- path-to-my-file</code> won't do it, and I'm <a href="https://stackoverflow.com/questions/3520023/how-does-git-track-history-during-a-refactoring/3520055#3520055">supposedly</a> telling it to only follow files that are 100% similar!</p>
  
  <p>Then <a href="http://git.661346.n2.nabble.com/Directory-renames-without-breaking-git-log-td837434.html" rel="nofollow noreferrer">we are supposed to use other ways</a> to find who to <em>blame</em>, such as <em>bisecting</em>. Problem here is: those doesn't seem to work with binaries. And <a href="https://groups.google.com/forum/?fromgroups#!topic/git-version-control/07oWjHiQTtg" rel="nofollow noreferrer">accodring to Linus</a> we are unlikely to get a <code>git log --follow</code> fully working any time soon.</p>
  
  <p>In the end <strong>my question here is</strong>:</p>
  
  <p>Do we have any automated way to enable some kind of <code>git log</code> to follow renamed / moved binaries?</p>
  
  <p>Or maybe is there any similar <em>Version Controlling System</em> but with this functionality?</p>
  
  <p>As an example of a kind of solution, I would accept some safe and simple way of <a href="https://stackoverflow.com/questions/5656404/git-move-files-in-history-too">using <code>filter-branch</code></a>, but I never toyed with it and got no idea how dangerous it might be. Would we be able to pull and push without issues after issuing such a procedure? Can we easily revert it? Can we track the old names / references without reverting? You know, in a versioning system access to history is everything.</p>