青江的个人站

“保持热爱,奔赴星海”

  • 主页
  • 目录
  • 图床
  • 留言板
  • -关于我-
友链 搜索文章 >>

青江的个人站

“保持热爱,奔赴星海”

  • 主页
  • 目录
  • 图床
  • 留言板
  • -关于我-

【保姆级教程】Git客户端Fork的基础使用


阅读数: 0次    2025-08-20
字数:1.9k字 | 预计阅读时长:6分钟

Fork是一个Git客户端,可以在可视化图形化界面中实现Git仓库的拉取、提交、推送以及分支的新建、合并等操作。

Fork还可以直接与Gitea账户进行连接,实现直接管理Gitea账户中的仓库。

Fork界面:

11

1. 下载安装

访问Fork官网Fork - a fast and friendly git client for Mac and Windows(https://fork.dev/),如果是Windows用户,点击“Download Fork for Windows”进行下载。

下载完成后,直接双击进行安装,安装过程将自动进行,不需要选择安装路径。

安装完成后,在弹出的配置界面填写用户名和邮箱,默认文件夹建议新建一个文件夹,用于存放所有从远端拉取下来的仓库。

后续也可以在软件设置中修改这些配置。

1

配置完成后点击“Finish”,稍等片刻即可进入主界面。

使用一段时间后可能会出现一个更新提示,直接点击“Restart and Update”,Fork会自动更新到最新版本并重新启动。

2. 连接账户

此处以连接自建的Gitea服务为例,GitHub等服务类似。

点击右上角的File-Accounts

2

点击左下角的加号添加账户,账户选择Gitea,点击“Log in”

3

此时打开Gitea网页,登录账号后点击右上角头像中的设置

4

在“应用”选项中的“生成新的令牌”选项卡中填写自定义的令牌名称,“仓库和组织访问权限”选择“全部(公开、私有和受限)”

5

然后点击下方的“选择权限”,将所有权限都更改为“读写”,然后点击“生成令牌”

6

在页面中复制生成的令牌

7

在Fork的添加账户页面填写Server和Token,Server填写Gitea的网页地址,Token填写刚刚复制的令牌,填写完成后点击“Sign In”

8

验证完成后,在Account页面可以看到当前的登录状态

9

3. 克隆仓库

在Repositories页面可以看到当前账户下的所有仓库,点击仓库右边的下载按钮即可克隆此仓库。

10

在克隆页面,Fork会自动获取仓库的Url,文件夹建议在Gitea目录下再新建一个用户名文件夹,方便仓库管理,点击“Clone”,即可将远端仓库克隆到本地。

12

如果Clone仓库出现类似的报错:

1
fatal: unable to access 'https://example.com/hanqingjiang/test.git/': schannel: next InitializeSecurityContext failed: CRYPT_E_REVOCATION_OFFLINE (0x80092013)

这是服务器端的证书检查没有通过导致的,可以通过更换Git的SSL后端为OpenSSL来实现:

  1. 打开Fork内置Git的安装目录,目录路径为:C:\Users\你的用户名\AppData\Local\Fork\gitInstance\2.50.1(Git版本号);
  2. 双击打开此目录下的git-bash.exe;
  3. 稍等片刻,当出现“MINGW64”字样时,输入:
1
git config --global http.sslBackend openssl

如果想要复制粘贴,粘贴时需要在窗口右键,选择“Paste”。

  1. 回车确认即可配置完成,关掉窗口;
  2. 回到Fork的Clone页面重新点击Clone,此时应当Clone成功。

Clone成功后,Fork会自动跳转到仓库管理页面。

13

4. Fetch&Pull

14

Fetch相当于命令git fetch,作用是从远程仓库获取最新的提交和分支信息。Pull相当于git pull,用于从远程获取代码并合并本地的版本。

当Fetch之后发现本地仓库落后于远程仓库时,可以配合Pull将远程仓库的更改拉取到本地。

Fork会每隔一段时间自动运行一次Fetch,也可以手动运行,例如Fetch之后发现本地落后于远端

15

运行Pull之后,本地仓库和远端仓库相同

16

点击Pull之后出现的选项一般保持默认即可,感兴趣的话可以自行查找资料了解Rebase和Stash的作用。

一般情况下,所有的Commit都要在保证本地和远端仓库相同的时候进行,因此当本地落后于远端时应当先拉取(Pull)再进行提交(Commit)和推送(Push)。

5. Add&Commit

当本地文件做了一些更改之后,可以在“Local Changes”页面看到修改的具体内容,并在此页面进行git add和git commit操作。

“Unstaged”中会显示出当前文件的所有更改,选中一个文件后,右侧会展示出文件修改的详细信息,双击文件,可以将此文件添加到暂存区(Staged)。

右键文件还可以实现更多操作,可自行探索。

右上角的“Stage”按钮,可以将所有已更改的文件添加到暂存区,相当于命令git add *。

17

当“Staged”区有文件时,即可在右下角写提交信息并进行Commit。

第一栏“Commit subject”写Commit的简要信息,需要简要写出这次提交的更改内容于目的,最好遵循Commit规范(约定式提交(Conventional Commits));

第二栏“Description”可以补充说明此次提交的详细信息,也可以不写。

Amend选项勾选时,会将此次更改的内容合并到上一次Commit中,不勾选则会自动创建一个新的Commit。

18

全部操作完成后,点击右下角的Commit按钮,即可完成Commit,返回“All Commit”页面,可以发现本地仓库已经领先于远程仓库。

19

6. Push

20

Push相当于git push,用于从将本地的分支版本上传到远程并合并。

当本地仓库领先远程仓库时,点击Push,即可将本地的更改上传到远程仓库,“Force push”选项一般不需要勾选。

21

至此,一次完整的拉取、修改并提交的流程已经完成。

7. 解决代码冲突

当远程仓库的代码和本地的代码有冲突时,则无法直接执行Push,且此时也不应该执行Force Push,这可能会导致代码丢失。

例如此时本地和远程同时对一行代码做修改,本地Commit之后发现Fork自动Fetch了远端的修改

24

此时远程分支的字体是半透明的,说明需要执行Pull将远程分支拉取下来

25

拉取后提示文件有冲突需要解决,点击“Resolve”或切换到“Local Changes”页面解决冲突,可以选择其中一个分支,或同时选择两个分支进行Merge

26

在Merge页面发现文件中本地是test123远程是test321,对于这两行代码“我都要!“时,可以依次勾选两个分支同时采用这两行代码,点击“Resolve”完成冲突的解决。

27

此时即可重新进行Commit

28

Commit之后,发现原先岔开的分支被合并到了一起

29

此时点击Push即可将本地代码推送到远程仓库,这就完成了一次安全的冲突解决。

30

如果想要得到一条比较干净的分支线,去掉由于Merge操作而出现的另外的分支,可以使用Rebase来代替Merge。

此时,可以在Pull操作时勾选“Rebase instead of merge”,其他操作类似,可自行探索,本文不再赘述。

8. 其他功能

Branch

仓库所有的本地分支都会显示在左边的“Branches”中,双击即可直接Checkout特定的分支。

点击右上角的“Branch”可以创建新的分支,右键某一个Commit也可以在Commit的基础上创建分支。

22

代码级提交

在“Local Changes”页面,可以手动选中某行代码进行Stage,控制本次提交仅提交文件中某行代码的更改。

23

至此,Fork的基础功能已介绍完成,其他的Reset、Discard、Revert、Stash等操作可以在需要时自行查找资料了解。

本文来源: 青江的个人站
本文链接: https://hanqingjiang.com/2025/08/20/20250820_fork/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
知识共享许可协议
赏

谢谢你请我喝可乐~

支付宝
微信
  • Git

扫一扫,分享到微信

微信分享二维码
标准Git分支模型介绍(配合Fork实操)
【C语言学习笔记】六、数组
  1. 1. 1. 下载安装
  2. 2. 2. 连接账户
  3. 3. 3. 克隆仓库
  4. 4. 4. Fetch&Pull
  5. 5. 5. Add&Commit
  6. 6. 6. Push
  7. 7. 7. 解决代码冲突
  8. 8. 8. 其他功能
    1. 8.1. Branch
    2. 8.2. 代码级提交
© 2021-2025 青江的个人站
晋ICP备2024051277号-1
powered by Hexo & Yilia
  • 友链
  • 搜索文章 >>

tag:

  • 新年快乐!
  • 生日快乐🎂
  • 小技巧
  • Linux
  • 命令
  • 语录
  • Blog
  • Notes
  • 复刻
  • Android
  • FPGA
  • Homework
  • MATLAB
  • C
  • Server
  • Vivado
  • Git

  • 引路人-稚晖
  • Bilibili-稚晖君
  • 超有趣讲师-Frank
  • Bilibili-Frank