RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 571559
Accepted
Qwertiy
Qwertiy
Asked:2020-09-29 05:10:37 +0000 UTC2020-09-29 05:10:37 +0000 UTC 2020-09-29 05:10:37 +0000 UTC

什么是裸旗?

  • 772

--bare克隆/创建存储库时的标志是什么?

传输存储库时它提供什么?

git
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    aleksandr barakin
    2020-09-29T08:41:14Z2020-09-29T08:41:14Z

    很短的一句话

    例如,在这里您需要将存档从一台服务器复制到另一台服务器,并向您提供说明:

    1. 将存档从 server1 复制到本地计算机
    2. 解压缩存档
    3. 将存档复制到服务器 2

    为什么,有人想知道,这里需要第 2 点,关于解压档案???没有必要。所以在复制版本库时,情况类似——为什么要从版本库中提取工作目录的内容?没必要。这就是该选项的用途--bare。

    更详细的答案

    也许我们应该首先说明什么是 git 存储库(经常使用术语“git 存储库”)。

    这是一个新创建的存储库,还没有跟踪(还)单个文件,但已经包含 9 个目录和 13 个文件(在git程序的不同版本和构建中,具体数字当然可能略有不同),允许git程序开始跟踪项目文件的最小值(好吧,几乎是必要的 -hooks你可以在没有文件的情况下使用目录中的示例):

    $ tree -F
    .
    ├── branches/
    ├── config*
    ├── description
    ├── HEAD
    ├── hooks/
    │   ├── applypatch-msg.sample*
    │   ├── commit-msg.sample*
    │   ├── post-update.sample*
    │   ├── pre-applypatch.sample*
    │   ├── pre-commit.sample*
    │   ├── prepare-commit-msg.sample*
    │   ├── pre-push.sample*
    │   ├── pre-rebase.sample*
    │   └── update.sample*
    ├── info/
    │   └── exclude
    ├── objects/
    │   ├── info/
    │   └── pack/
    └── refs/
        ├── heads/
        └── tags/
    
    9 directories, 13 files
    

    运行命令后,这些文件和目录将出现在当前(最初为空)目录中:

    $ git init --bare
    

    如果你省略选项--bare,它们都将“隐藏在引擎盖下” ——git程序不会在当前目录中创建它们,而是在子目录中.git(名称开头的点用于确保该子目录是获取目录列表时默认不显示)。

    它们将被“隐藏”,不仅是为了“美观”,也不仅仅是因为这些“内部杂物”对git程序的“普通”用户没有什么兴趣。主要目标是为项目的实际文件(和目录)“释放”当前目录。在这种情况下,它(当前目录)将充当工作目录(原始文档中的工作树,另一个常见的翻译是工作副本)。


    如果存储库有一个工作目录,那么这样的存储库被称为“非裸存储库”,或“具有工作目录的存储库”,为了简洁起见,通常简称为“存储库”。如果没有工作目录,那么这样的存储库称为“裸存储”(字面意思是“裸”)。


    这种“裸存储”有什么用?它的实际意义是什么?我们能拿他怎么办?

    好吧,从“最终”用户(通常是程序员)的角度来看,确实没什么用,因为项目的文件/目录是不可见的。但从git程序的角度来看,这是一个成熟的存储库,可以克隆、从中提取并推送到其中。存储库以这种形式(没有工作目录)位于 github.com、bitbucket.org 等服务器上。git程序可以很容易地从这样的存储库中提取和显示任何信息:提交历史、项目文件列表、任何项目文件的内容,因为它们在任何提交之后查看,等等。


    该选项--bare也可以与命令一起使用clone:在这种情况下,在当前(或指定)目录中,将首先创建存储库的“主干”(由上述 13 个文件和 9 个目录组成),它将填充来自克隆存储库的信息(这将主要影响目录objects- git 对象存储在其中:提交,树和 blob)。

    但是如果你clone 不带这个选项运行命令,那么,首先,版本库会放在子目录.git下,而不是直接放在当前目录下,其次,在填充版本库后,项目的所有文件和目录都会被额外提取到当前目录。


    还值得注意的是,存储库的属性——“裸/非裸”——作为行或部分存储在config存储库内的文件中。bare=truebare=false[core]


    哦,是的,我完全忘记了:

    迁移存储库时它(隐含的选项--bare)提供什么?

    综上所述,我希望在将存储从一台服务器传输到另一台服务器的情况下,这个选项可以让您不做不必要的(在这种情况下)工作:节省处理器周期(用于提取项目文件/目录),在不必要的读取操作/记录上节省硬盘资源,节省一些电力,并最终延缓宇宙的热寂。这才是人类存在的真正目的吧?

    • 16

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何停止编写糟糕的代码?

    • 3 个回答
  • Marko Smith

    onCreateView 方法重构

    • 1 个回答
  • Marko Smith

    通用还是非通用

    • 2 个回答
  • Marko Smith

    如何访问 jQuery 中的列

    • 1 个回答
  • Marko Smith

    *.tga 文件的组重命名(3620 个)

    • 1 个回答
  • Marko Smith

    内存分配列表C#

    • 1 个回答
  • Marko Smith

    常规赛适度贪婪

    • 1 个回答
  • Marko Smith

    如何制作自己的自动完成/自动更正?

    • 1 个回答
  • Marko Smith

    选择斐波那契数列

    • 2 个回答
  • Marko Smith

    所有 API 版本中的通用权限代码

    • 2 个回答
  • Martin Hope
    jfs *(星号)和 ** 双星号在 Python 中是什么意思? 2020-11-23 05:07:40 +0000 UTC
  • Martin Hope
    hwak 哪个孩子调用了父母的静态方法?还是不可能完成的任务? 2020-11-18 16:30:55 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    Arch ArrayList 与 LinkedList 的区别? 2020-09-20 02:42:49 +0000 UTC
  • Martin Hope
    iluxa1810 哪个更正确使用:if () 或 try-catch? 2020-08-23 18:56:13 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5