好像我必须学会使用git.这可能是一件好事(TM).然而,阅读在线指南和手册页,我无法理解术语.一切都总是根据自己或其他无法解释的术语来定义(做一个"男人git",你明白我的意思).
那么,是否有更多类似DAG的术语定义结构,包括以下一些(全部取自git手册页!).也许使用文件系统作为起点,而不是假设读者精通svn(我不是).
虽然我可以找到一些解释,但它们通常是另一方面的解释.还有一些我从其他上下文中知道的术语(比如UNIX差异).然而其他一些我认为我知道...
我已经收集到存储库(类似于gits?和/或树?上游?),您复制(克隆?分支?)以将文件物理地存储到您的硬盘驱动器.那么有分支(类似于变更集?),标签和提交(类似于补丁?),但它们的区别并不清楚.什么文件做什么修改?是什么让我的文件保持在本地,什么可能(天堂禁止)将我的代码提交给互联网?
当涉及分支,标签和提交时,建议的工作方式是什么 - 因此可以在版本之间交换,并从公开可用的gits导入更新.
// T,咬着舌头控制自己的沮丧......
kni*_*ttl 91
这是尝试完成您的词汇表(从我的头顶,尝试使用我自己的话):
repo,repository:这是你的对象数据库,是你的历史和配置存储.可能包含几个分支.它通常也包含一个工作树.
一个混蛋,"git":从未听说过,抱歉."git"可能描述了软件本身,但我不确定
index,staging area:这是工作树和存储库之间的"缓存".您可以向索引添加更改并逐步构建下一个提交.当您的索引内容属于您的喜欢时,您可以从中创建提交.还用于在合并失败期间保留信息(您的身边,身边和当前状态)
clone:存储库的克隆("只是另一个存储库")或这样做的行为("克隆存储库(创建新的克隆)")
commit:特定时间项目的状态.包含指向其父提交的指针(如果是合并:多个父项),并指向此时的目录结构指针.
分支:不同的发展方向.git中的一个分支只是一个指向提交的"标签".您可以通过父指针获取完整的历史记录.默认情况下,分支仅对您的存储库是本地的.
树:基本上讲一个目录.它只是一个文件(blob)和子目录(树)的列表.(如果您使用子模块,该列表也可能包含提交,但这是一个高级主题)
上游:克隆存储库后,您经常将"原始"存储库称为"上游".在git中,它是别名的origin
head:分支的最高提交(提交标签指向)
HEAD:描述当前签出提交的符号名称.通常是最顶级的提交
版本:可能与提交相同.也可能意味着您项目的已发布版本.
tag:为您的某个提交(或树或blob)指定的描述性名称.也可以包含消息(例如,changelog).标签可以用GPG加密签名.
存档:一个简单的存档(.tar,.zip),没什么特别的.
patch:提交为文本格式的提交.可以通过电子邮件发送并由其他用户申请.包含原始的auther,提交消息和文件差异
提交:不知道.提交补丁到项目可能吗?
changeset: "commit"的同义词
stash: Git允许你"隐藏"变化.这为您提供了一个干净的工作树,没有任何变化.之后他们可以"弹出"被带回来.如果您需要暂时处理不相关的更改(例如,时间关键错误修复),这可以节省生命
对象:可以是一个commit,tree,blob,tag.对象已关联其引用它的SHA1哈希(带有id的提交deadbeaf,树decaf).共享同一对象的所有存储库之间的哈希值相同.它还可以保护存储库的完整性:在不更改所有子提交的哈希值的情况下,您无法更改过去的提交.
(module,)子模块:包含在另一个存储库(例如外部库)中的存储库.先进的东西.
revspec:甲revspec(或revparse表达)描述了一种特定的GIT中的对象或通过所谓的扩展SHA1语法的一组提交的(例如.HEAD,master~4^2,origin/master..HEAD,deadbeaf^!,...)
refspec: refspec是描述在Fetch或Push操作期间在远程引用和本地引用之间进行映射的模式
history:描述在提交返回第一次提交之前的所有祖先提交.
你没有提到的事情,但可能很高兴知道:
您所做的一切都是您的存储库本地的(由git init或创建git clone git://url.com/another/repo.git).有在Git中只有少数的命令,与其他信息库(又名德趣闻)互动,包括clone,fetch,pull,push.
推拉用于同步存储库.拉fetchES从其他资源库对象,并与当前分支合并它们.Push用于将您的更改和push它们带到另一个存储库.您无法推送单个提交或更改,您只能推送包括其完整历史记录的提交.
单个存储库可以包含多个分支但不需要.调用git中的默认分支master.您可以根据需要创建任意数量的分支,合并与git是一块蛋糕.在您跑步之前,分支机构是本地的git push origin <branch>.
提交描述了项目的完整状态.这些状态可以相互比较,产生"差异"(git diff origin/master master=看到origin/master和之间的差异master)
在准备你的提交时,Git非常强大.这里的关键因素是"索引"(或"临时区域").您可以向索引添加单个更改(使用git add),直到您认为索引看起来很好.git commit启动您的文本编辑器,您需要提供一个提交消息(为什么以及如何进行更改); 在输入你的提交消息之后,git将在前一次提交之上创建一个新的提交 - 包含索引的内容(父指针是前一次提交的SHA1).
Ben*_*ier 16
Git附带了您正在寻找的文档.
$ git help glossary
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22635 次 |
| 最近记录: |