17

如何在本地系统上设置 git 存储库?(我在一个windoze盒子上)

这是我想要实现的设置:(一切都在我的本地机器上)

  • 主机文件夹(类似于中央存储库)
  • 客户文件夹

我想在客户端文件夹中完成我的所有开发。完成后,我想将其推送到主机文件夹。


这就是我所做的:(在 Windows 上使用 git bash)

  • cd d:/插入
  • mkdir 主机
    • 光盘主机
    • 混帐初始化

CDC:/

  • mkdir 客户端
    • 光盘客户端
    • 混帐初始化
    • git remote add origin d:/host // 在客户端文件夹中添加一些文件并提交
    • git push 起源大师

当我将东西推送到原点时,git 会吐出很多远程错误。但是,当我让我的主机成为一个裸 git 时,它会成功推送。

我不明白普通 git 和裸 git 之间的区别。从手册中,我所了解的是,裸 git 用于存储增量以及当您不想存储原始文件时。但是,我想将文件存储在主机中。我怎样才能做到这一点 ?

4

3 回答 3

15

“常规 git”和“裸 git”之间的区别在于裸存储库没有工作目录。你永远不应该推送到常规的 git 存储库,因为你可能会遇到难以恢复的问题。始终推送到裸存储库。

如果您想拥有一个“主机”,其中确实出现了文件的副本,那么设置第三个存储库,从主机克隆。每当您想更新主机文件时:

  • git push从您的工作目录更新主存储库
  • git pull从您的主机目录中提取来源

您甚至可以在裸存储库上设置提交后挂钩以自动执行第二步。

于 2011-03-23T22:46:15.363 回答
3

在您的client目录中,您会注意到一个.git目录。bare版本基本上只是.git没有工作副本的目录内容。

最简单的做法是克隆它(与尝试设置另一个存储库相比):

从 c:/ 调用:

git clone d:/host client

这表示克隆“主机”存储库并将其存储在名为“客户端”的文件夹下。

于 2011-03-23T22:46:24.237 回答
1

不要在客户端文件夹中创建新的 git repo,克隆主机 repo

cd client
git clone d:/adinsert/host
于 2011-03-23T22:45:41.683 回答