Il giorno giovedì 10 settembre 2015 15:04:52 UTC+2, Konstantin Khomoutov ha 
> The simplest solution I can think of, which does not involve any tools 
> outside of Git (well, almost), is using the lesser-known fact Git's 
> object database is able to store arbitrary data -- not necessarily 
> bound to a commit. 

Simplest solution? As a new VCS user, it appears to me too complicated. 
Maybe I switch back to my previous manual copy&paste process to take care 
of sources and binaries.

* Just add the binary files to make a release commit and then 
>   immediately 
>   $ git rm --cached all those files 
>   afterwards. 
>   I dislike this approach precisely because it mixes the sources and the 
>   binaries, but pick whatever works for you.  If this would be the 
>   easiest path, just take it. 

Indeed it's simpler to me to understand. Even if it could be problematic if 
I forget the "git rm...."


> * Have a separate branch for binaries. 
>   After the release, save your binaries somewhere, check out that 
>   branch, copy your binaries over, add/remove changes, commit. 

I don't think I understood. Maybe it's simpler to make a commit of the 
final release tree, create a branch for the final release only, add every 
file I need (binaries) to the branch only and switch back to master.

git commit -a -m "Version 1.0 RC1"
git checkout -b v1.0-branch
del .gitignore
git add *
git commit -m "Version 1.0"
git tag -a v1.0 -m "Release 1.0 with binaries"
git checkout master

The only problem I see is I will have a different branch for each 
production release that isn't what the branching mechanism was thought for.

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
For more options, visit

Reply via email to