I'm new to version control so please excuse if this question is very basic.
From my understanding GIT is a code version control. we develop a lot of windows applications whose final releases are either .exe or .dll files.
my question is simple how does one handle the final releases of the exe's and dll's? do we use the git repository and keep the .exe/.dll files with the source code when we make a release? or git is not the right tool to manage the versions of the final .exe/.dll files and do we need something else?
how do other organizations handle this? if we need some other application for this what is a simple workflow to handle code version control and final releases of these applications?
Git LFS can be used when you want to version large files, usually, valuable output data, which is larger than Github limit (100Mb). These files can be plain text or binaries.
Git LFS is a Git extension used to manage large files and binary files in a separate Git repository. Most projects today have both code and binary assets. And storing large binary files in Git repositories can be a bottleneck for Git users.
Uploading files larger than 10 GB will result in an error. Use the Git LFS extension with a repository to speed up the handling of large files. Use the Git Large File Storage (LFS) extension with an existing Bitbucket Cloud repository. Use the bfg-repo-cleaner utility to change the Git history of a repository.
You could keep them stored in git. But I would not put them in the same repository as your source code. You want that repository to be fast. You could link the exe/dll repository to the source one via submodules and that would tie them together. (Good point in the comments below about this)
I usually don't bother "versioning" them like that but keep a back up of all artifacts produced that made it to production.
Some like to use git as the delivery mechanism to move DLLs and EXEs to production.
Hope this helps.
No, version control software isn't normally used to manage binaries. Don't do it unless you're using external libraries or the like in your project. Release binaries are usually archived elsewhere (and backed up).
Technically, the source code in the version control is tagged every time a major or a patch release is made. If in the event the archived binaries are lost, you can always go back to this state and re-create the binaries by recompiling.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With