3D Animation - Git
Introduction to the "Git" Software
What is Git?
Git is a type of Version Control Software that is tailored to the needs of projects that are mostly text files. This tends to include most work done by programmers and software developers.
Git tends to have some overlapping functionality with Perforce.
Compared to other version control options, Git is much newer, and the preferred go-to in many industries. However, Git was designed with software developers and programming code in mind. This tends to mean projects that are heavy in text files, and relatively light in art/media assets.
As result, Git unfortunately tends to struggle a bit when dealing with projects with many large files , such as those commonly associated with art assets. By default, Git starts having performance issues when dealing with files larger than 50MB, and Git will actively error when dealing with files larger than 100MB.
There are ways around this, such as Git Large File Storage (LFS) . But even this can still have some limitations.
Benefits and Drawbacks Compared to Other Version Control Software
-
Benefits
-
Primary benefit is that Git is effectively free and (comparatively) easy to set up.
-
Git is also very commonly used across several industries, and thus very well documented.
-
Git has easily accessible, provided hosting options, such as through GitHub. GitHub can be used for both public and private projects, and the Git software has other easily accessible hosting options available as well.
-
This is in contrast to Perforce, which only has two options of "pay $30+ per user per month" or "have your own IT person to set up and host a private perforce server". Even then, the second option only works if dealing with small teams.
-
-
-
Drawbacks
-
Due to how it was designed, Git does not have very good support for "binary files", which includes images ( jpg / png ), movies ( gif / mp4 ), audio files ( mp3 / wav / ogg ), and many other similar file types which are common in 3D piplines.
-
Due to the above point, Git tends to not be very well supported in other 3D applications. For example, Unreal Engine has direct, built-in support for Perforce, but support for Git must be manually added via a third-party add-on.
-
-
Mixed
Good for some people, bad for others. Depends on personal preference.-
Git is a "Distributed Version Control" system, which means that any file can be edited at any point, by anyone who has access to the project.
Unlike some other version control options, there is no concept of "checking a file out." The drawback is that if two people edit the same file, then the changes need to be "merged together", which can be very difficult (if not impossible) to do with "binary" (aka art/media) type assets.
This can actually be fairly problematic for teams working in 3D pipelines.
-
Git Topics
None so far