Git和Stash之间有什么关系?

19

我可以访问公司的Stash项目仓库。我通过Eclipse IDE将项目克隆到本地Git仓库中。为此,我在Eclipse中安装了所需的Git插件。

我的问题是:

  • Git只是与Stash通信的工具吗?
  • 我们不能使用Git作为分布式存储库而不是Stash吗?
  • 这两个工具之间有什么关系?
  • 没有Git,代码能被克隆并提交给Stash吗?或者说,如果没有Git,Stash能存在吗?
2个回答

51
关于Stash和Git的一些简要信息。

Git是一种分布式版本控制系统。

Stash是Atlassian的一个存储库管理系统。它可以用来管理Git仓库,也可以用来管理其他版本控制系统(如Mercurial)的仓库。

每个产品的概述可以在官方网站找到:

Git官方网站,about页面

Atlassian官方网站。 2015年9月,Atlassian将他们的Stash产品更名为Bitbucket Server。

有许多存储库管理系统可与Git一起使用。在企业界中,最流行的之一是Stash。但是当您看向开源世界时,据我所知,GitHub是最受欢迎的。

您可以创建存储库,并将代码推送或拉入Git存储库,无论它们是在本地计算机上还是在远程公司服务器上。对于这种任务使用存储库管理系统(如Stash)不是必需的,但有时会更喜欢这样做,特别是由拥有巨大IT部门的公司。

因此,Git和Stash不是相互替代的,而是相互补充的。您可以将Git视为内核,将stash视为围绕内核的外壳。

但是,我们为什么需要存储库管理系统呢?

  1. 安全性;大型企业希望管理谁可以访问哪些项目的源文件以及使用什么限制。Git无法处理此问题,它只是一个版本控制系统。
  2. 管理;您可以与公司LDAP系统集成,更容易地管理用户。
  3. 集成;您可能使用Jira进行问题跟踪,Bamboo作为构建服务器以及Confuluence作为Wiki。因为它们都是Atlassian工具,所以您可以轻松集成它们。
  4. 易于使用

现在,让我们尝试回答您的问题;

我可以访问我的公司Stash项目存储库。我将该项目克隆到本地Git存储库中。

无论代码仓库是在stash后面的远程服务器上还是在本地计算机上,它都是一个Git仓库。
Git只是与Stash通信的一种工具吗?
不是,相反更正确。Git是版本控制系统的核心,您可以使用Stash使其更易管理、安全且易于在企业中使用。
我们不能使用Git作为分布式存储库来代替Stash吗?
首先,您不能使用Git代替Stash,因为它们并不互相替代,而是互补的。如果您指的是使用Git作为远程存储库,那当然可以使用它。
需要澄清的是,Git之所以是分布式的,并不是因为您可以拥有远程存储库。无论集中或分布式,所有版本控制系统都可以拥有远程存储库。分布式意味着,当您克隆一个存储库时,您也会克隆所有历史记录等内容。在这种结构下,您可以拥有一个中央存储库,但并非必需。如果中央存储库损坏,任何节点都可以成为新的中央存储库。尽管在企业界中,拥有一个中央存储库是最佳实践,但一些开源项目(例如Linux内核)没有中央存储库。
这两个工具之间的关系是什么?
我认为上面已经解释了。它们互相补充。Git是版本控制系统,而stash是存储库管理工具。它使Git更安全且易于企业IT部门管理。
没有Git,代码可以被克隆、提交到Stash吗?或者,没有Git,Stash是否可以存在?
它已经被解释过了。您可以使用其他版本控制系统与Stash一起使用。Git不是必需的,但至少需要一个版本控制系统。
您不能将代码提交/克隆到Stash。您可以通过Stash将代码提交/克隆到/从版本控制系统中。
VCS:版本控制系统

4
多么精彩的回答!如果可以的话,我会点赞50次!!! - GOXR3PLUS
1
@GOXR3PLUS 这正是为什么它不被允许的原因 :) - ranit.b
@ranit.b 哈哈哈 :) - GOXR3PLUS
来这里想了解stash是什么,结果发现了这个很好的答案。谢谢! - tommyskott

8

Git只是一个与Stash通信的工具吗?

不是。Git是一种非常流行且功能强大的代码修订系统、分布式协作工具、代码存档器、补丁管理器等等。请参见git-scm.org

Atlassian Stash是Git的管理工具。

我们不能使用Git作为分布式存储库而不是Stash吗?

你可能可以,但这取决于你使用Stash的原因。一旦你有多个协作者和仓库要担心,Stash就应该让你的生活变得更轻松。

这两个工具之间的关系是什么?

上面已经回答了。

没有Git,代码能够被克隆并提交到Stash吗?或者说,没有Git,Stash能够存在吗?

不行。

基本上,阅读Stash的介绍文档页面就可以回答这个问题。我想知道为什么你没有这样做。我仍然敦促你去做; 你会学到有趣的东西!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接