git - 在本地机器上设置 git 存储库

标签 git git-workflow

如何在本地系统上设置 git 存储库? (我在打瞌睡的盒子上)

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

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

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


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

  • cd d:/adinsert
  • mkdir 主机
    • 光盘主机
    • 初始化

CD C:/

  • mkdir 客户端
    • cd 客户端
    • 初始化
    • git remote add origin d:/host //在客户端文件夹中添加了一些文件并提交了
    • git push origin master

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

我不明白常规 git 和裸 git 之间的区别。从手册中,我所了解的是,裸 git 用于存储增量以及当您不想存储原始文件时。但是,我想将文件存储在主机中。我该怎么做?

最佳答案

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

如果您想要一个“主机”来显示您的文件副本,那么请设置第三个存储库,从主机克隆。每当您想更新主机文件时:

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

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

关于git - 在本地机器上设置 git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412562/

相关文章:

linux - 具有 1 个主存储库的多个 git 存储库

git - merge 存储库同时覆盖更改

git show 的文件路径

git - Azure管道: How to give the build service account contribue access to a repo

git - 我应该如何组织我的 Git 存储库和分支来创建一个网站的多个版本?

git - 防止 Master Branch 领先于 dev

git - 我可以在两个文件上使用 "git checkout --"吗?

git - 在 Git 中使用基于主干与基于功能的工作流的优缺点是什么?

issue-tracking - git 工作流程中的发布编号

GIT:不止一个开发人员在处理同一个功能