图标
本节讲解如何使用 TortoiseGit 创建和克隆仓库。但在此之前,我们先来看下 TortoiseGit 软件的一个特色:图标。
TortoiseGit 会给 工作区
中的文件和文件夹叠加图标(Icon Overlays
),图标反应的是这些文件和文件夹的当前状态。目前,共 9 种图标。
按照图中数字标出的顺序,其含义依次为:
-
normal
:正常状态,已经提交到版本库
并且没再做任何修改。 -
assume-valid
:假定未修改状态,先知道有这么个图标,在后续 “提交对话框”一节的Assume Unchanged
,会详细讲解。 -
added
:已经添加到版本库的暂存区
。 -
modified
:已修改 -
deleted
:从版本库中删除(工作区中仍存在) -
ignored
:版本库忽略这些文件或文件夹在工作区的根目录下创建一个特殊的
.gitignore
文件,然后把要忽略的文件名或文件规则填进去,Git 就会自动忽略这些文件。不能上传到远程仓库的文件以及编译器产生的中间文件都可以用这个方法排除在版本控制之外。
-
conflicted
:发生冲突。合并、拣选和变基时可能会产生冲突,这个图标显示冲突的文件和文件夹。你现在可能还不清楚“合并、拣选和变基”这些词语,没关系,后面会详细的讲解。 -
skip-worktree
:跳过工作树,后续“提交对话框”一节的Skip worktree
会讲解 -
non-versioned
:未跟踪且未忽略的文件或文件夹(尚未加入到版本控制库中)
在这段文字中,我反复提及了几个名词:
工作区
(workspace)、暂存区
(Stage)、版本库
(Repository) 。这是Git
的基本概念之一,你可以忽略这部分内容,但是理解这些基本概念有助于理解Git
的工作原理,从而更游刃有余的使用版本控制,而且这些基本概念一点也不难理解,我在这里简要说明一下。假如你用 TortoiseGIt 初始化了一个仓库(先不必纠结如何初始化,后面马上讲到),这个仓库是一个名为 “MyProject” 的文件夹,如下图所示。
- 在 “MyProject” 文件夹中有一个隐藏的
.git
文件夹,这个文件夹称为版本库
。- “MyProject” 文件夹中除
.git
文件夹之外的所有文件夹和文件称为工作区
。.git
文件夹中的index
文件称为暂存区。对于使用 TortoiseGit 工具的情况,工具屏蔽了“暂存”这个概念。如果你对暂存区有兴趣,请参考 GIt 设计相关内容,这已经超出了入门指南的范畴。
创建仓库
右键一个程序目录,在弹出的右键菜单中选择:Git Create Repository
。
可以创建普通 Git 仓库和裸仓库,裸仓库一般在架设服务器才会用到,通常开发者选择创建普通 Git 仓库(不勾选
Make it Bare(No working directories)
),如下图所示:
创建一个仓库就这么简单。
克隆仓库
可以从 GitHub
、 Gitee
等 Git 托管平台上克隆别人的项目。比如可以使用网址 https://gitee.com/rtthread/rt-thread.git 克隆国产操作系统 RT-Thread
项目,步骤为:
在适当目录下右键:Git Clone...
。弹出“克隆”对话框:
URL
:要克隆的URL地址,可以单击Browse
浏览。Directory
:本地目录,克隆到的程序会存在这个目录下,单击Browse
浏览目录Depth
:选中创建浅克隆,克隆指定的提交次数Recursive
:初始化子模块使用默认设置克隆子模块Clone into bare repo
:克隆到裸仓库No Checkout
:克隆完成后不执行 HEAD 检出。这也意味着克隆结束后工作区为空。Branch
:克隆后将指向指定的分支(该分支必须存在)。Origin Name
:使用指定的名字作为远程仓库别名(默认使用的origin
)LFS
:使用 Git LFS(大文件存储) - 仅当安装了 Git LFS时此选项才可用。Load Putty Key
:选中时会使用 Pageant 自动加载 putty 秘钥文件。单击...
按钮可以浏览 putty 秘钥文件。
读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)