Git如何进行分布式源代码管理?

2024-02-15

我是一位具有 UNIX SCCS 和 Microsoft Visual SourceSafe 经验的 Git 新手。我刚刚学习 Git,它似乎有一个巨大而痛苦的学习曲线。我已经看到 Git 删除了所有我未提交的数据文件,这让我很担心。 (实用程序如何在没有警告的情况下删除数据文件超出了我的范围)。

Linus Torvalds 在他的 Git 视频中声称 Git 是分布式的,宣扬了分布式的好处,但除了每个人都拥有源代码的副本(克隆)之外,并没有真正解释分布式是如何工作的。

Git 如何帮助分发? Git 如何帮助恢复丢失的文件? Git 分发是如何工作的? 我可以找到文件分发的位置吗? 有 Git 分发教程吗?

提前致谢!


读这个 :http://www.newartisans.com/2008/04/git-from-the-bottom-up.html http://www.newartisans.com/2008/04/git-from-the-bottom-up.html


至于你的其他问题:

Git 是如何工作的?

这不是一个足够具体的问题,无法回答。但一般来说,Git 的工作方式是创建对象并将它们放入树中。这些对象对应于您对内容所做的更改。树本身就是物体。 Git 跟踪的是对存储库中内容所做的更改。

分销如何运作?

因为所有存储库都可以是服务器,所以不同的存储库可以比较它们的树和对象,并确定该存储库的当前状态与另一个存储库之间的变化。因此,他们能够从其他存储库推送/拉取。

它有什么帮助?

如果您看不出它对您有什么帮助,请坚持使用 MVSS。


我觉得可能是词汇量有问题。配送不是运送。 Git 的分布意味着每个存储库都是一个服务器。这并不意味着它将跟踪它被克隆的位置(尽管您自己的存储库可以保留从中提取/推送到的远程存储库的列表)。

阅读我链接的 PDF。然后按照他们的指示创建一个 github 存储库。Fork http://help.github.com/forking/别人的存储库,任何人,只是为了看看它是如何工作的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git如何进行分布式源代码管理? 的相关文章

  • `git rm --cached` 和 `git update-index --assume-unchanged` 之间的区别?

    我不明白之间的区别git rm cached and git update index assume unchanged 我知道git rm cached
  • 如何在 Windows 上向 git 存储库添加符号链接?

    我使用 GitHub 的电子环境编译 OS X 的二进制文件 并希望将输出添加到 git 存储库 我试过 git add error readlink sulu app Contents Frameworks Electron Framew
  • Git 无效的修订范围 Symfony2 Composer 外部包

    RuntimeException Failed to execute git log 18efcf67d236d5bbf46ac67820250dffd0474b6e 94e2146f525fa1367e15646fa273e5b34f92
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 推送时发生 Git 错误 - update_ref 失败

    当我尝试推送本地提交时遇到问题 这可能是在 Android Studio 崩溃时发生的 这是错误 update ref 引用 refs remotes origin master 失败 无法锁定 ref refs remotes origi
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • 在 Clearcase 上使用 Mercurial 时保留历史记录

    我在 ClearCase 商店工作 CC 在集成团队的工作方面做得很好 尽管我们的代码审查流程阻止我使用它来跟踪我的日常更改 在我的 CC 视图之上创建 hg 存储库效果非常好 我可以跟踪我的更改并轻松在文件服务器上进行备份 为人们生成差异
  • 为什么版本控制系统缺乏 Visual Source Safe 的共享功能?您使用并认为哪些源代码控制值得尝试?

    我们正在寻找一种版本控制系统来改变我们当前的源安全系统 我们将它与 Visual Studio 一起使用 到目前为止 我们已经失败了 主要原因是我们看到的所有替代方案都不支持 VSS 的一项或多项功能 尤其是我们广泛使用的一项 文件共享 那
  • 在 github 上的 fork 中跟踪上游的最佳实践

    摘要 对于要维护一组本地更改的上游存储库 处理长期运行跟踪的最佳实践是什么 我想让 github 上的 fork 与上游保持同步 但仍然允许清晰跟踪 fork 特有的更改 对于本次讨论 假设upstream指向主项目存储库并且origin指
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • git reset 命令中的 ~1 是什么意思?

    git 重置 HEAD 1 我的印象是 1 的意思是 从 HEAD 开始 遵循 1 链接 并将 HEAD 标签设置为新的提交节点 我正期待着 git 重置 HEAD 2 跟随 2 个链接 然后设置 HEAD 标签 但是 如果我尝试它 我会收
  • 丢失了我在 GIT 中的提交。你会不小心删除提交吗?

    我正在使用 git gui 但看不到我的分支 我知道我今天检查了一些东西 在完成提交并使用分支查看器验证后 我更改为较早的分支 我对之前的分支进行了更改 然后想返回到当前的分支 但我再也看不到它了 任何帮助都会很棒 回答你的问题 在大多数情
  • Jenkins:尽管没有变化,SCM 仍然触发持续构建

    我们遇到一个问题 尽管没有代码更改 SCM 仍在触发构建 SCM 每 15 分钟轮询一次更改 并且仅在发现更改时才触发构建 以下是连续 SCM 轮询日志的几个示例 Started on Nov 15 2013 11 47 14 AM Usi
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • Git - 创建拉取请求而不分叉

    使用 git 已经有一段时间了 关于 git pull request 有很多教程和解释 其动机是什么等等 我遇到两种情况 1 分叉 git 仓库 我查看了一些公共 git 存储库并决定我想要做出贡献 所以我 通过以下方式创建重复的存储库F
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • 如何将工作树与提交进行比较?

    我在用着 git diff mycommit 用于比较我的工作树mycommit 但它似乎忽略当前索引中不存在的文件 您可以按如下方式重现它 git init echo A gt A txt git add git commit m A g

