Git - 工作副本看到的变化,但不存在于裸存储库中

时间:2014-02-28 01:59:31

标签: git versioning

我和一些开发人员在服务器本地工作,我们都通过RDP连接到那里。

我在D:\ Projects驱动器中设置了一个文件夹,以保存我们的裸存储库。

所有团队成员都在他们的主文件夹中创建了本地副本,并开始工作得很好,我的意思是,每次有人提交并推动另一个人可以拉动并看到变化。

但是我对某些东西感兴趣,如果我查看裸存储库,那里更改的文件没有改变并保留其原始内容!!!

git是否将更改存储在其他地方?!如果是,我怎么能告诉他将更改直接保存在裸存储库文件上?!

示例:(jp user和cr user working)

  • 推送之前

    D:\ Projects \ fileA:内容“ABC”

    D:\ Versioning \ jp \ Projects \ fileA:内容“ABC D” - >改变

    D:\ Versioning \ cr \ Projects \ fileA:content“ABC” - >还没有看到变化

  • 从jp推送到repo并从cr用户拉出

    D:\ Projects \ fileA:内容“ABC” - >保留原始

    D:\ Versioning \ jp \ Projects \ fileA:内容“ABC D”

    D:\ Versioning \ cr \ Projects \ fileA:内容“ABC D”

我正在检查repo文件,右键单击它们并使用Notepad ++进行编辑。

一开始我使用git init创建了repo,然后我意识到我需要的是裸机,所以我将.git的内容复制到了repo的根目录,并修改了配置以将repo标记为裸。

之后,每个开发者都从这个裸仓库中克隆出来,现在一切都很顺利,除了这个小部分,我们需要有一个地方,其中最新的文件可供另一个团队使用,负责设置(对于客户而言) )创造。

1 个答案:

答案 0 :(得分:1)

裸存储库不包含工作树,它们包含{-1}} - 非裸存储库文件夹的状态。您无法直接查看存储在其中的文件。

如果您的裸存储库不是真正的裸存储库:推送到普通存储库不会更新工作树并且不推荐进入非裸存储库。

如果您正在查看对象文件夹:对象文件夹中的文件是不可变的,不会被修改。它们只会被删除并添加。

注意:除非您真的知道自己在做什么,否则不应修改裸存储库的内容,因为这可能会破坏存储库。裸存储库应由git本身管理。