gitatlassian-sourcetreesmartgitgit-guigiteye

git- GUI for Windows and Linux that enables checkout for specific files and all files in a commit


I have recently started using git for my workflow, but I am stuck with something.

Let me give you an overview of what I use git for. I work as a filmmaker; therefore, the files I use are mostly large files such as Premiere Pro and After Effects projects. Using Git LFS, I can version control these files.

The main commands I use in my day-to-day work are:

1) git add $file

2) git commit

3) git checkout $commit $file when I need to restore an older version of a file

4) git checkout $commit . when I need to restore the older versions of all the files in this specific commit without resetting or reverting, just restoring the files that were changed in this specific commit

Now, I am personally happy with doing that in the command line, as I am comfortable using it, since I have been using Linux for a couple of years now. However, some of my colleagues are not as comfortable using it, and it would be really helpful if I can find a GUI for git that works on both Windows and Linux (at least) where I can do the aforementioned commands.

On all the ones I tried, adding and committing are doable (obvious). However, checking out is another story.

In GitEye, the one I prefer the most for several reasons, I can't find any way to checkout a file or multiple files. I have tried looking online for any help without any luck. Now I have a feeling I might be missing something, so let me know if I am.

I also tried SmartGit. I managed to find a way to checkout one file from a commit, which is good. However, I couldn't find a way to checkout multiple or all files in one commit at the same time, which would be really annoying if, for any reason, I need to revert some files to a previous version, but I have other files that resetting or reverting will mean they will be deleted.

The only GUI that seems to be doing what I need is SourceTree, but the problem is it doesn't work on Linux and that is a must for me.

I even tried doing it in the git-gui, using the approved answer in this question: Reset a file in git gui

However, I couldn't get it to work for me. And even if I did, I was hoping to keep git-gui as a last-resort solution, because its basic interface might be as frightening to my colleagues as the command line.


Solution

  • I found the answer... Actually GitEye can do this.. If you right click a file, you can choose 'Replace With > Commit'.. It works on multiple files, and on the whole working tree as well.