团队成员本地存储库之间的Git推/拉

nyz*_*yzm 19 git git-pull git-push

让我们说有一个团队有4个开发人员.我们还为我们的项目提供了一个中央存储库.开发人员从中央存储库推送和拉取.这里(在分散但集中的部分)它表示可以在团队成员本地存储库之间推/拉.

每个开发人员都会拉动并推动原点.但除了集中式推拉式关系之外,每个开发人员还可以从其他对等方获取更改以形成子团队......从技术上讲,这仅仅意味着Alice定义了一个名为bob的Git远程,指向Bob的存储库,而且反之亦然

现在的问题是如何定义指向Bob的存储库的远程名称bob.如果重要,开发人员可能会使用不同的操作系

nob*_*bar 8

如果您在主机上建立用户帐户并在存储库上建立访问权限,则其他人可以在建立或不建立命名“远程”的情况下通过 SSH 推送/获取。

git push user@host:/path/to/repo branch
Run Code Online (Sandbox Code Playgroud)

如果您经常共享代码,您可以设置一个命名远程来记住服务器路径:

git remote add remotename user@host:/path/to/repo
Run Code Online (Sandbox Code Playgroud)

git daemon如果共享涉及密切协调(并且可能非常松散的安全性),那么您可以根据需要在“master”上启动一个短暂的生命周期: git 相当于“hgserve”? 在这种情况下,上述共享命令仍然适用,但user@host:/path将被替换为git://host/. 另请参阅git 守护程序文档

或者,您可以设置一个单独的专用存储库以用于中间共享:How do I setup a staging repository in git?


Bij*_*dra 4

这是很常见的事情,比如Alice 和 Bob 需要一起处理某些功能。同时,开发应该由不同的开发人员在不同的分支上进行。

简单的方法是:

  • 创建新分支 sprint_1,Alice 和 bob 签出到 sprint_1
  • 所有与功能相关的更改都应在此处完成
  • 推和拉操作应使用

    git pull origin sprint_1  and git push origin sprint_1
    
    Run Code Online (Sandbox Code Playgroud)

当更改完成并且 sprint_1 具有稳定的代码时,它可以与其他分支合并。如果 sprint_1 上的代码已经走了很长一段路,建议对分支进行变基而不是合并,以避免冲突或挑选。

  • 这不是我所要求的。我知道他们可以通过推送到远程存储库和从远程存储库拉取来在任何分支上工作。 (3认同)