{"thread":{"id":"29212","subject":"Rewriting history and public-private-ish branches","startedAt":"2011-12-20T12:33:10Z","lastAt":"2011-12-21T12:58:26Z","messageCount":2,"participants":["Jay Levitt","Peter Krefting"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"181525","messageId":"4EF08086.6080606@gmail.com","threadId":"29212","inReplyTo":null,"subject":"Rewriting history and public-private-ish branches","fromName":"Jay Levitt","fromEmail":"jay.levitt@gmail.com","sentAt":"2011-12-20T12:33:10Z","receivedAt":"2011-12-20T12:33:10Z","isPatch":false,"sender":{"key":"jay.levitt@gmail.com","avatar":null},"body":"I frequently conflate git-as-version-control with git-as-deployer when I'm \nediting on my Mac but testing on a server.  I'll do things like...\n\n\nMac: checkout -b origin/topic-branch\nMac: make a major change, commit and push\nserver: pull\n[do while buggy]\n   server: discover a typo\n   Mac: fix the typo, commit and push\n   server: pull\n[end]\nMac: squash commits\nMac: checkout master\nMac: merge topic-branch\nMac: branch -d topic-branch\nMac: push origin :topic-branch\n\nAs long as I'm the only one who's seen this \"published\" history, am I doing \nanything bad? Do I leave any residue behind in the repo?\n\nJay Levitt\n"},{"id":"181573","messageId":"alpine.DEB.2.00.1112211356480.17957@ds9.cixit.se","threadId":"29212","inReplyTo":"4EF08086.6080606@gmail.com","subject":"Re: Rewriting history and public-private-ish branches","fromName":"Peter Krefting","fromEmail":"peter@softwolves.pp.se","sentAt":"2011-12-21T12:58:26Z","receivedAt":"2011-12-21T12:58:26Z","isPatch":false,"sender":{"key":"peter@softwolves.pp.se","avatar":"https://avatars.githubusercontent.com/u/990764?v=4"},"body":"Jay Levitt:\n\n> As long as I'm the only one who's seen this \"published\" history, am I doing \n> anything bad?\n\nI do things like that too, and as long as you know what you are doing, it \nusually works fine.\n\n> Do I leave any residue behind in the repo?\n\nAs long as you run \"git gc\" on the repos regularly, it shouldn't really \nmatter much. Your abandoned changes will be available through the reflog \nuntil that expires, and when that has happened \"git gc\" should remove them \nfrom the repositories altogether.\n\n-- \n\\\\// Peter - http://www.softwolves.pp.se/\n"}]}