gpt4 book ai didi

git - git branch、fork、fetch、merge、rebase 和 clone 有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 01:09:58 25 4
gpt4 key购买 nike

我想了解 Git 中分支、 fork 和克隆之间的区别?

类似地,当我做 git fetch 是什么意思?而不是 git pull ?

还有,rebase 是什么意思?与 merge 相比的平均值?

我怎样才能将个人 promise 压在一起?

它们是如何使用的,为什么使用它们以及它们代表什么?

GitHub 是如何出现的?

最佳答案

克隆只是存储库的副本。从表面上看,它的结果相当于svn checkout ,您可以在其中从其他存储库下载源代码。像 Subversion 这样的集中式 VCS 和像 Git 这样的 DVCS 之间的区别在于,在 Git 中,当您克隆时,您实际上是在复制整个源存储库,包括所有历史记录和分支。您现在在您的机器上有一个新的存储库,您所做的任何提交都会进入该存储库。没有人会看到任何更改,直到您将这些提交推送到另一个存储库(或原始存储库),或者直到有人从您的存储库中提取提交(如果它是可公开访问的)。

分支是存储库中的东西。从概念上讲,它代表了一条发展线索。您通常有一个 master 分支,但您也可能有一个分支,您正在其中处理某些功能 xyz,以及另一个修复错误 abc 的分支。当您 checkout 一个分支时,您所做的任何提交都将保留在该分支上,并且不会与其他分支共享,直到您将它们与相关分支 merge 或将它们重新绑定(bind)到相关分支上。当然,当涉及到分支时,Git 似乎有点奇怪,直到您查看分支实现方式的底层模型。我不会自己解释它(我已经说了太多,我想),我将链接到 Git 网站上关于 Git 如何建模分支和提交的“计算机科学”解释:

http://eagain.net/articles/git-for-computer-scientists/

fork 实际上并不是 Git 概念,它更像是一种政治/社会理念。也就是说,如果有些人对项目的进展方式不满意,他们可以获取源代码并独立于原始开发人员自行处理。那将被视为 fork 。 Git 使 fork 变得容易,因为每个人都已经拥有自己的源代码“主”副本,因此就像切断与原始项目开发人员的联系一样简单,并且不需要像使用 SVN 那样从共享存储库中导出历史记录.

编辑:由于我不知道 GitHub 等网站使用的“fork”的现代定义,请查看评论以及 Michael Durrant's answer下面我的更多信息。

关于git - git branch、fork、fetch、merge、rebase 和 clone 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3329943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com