Git Fork is a simple process in GitHub and it does not require to use any git command. The process of Git Fork follows the below steps: Fork a Repository: User creates a copy of the repository to their own GitHub account, the steps for the same are covered in the next section. Homepage for Meld macOS port. Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems such as git, mercurial and others.
As a web developer, I usually work on a Mac at work, and on my Windows 10 PC at home.
This article descrieve how I mange to use the Windows Fork app from my WSL installation.
TL:DR
- From WSL edit your ~/.bashrc file
- Add the following alias:
alias fork='/mnt/c/Windows/System32/cmd.exe /c '%USERPROFILE%AppDataLocalForkFork.exe '$(wslpath -w -a .)'
- Save your changes.
- Restart the terminal, so the new alias become available.
How to use
- From WSL, navigate to a project folder that use git.
- Run the alias:
fork
. - On Windows, the Fork app will open an the project git will be selected for view.
Background
I use vscode and the integrated terminal to manage my projects (for example to run Gulp.js tasks).
And as I do prefer the Linux/Mac terminal better, I configured vscode to work with the WSL bash as default.
Now, and this is important, I made symbolic link between my Window installation Work
folder at C:Work
and my WSL installation at /home/ubuntu/Work/
folder.
This make super easy to work with any of my project, regardless if I'm working from Windows or from WSL.
Git Fork Mac App Download
The problem with Fork and WSL
One tool I like a lot is the free git client Fork.
While I usually use git from between the vscode, or from the WSL terminal, I like Fork the best to visualize and manage my projects git branches.
Fork is available for Mac and Windows, but not for Linux. :(
And as I configured vscode to use WSL as the default bash, I was unable to launch Fork from the terminal in the current working folder, as I regulary can on Mac or Windows.
Or that is what I thought, at first. :)
'wslpath' to the rescue
wslpath is a WSL tool that converts WSL paths to Windows paths.
And since I already created a symbolic link for my Work
folder under WSL, all what was left was just to find a way to launch Fork on Windows from the WSL terminal, and to pass the current working WSL folder path converted to a Windows path.
The first part was easy enough. You can launch any Windows app fro WSL using this command: /mnt/c/Windows/System32/cmd.exe /c [PATH TO THE WINDOWS .EXE FILE]
So to launch Fork I can use this command: /mnt/c/Windows/System32/cmd.exe /c '%USERPROFILE%AppDataLocalForkFork.exe
.
The Windows variable %USERPROFILE%
will be automatically replaced with your Windows User folder path (ex.: C:Usersyourusername
).
You can pass a path to Fork executable file to launch the app and to automatically open the git repository on that path.
On linux, the current folder path is represented by .
. But passing this to the Fork executable on Windows means nothing. I needed a way to convert this to a full and absolute Windows path.
And that is what wslpath does!.
So the final command looks like this: /mnt/c/Windows/System32/cmd.exe /c '%USERPROFILE%AppDataLocalForkFork.exe '$(wslpath -w -a .)
I added two parameters.
The -w
parameter translate from a WSL path to a Windows path.
And the -a
parameter force result to absolute path format.
The final step is to add this working command as a fork
alias on my WSL installation, on your [WLS] user .bashrc
file.
From your WSL installation, edit the ~/.bashrc
file and add the following line: alias fork='/mnt/c/Windows/System32/cmd.exe /c '%USERPROFILE%AppDataLocalForkFork.exe '$(wslpath -w -a .)'
The result is that I can use Fork transparently from. between my WSL installation. I love it!
Happy coding!!
hourglass_empty8min Read
Almost every development and software projects, commercial or personal, are now using Git for version control. In this article, we will explain what Git is at a glance and recommend the best Git GUI clients for various platforms.
- Git Clients for Linux
- Git Clients for Windows
- Git Clients for Mac
- Cross-platform Git Clients
What Is Git?
Git is a popular open-source version control system among developers. Originally, it was designed for collaborative projects between developers. Git is mostly used to store content and code in repositories.
The system also provides an environment where the code can be changed, with the revisions saved for future use. The repositories are stored in a remote server but are locally saved in every team member’s computers.
Git can be accessed and managed using command line tools. But if you’re new to Git, then you might want to start with something more manageable.
Graphical User Interface (GUI) clients are tools that provide alternative visualization for Git.
Check our in-depth explanation on Git if you need more information. To know about the best Git GUI clients for platforms such as Linux, Windows, and Mac, keep on scrolling.
Git Clients for Linux
Looking for Git GUI clients that work on Linux and choosing the one that is compatible for you can be time-consuming. To make it much easier, we’ve listed some for you:
1. QGit
QGit is a free Git GUI for Linux that can graphically show different branches and allows you to see patch content and changes in files. With this tool, you can view archive trees, file histories, revisions, and diffs.
You’re also able to compare files, and visually change modified content using QGit. Applying or formatting patch series from selected commits, and moving commits between two QGit instances are also possible.
You can use the same semantic of Git commits to create new patches and implement common StGit commands. Scripts and commands sequences can be connected to a custom action.
2. Gitg
The user interface of Gitg is straightforward to use. It can open existing Git repositories saved in your computer. You can download the software for free, and it has a GPLv2 license. Remote repositories can also be viewed using Gitg.
Gitg enables you to perform common Git operations, browse commits, and preview files. You can see commit messages, untracked and unstaged commits through the commit view.
The downside of this tool is that large files tend to load slower, and it doesn’t show a project’s history.
3. Git Force
Git Force is a visual front-end tool for Git that runs on Linux as well as Windows, and it’s free to download. This software will help beginners as the interface is intuitive with a drag and drop feature, and it can be used solely without calling a command line Git tool.
You can create multiple Git repositories and branches, managing them all using Git Force. The tool is able to support one or more remote repositories and can quickly scan local ones.
The work you do in a git repository will be picked up by Git Force on the first refresh. However, it only works on most common Git commands, and because of that, it doesn’t keep any detailed state information.
Git Clients for Windows
There are also Git GUI clients that work well on Windows platforms. We’ve picked the top ones for you:
1. Sourcetree
Sourcetree is a free Git GUI client and can work on both Windows or Mac. This tool is simple to use yet powerful, making it perfect for both beginners and advanced users. The clean and elegant interface makes it effortless and enjoyable to navigate through.
It’s a fully featured GUI that makes your Git projects efficient and easier. It can support large Git files and visualize it with detailed branching diagrams, making it easy for you and your team members to see the progress.
The local commit search allows you to find file changes, commits, and branches while the remote repo manager lets you search and clone remote repositories within Sourcetree. You can also get clear and clean commits with the interactive rebase tool.
2. GitHub
If your remote repository is at GitHub, then this tool will be the most useful for you. The software is basically an extension of your work-flow in GitHub. By simply login in using your GitHub account, you can start working on your repositories.
GitHub Desktop is a free and open source Git GUI client. It has an intuitive interface that allows you to manage code without you needing to type commands. You can make new or add local repositories and perform Git operations with ease.
Creating branches and switching to existing ones isn’t a hassle, so is merging code with the master branch. Furthermore, you can track your changes with GitHub Desktop.
3. Tortoise Git
Git App
This open source and free software is a Windows shell interface for Git. It can be used in a commercial environment and be developed to your own version as well. Tortoise Git can be used with other development tools and any type of files.
It supports regular tasks like commit, creating branches and tags, showing logs, and so on. The tool is straightforward to use as commands are accessible straight from Windows Explorer. The dialogs are descriptive, and you’re able to move files by dragging them.
There are tools such as TortoiseGitMerge that help resolve conflicts and lets you see the changes you made to your files. It has a spell checker to log messages and auto-completion for keywords and paths. It’s also available in 30 different languages.
Git Clients for Mac
For Mac users, no need to worry as there are developers who’ve created Git GUI clients that run on Mac. A few of the recommended ones are:
1. GitUp
GitUp is a Git GUI client specifically for Mac users. It’s free to download, open source, and comes with GitUpKit – a toolkit that lets you build Git apps. The tool is easy to use and allows you to see your branches and merges clearly.
If you’re new to Git, GitUp offers a safe environment for you to learn and experiment. The interface is clutter-free, and it has a Live Map feature that lets you see your project’s progress without refreshing. Plus the Undo and Snapshot features enable you to change and record your steps.
Speed is one of the best things when it comes to GitUp. Not only it can load 40,000 commits in less than a second, but you can also instantly search for commits, branches, and tags in the repository. Git operations can’t get any quicker either since the tool is fully featured.
2. GitBox
This GIt GUI client has claimed that working with Git commands and operations can be easy as checking your mail. Well, it’s true since the tool allows you to commit, pull, and push code changes with one click.
With GitBox, you can automatically retrieve new commit from your server, avoiding merge commits and conflicts. You can also search for commits in the repository history by author or description.
Adding and undoing commands such as branch reset, cherry picking, and rebase is pretty straightforward as well when using GitBox.
You can download the software for free, and it’s also available on the Mac App Store with a license for $14.99. If you’re a student, you can get a 50% discount by scanning your student ID.
3. GitX-dev
GitX-dev is a free Git client for Mac, designed and created to be a first-class, maintainable tool for active developers. The tool is specialized for software developers, and it’s full-featured for most Git work-flows.
You can browse your repository history and view a nicely arranged diff of any revision. Plus you will also be able to see a complete tree of the revisions.
You can copy files by dragging them out of the tree and dropping them into your system or preview them with QuickLook.
Changes can be searched based on the author or subject. GitX-dev supports large repositories and all parameters of git-rev-list as well.
Cross-platform Git Clients
If you’re looking for Git clients that are all-rounders that can run in Linux, Windows, or Mac platforms, we’ve compiled a list below:
1. GitKraken
GitKraken is not only reliable, efficient, visually nice and stylish to use, but it also makes git operations understandable and enjoyable. Its interface is intuitive as it allows users to quickly perform basic actions, and has a drag and drop feature.
What is more, you can easily fix mistakes with one click.
The tool has a built-in code editor where you can start a new project and edit the files directly in GitKraken. Plus it lets you track your tasks as it can sync with GitHub in real time, organize tasks in the calendar view, and mention team members to notify them about updates.
The software is free for non-commercial use. But there are GitKraken Pro and Enterprise for business owners to use as well. Each cost $4.08/month and $8.25/month respectively.
2. SmartGit
Just like its name, this powerful Git GUI client has a smart interface that looks and works the same across different platforms.
It has a single-view feature where you can see your index, working tree, and commands all in the Log window.
The tool lets you compare or merge files and edit them side-by-side. It can resolve merge conflicts by using the Conflict Solver. SmartGit also provides SSH client, an improved rebase performance and Git-Flow that allows you to configure branches without additional tools.
It integrates with popular Git platforms such as GitHub and BitBucket, making collaborative pull requests and code reviews easier.
The software is free to download. For commercial use, you can purchase a SmartGit license in a single payment ‒ $129 for a year to $319 for a lifetime or subscribe monthly for $8.99.
3. Git Cola
Git Cola is a simple yet powerful Git client that was developed using Python, and it’s free to use. The interface is made of multiple tools that you can hide and rearrange to your needs. The four panes of the interface allow you to view separate aspects of your project.
It also has Git-Dag, a Dag visualizer for commits and branches and the list of keyboard shortcuts is useful for an efficient and quicker work-flow.
Moreover, Git Cola will remember your work layout and restore it back to how it was the next time it’s launched.
Other than supporting custom GUI settings, the tool has language settings as well. Since Git Cola is open source, the tool is easy to maintain and update.
4. Aurees
Aurees is a multi-platform Git client that is simple and fast to use, plus free to download. Its interface is intuitive and clean. The tool aims to provide a smooth environment for users to view, edit, and publish Git files.
You need to log in to your GitHub account to use it.
Aurees shows commit and merging changes in side by side windows, making it effortless for you to trace back and resolve conflicts quickly. Tags are color coded so that you can navigate through the repo with ease.
With Aurees you can get an idea of which team member make what changes as it allows you to explore all documents. You can also indent merge commits to see line numbers or differences when comparing documents.
Conclusion
Git has become a necessity when it comes to managing collaborative development projects. However, it also has a high learning curve. Therefore, to make it easier for newcomers, developers have created Git Graphical User Interface clients for various platforms.
Let’s look back at the list once more,
Linux Git Clients:
- QGit ‒ hassle-free Git GUI for Linux and it doesn’t cost a dime.
- Gitg ‒ you can view your repositories and it allows you to do common Git operations.
- Git Force ‒ beginners in Git can make use of this tool as it has an intuitive interface and it’s free to download.
Windows Git Clients:
- Sourcetree ‒ great for newcomers and experts in Git. A powerful tool, yet free and simple.
- GitHub for Windows ‒ a Git GUI where you can work on your project, visualize and track the workflow of your GitHub repositories.
- Tortoise Git ‒ an open source and free Git GUI for Windows, straightforward to use and can be used with other development tools.
Git Fork Mac App Shortcut
Mac Git Clients:
- GitUp ‒ a safe environment to learn Git and experiment with. It’s also free, fast and easy to use.
- GitBox ‒ free for non-profit use and makes working with Git as easy as checking the mail.
- Git-Xdev ‒ designed to be a top and maintainable Git GUI. It’s free and full-featured for most workflows.
Git Fork Mac App Installer
Multi-Platform Git Clients:
Download Git For Mac
- Git Kraken ‒ has a free version, reliable, makes Git understandable, and visually appealing.
- SmartGit ‒ the interface is smart looking indeed and easy to use, free to download for non-commercial use.
- Git Cola ‒ a free, simple yet powerful Git client that makes work-flows quick and efficient.
- Aurees ‒ an easy to use free Git GUI client that enables users to work on Git operations effortlessly.
Fork Git
Enjoy going through the list and have fun checking them out. Good luck in finding the right Git GUI client for your project!