Fork 绝对是目前功能和交互最优秀的全功能的 Git 客户端,不仅免费,还非常多实用的功能,整体易用性已经达到很高的程度,下面就列举一些。


(本图片来自官网)

查看某个 Commit 所在项目的全部文件

选中一个 Commit 后,可以在软件下方的 Commit 区查看当前详细的 Commit 同时,查看其它同版本的文件。

比如想查看 Update client ui 这个提交记录的时候, public/index.html 是什么内容。

查看一个文件的历史版本,细节改变或者文件的所有内容


通过点击 File Tree 按钮,选择一个文件,右键可以看到 Show FIle History ,也是很方便的查看文件的历史。

如果是在命令行,则可以对应下面的命令:

# 文件 commit log
git log -- filename

# 文件 详细的修改
git log -p -- filename

# 使用 gitk 查看
gitk filename

精细到行的 Stage 和 Unstage


在右边鼠标移到修改区,会出现 Stage 和 Discard Changes 按钮。点击 Stage 会框选的两行代码放到 Staged Files 中,也就是放在了 git 的暂存区。如果点击 Discard Changes ,就会删除前面的两行修改,最后面的红色修改不会受到影响。
如果按住 Alt 键,就会把所有修改都放入暂存区。

查看 Stash 中的改变和 Commit 的位置


如图,在 master 分支上面可以显示当时在哪个分支上面 git stash 的。并且可以查看 Stash 的内容。

快捷的合并冲突


(本图片来自官网)
如果出现合并冲突,可以直接选择使用哪个文件,并且可以使用外部工具 Visual Studio Code 来处理,也是很方便。
如果是在命令行,对应下面的命令:

# keep remote files
git merge --strategy-option theirs
# keep local files
git merge --strategy-option ours

# keep the remote file
git checkout --theirs /path/to/file
# keep local file
git checkout --ours /path/to/file

自动 fetch 和专注某几个分支

在处理分支上面,会自动 git fetch 让本地仓库更新到最新,同时还可以只显示其中几个分支,简洁的了解一个分支的详细变化。

测试上一次的 Commit

如果没有推进远程分支,可以通过 git reset HEAD~1 撤销上一次的 Commit,在有些时候还是挺好用的。

常用快捷键

打开快速选择分支 ⇧ + ⌘ + O
Stash ⇧ + ⌘ + S
Discard Stashes ⇧ + ⌘ + D

更多细节上的功能可以自行去探索一下。
Fork 是两个开发者在业余时间开发的软件,Dan Pristupov 负责 macOS 版本使用 Swift 开发,Tanya Pristupova 负责 Windows 版本使用 WPF 开发,其软件的专业程度已经超过很多同类付费软件了。

官方网站:https://git-fork.com/


本文也发布在少数派中 Fork for Mac and Windows(Git 客户端)


  • 于 2019-06-14 更新撤销功能。