Hi all!
I’ve been working on a Git Plugin for the past two weeks
I’ve already mention this on the Feedback for Epic: Additional Source Control providers support thread, but I figured I would get some more attention here from other developers…
So here I am, with a UE4 Git Plugin released!
Edit: This is now quite mature, having been there for a few years, but still in development for new features like LFS 2 file Locks.
Please, read carefully the detailed instruction on Read-me & Website, and report any issue or limitation not already described there.
I’ve also started a Wiki page
Thanks for reading, waiting for your comments!
SRombauts
edit: Someone else wrote a Wiki tutorial to get you started on your project
edit: some screenshots from my Github project page:
Git Source Control Login screen:
Source Control status tooltip, when hovering the Source Control icon in toolbar:
Source Control top Menu, extended with a few commands specific to Git:
Submit Files to Source Control screen:
Git File History screen:
Visual Diffing of two revisions of a Blueprint:
Merge conflict of a Blueprint:
Status Icons:
Supported features (v2.6 for UE4.18)
-
initialize a new Git local repository (‘git init’) to manage your UE4 Game Project
-
can also create an appropriate .gitignore file as part of initialization
-
can also create a .gitattributes file to enable Git LFS (Large File System) as part of initialization
-
can also enable Git LFS 2.x File Locks as part of initialization
-
can also make the initial commit, with custom multi-line message
-
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 “Content Hot-Reload” experimental option of UE4.15, by default since 4.16)
-
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
-
Configure remote origin URL (‘git remote add origin url’)
-
Sync to Pull (rebase) the current branch if there is no local modified files
-
Push the current branch
-
Git LFS (Github, Gitlab, Bitbucket), git-annex, git-fat and git-media are working with Git 2.10+
-
Git LFS 2 File Locks
-
Windows, Mac and Linux
What cannot be done presently
- Branch/Merge 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’)
- Authentication is not managed if needed for Sync (Pull)