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.
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.