ah, more git pedantry ... as a demo of how one identifies and removes dangling commits, i created a teeny git repo, did one commit, then a "git commit --amend" to replace that earlier commit so, at this point, i have a technically dangling commit, which i can see with: $ git fsck --no-reflogs Checking object directories: 100% (256/256), done. Checking objects: 100% (4/4), done. dangling commit ee059991a18f2ce363883113675de2aa0018ed0f $ now i want to truly remove that dangling commit, but i see no variation of "git gc" to do that. even if i run $ git gc --prune=all that commit is not removed. apparently, i *can* use a variation of "git reflog" and "git gc": $ git reflog expire --expire-unreachable=now --all $ git gc --prune=now but is there no single invocation of "git gc" that will do it? will all invocations of "git gc" still take into account the expiration value associated with the reflog? rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ========================================================================