UE4GitPlugin is a simple Git Source Control Plugin for Unreal Engine
It has been integrated by default in UE4.7 in "Beta".
This is a developement fork to be able to develop a "v2" of the plugin alongside the existing git plugin inside currents version of the engine.
Have a look at the Git Plugin Tutorial on the Wiki.
This Git Source Control Plugin is now part of the default Unreal Engine 4.7
Written and contributed by Sebastien Rombauts (sebastien.rombauts@gmail.com)
- initialize a new Git local repository ('git init') to manage your UE4 Game Project.
- create an appropriate .gitignore file as part as initialization
- can also make the initial commit
- display status icons to show modified/added/deleted/untracked files
- show history of a file
- visual diff of a blueprint against depot or between previous versions of a file
- revert modifications of a file (works best with UE4.15 "Content Hot-Reload" experimental option)
- add, delete, rename a file
- checkin/commit a file (cannot handle atomically more than 50 files)
- migrate an asset between two projects if both are using Git
- solve a merge conflict on a blueprint
- show current branch name in status text
- Sync to Pull (rebase) the current branch if there is no local modified files
- Git LFS (Github, Gitlab, Bitbucket), git-annex, git-fat and git-media are working with Git 2.10+
- Windows, Mac and Linux
- Branch/Merge are not in the current Editor workflow
- Fetch/Push are not in the current Editor workflow
- Amend a commit is not in the current Editor workflow
- Revert All (using either "Stash" or "reset --hard")
- configure user name & email ('git config user.name' & git config user.email')
- the Editor does not show deleted files (only when deleted externaly?)
- the Editor does not show missing files
- missing localisation for git specific messages
- displaying states of 'Engine' assets (also needs management of 'out of tree' files)
- issue #22: A Move/Rename leaves a redirector file behind
- renaming a Blueprint in Editor leaves a tracker file, AND modify too much the asset to enable git to track its history through renaming
- file history show Changelist as signed integer instead of hexadecimal SHA1
- standard Editor commit dialog ask if user wants to "Keep Files Checked Out" => no use for Git or Mercurial CanCheckOut()==false
Windows:
Quick demo of the Git Plugin on Unreal Engine 4.12 (preview)
Under Windows 64bits, you could either:
- install a standalone Git, usually in "C:\Program Files\Git\bin\git.exe".
- or copy a portable Git inside "/Engine/Binaries/ThirdParty/git/Win32".
See also the Plugins official Documentation
This alternate "Git development plugin" needs to be installed into a subfolder or your Game Project "Plugins" directory:
<YourGameProject>/Plugins
You will obviously only be able to use the plugin within this project.
Load your Game Project, then open:
File->Connect To Source Control... -> Git: Accept Settings
See also the Source Control official Documentation
Copyright (c) 2014-2017 Sebastien Rombauts (sebastien.rombauts@gmail.com)
Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt or copy at http://opensource.org/licenses/MIT)
The most efficient way to help and contribute to this wrapper project is to use the tools provided by GitHub:
- please fill bug reports and feature requests here: https://github.com/SRombauts/UE4GitPlugin/issues
- fork the repository, make some small changes and submit them with independent pull-requests
You can also email me directly, I will answer any questions and requests.
The source code follow the UnreaEngine official Coding Standard :
- CamelCase naming convention, with a prefix letter to differentiate classes ('F'), interfaces ('I'), templates ('T')
- files (.cpp/.h) are named like the class they contains
- Doxygen comments, documentation is located with declaration, on headers
- Use portable common features of C++11 like nullptr, auto, range based for, override keyword
- Braces on their own line
- Tabs to indent code, with a width of 4 characters