【问题标题】:Setting up a server with git使用 git 搭建服务器
【发布时间】:2022-01-01 01:15:38
【问题描述】:

我是一个中级 git 用户,我正在尝试设置这样的东西:

我和我的朋友在 github 上有一个存储库,他有 git 凭据,我有自己的 git 凭据,但我们也有一个远程服务器,我们想将更改拉到上面。

我们是否有特定的设置方式?或者我只是为服务器创建另一个普通的 git 帐户?

另外,我们有一个开发分支和一个主分支,我想有两个独立的目录,默认为这两个分支中的任何一个。

本质上,我们中的任何一个都应该能够登录,导航到 dev 或 master,并执行“git pull”,而无需登录 我们的 git 帐户,并让它自然地理解它如果我们在 dev 文件夹中,则必须从 dev 中提取,如果我们在 master 文件夹中,则必须从 master 中提取。

感谢您的帮助!

【问题讨论】:

  • 设置一个只是托管站点(例如 GitHub 或 GitLab)的专用 Git 服务器是困难。 GitLab,如果你选择使用它,它显然配备了所有需要的工具,但它仍然很重要。如果你只是想让一些服务器实例访问一些现有的 GitHub 存储库,那相对容易:创建一个机器密钥(又名“部署密钥”)并将其提供给进行部署的机器。请注意,git pull 表示 运行 git fetch,然后运行第二个 Git 命令以使用获取的提交,所以 ...
  • ... 如果您有两个工作树(具有共享存储库或具有单独的存储库),并且它们具有分支 masterdev 分别签出,并且您设置默认的第二个git merge 的命令和上游设置通常的方式,一个简单的登录为部署用户,cd-and-run-git-pull 就可以正常工作。
  • @JohnHanley 和 Torek,感谢您的建议并将我指向正确的文档

标签: git github version-control remote-server


【解决方案1】:

有两种方法可以处理这样的部署。首先是让你们每个人都有自己的 SSH 密钥,该密钥已在 GitHub 上注册并登录到服务器,转发您的代理(使用 ssh -A 或适当的配置选项)。然后,当您登录时,您可以使用 SSH 远程推送或拉取您的 SSH 密钥。

另一种选择是使用部署密钥,如果您想执行自动化 Git 操作,这会更好。这是特定于存储库的 SSH 密钥,它已上传到存储库设置中。这允许该密钥仅对该存储库具有只读或读写访问权限,然后您可以以任何您喜欢的方式使用它。

【讨论】:

    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多