From: Steffen Prohaska Date: Sun, 05 Aug 2007 19:56:37 GMT Subject: Re: How to figure out what 'git push' would do? Message-ID: <515E28B6-85AF-4379-870A-CFECF19B74DE@zib.de> In-Reply-To: <20070805173340.GA3159@steel.home> On Aug 5, 2007, at 7:33 PM, Alex Riesen wrote: > Steffen Prohaska, Sun, Aug 05, 2007 13:37:34 +0200: >> How can I check what a 'git push' would do, without >> actually doing it? >> >> Is there something like 'git push --dry-run', similar >> to 'rsync --dry-run'? > > No. It is often safe to just do git-push, unless you have naive > developers doing pull every time some ref in your shared repo changes > *and* expecting the result to compile (typical for CVS way of work). > git-push will not overwrite anything, it always only forwards history. > > For the case you really want to know what the changes on remote repo > will be it is possible to fetch them into the local repo first and > compare with what you will push: > > $ git fetch git://remote/path/REPO master:refs/remotes/REPO/master > $ gitk local..REPO/master > > It gives you all possible information, which may be worth that bit of > work. Or, if you have all the remote configuration ready, it can be > just: > > $ git fetch > $ gitk local..REPO/master > That applies only for a single branch. If I prepared a couple of branches for pushing and somehow want to double check what I prepared, 'git push --dry-run' would be quite handy. I know how to handle the situation and could write a custom script that does all necessary checks. But I haven't found an out-of-the-box solution for double checking right before 'git push' Steffen