随机推荐

  • 两个相关 for 循环的复杂度,外层循环的复杂度为 log n

    问题 计算该算法的复杂度 for i n i gt 1 i i 2 for j i j
  • Laravel 默认 auth 模块翻译

    我已经生成了默认的 Laravel auth 模块 在模块刀片的各处 我都看到双下划线 假设翻译即将完成的函数 例如 li a class nav link href Login a li 我的问题 翻译文件在哪里 如果我创建一个 我应该把
  • Django 表单下拉字段中的占位符

    我对 django 形式的下拉字段有一个小问题 我想添加到此字段占位符 或不作为占位符的第一个选项 和一些其他内容 如无标签 类等 我写了这样的东西 在我的forms py但现在我的表单已损坏 不要将值保存到数据库中 from models
  • noexcept 在派生类中的用法

    我在使用时遇到问题noexcept派生类上的说明符 更准确地说 当父类是抽象类时 具有protected构造函数 以下是我声明类的方式的示例 With a public基类中的构造函数 一切正常 与相同的代码protected并且派生类不再
  • 协程中的热流和冷流是什么以及它们之间的区别?

    我正在掌握 Kotlin 协程并试图弄清楚 1 什么是热流和冷流 2 它们之间的主要区别是什么 3 什么时候使用每一个 冷流在开始收集值之前不会开始产生值 另一方面 热流立即开始产生值 我建议阅读以下内容以了解热蒸汽和冷蒸汽的使用 http
  • 如何删除 Windows Phone 8.1 应用程序中的动态磁贴标题?

    我正在 BackgroundTask 中使用 TileWide310x150Image 模板构建一个宽动态图块 它应该只显示宽图像 不显示文本或其他内容 这是我正在使用的模板
  • 如何预分配和初始化 `std::basic_string` 内的字符序列?

    我想知道如何在普通 C 字符串中预分配和初始化字符序列 提出这个问题的场合是查询 Windows 注册表中的值 看这个答案 https stackoverflow com a 16304707 1794538一些示例代码 问题在于系统调用写
  • 如何以编程方式对黑/白 UIImageView 进行着色?

    我有一组黑白图像 如下所示 如果我没记错的话 有某种方法可以设置 UIImage 的混合或遮罩属性以将其与背景 UIView 混合 在这种情况下 我想将该图像的颜色更改为红色以表示生命值 如何以编程方式更改此 UIImage 的颜色 我知道
  • 用于多行文本的 Java 注释实用程序

    WRT 多行 Java 字符串的任何未来计划 https stackoverflow com questions 11659225 any future plans for multiline java string 编写一个执行以下操作的
  • Python文件下载

    我遇到了问题 不确定这是否可能 所以是否有人可以指出我正确的方向 我需要从网页打开一个文件 在 Excel 中打开它并保存该文件 我在网站上遇到的问题是文件名有一个文件名 不是活动链接 然后它会有一个 下载 按钮 该按钮不特定于我需要下载的
  • 为什么 .tfignore 根本不起作用?

    我按照中的说明进行操作这篇微软文章 https www visualstudio com docs tfvc add files server customize which files are ignored by version con
  • Oracle:将 IPv4 地址转换为数字?

    如何将点十进制格式的 IPv4 地址转换为数字 例如 地址39 255 2 51应转换为4026466867 使用 regexp substr 提取地址的四个八位字节 通过将八位位组移回其原始位置来重构该值 正则表达式可能相对昂贵 因此如果
  • 如何在一个EC2实例上运行多个应用程序?

    这可能与这个问题有关 如何在一个 EC2 实例上运行多个应用程序 https stackoverflow com questions 16549026 how to run more than one app on one instance
  • Gradle 包装器标签不匹配错误

    我正在尝试使用 gradle 及其包装器手动配置 Android 项目 但我总是遇到相同的错误 我可以生成gradlew脚本如下build gadle file buildscript repositories jcenter depend
  • sqlite3 运行 sql - 选择所有带有 PUA 字符的

    我怎样才能运行 SELECT FROM 表名 其中列包含 PUA 字符 PUA https en wikipedia org wiki Private Use Areas 私人使用区域 在 Unicode 中 专用区域 PUA 是一系列代码
  • 在AngularJS中如何使用datalist

    div div
  • 使 tkinter 窗口在全屏应用程序之上绘制

    我想知道是否有一种方法可以在全屏应用程序上绘制 tkinter 窗口 到目前为止我有这个 from tkinter import MAIN WINDOW root Tk root title Test Title root geometry
  • 如何将输出分配给 shell 脚本变量?

    如何将此结果分配给 shell 变量 Input echo 1 1 bc l Output 2 Attempts 没用 bin sh a echo 1 1 bc l echo a 您正在寻找称为命令替换的 shell 功能 cmd 替换有
  • jarsigner“只能指定一个别名”

    C Program Files Java jdk1 7 0 01 bin gt jarsigner verbose sigalg MD5withRSA digestalg SHA1 keystore Cartoons keystore Ca
  • Git如何进行分布式源代码管理?

    我是一位具有 UNIX SCCS 和 Microsoft Visual SourceSafe 经验的 Git 新手 我刚刚学习 Git 它似乎有一个巨大而痛苦的学习曲线 我已经看到 Git 删除了所有我未提交的数据文件 这让我很担心 实用程