Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

using git to keep exes and dlls?

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?

like image 776
asif-007 Avatar asked Oct 04 '11 06:10

asif-007


People also ask

When should you use Git LFS?

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.

Can Git store binary files?

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.

How does git handle large files?

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.


2 Answers

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.

like image 80
Adam Dymitruk Avatar answered Sep 22 '22 08:09

Adam Dymitruk


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.

like image 23
jman Avatar answered Sep 21 '22 08:09

jman