gpt4 book ai didi

git - 维护 git 存储库的克隆

转载 作者:行者123 更新时间:2023-12-03 22:37:47 27 4
gpt4 key购买 nike

我想在(自托管)bitbucket 服务器中克隆 github 存储库,并不时从 github 存储库中提取最新更改。在我们的克隆中,我们将做一些永远不会离开我们的存储库的实验性内容。

为了显示;对于fossil,我会确保我们的存储库和他们的存储库具有相同的项目ID,我会这样做:

$ cd ~/checkout/prjdir
$ fossil pull https://their.org/prj/foo --once

这将获得所有最新的 checkin 、分支、标签等。然后将其推送到我们组织的服务器:
$ fossil push

永远不会有任何冲突;我们的更改将在实验分支上进行,因此从上游更新时无需任何 merge 。

我试图复制化石工作流程并复制/粘贴一些似乎相关的内容,并为初始克隆提出以下建议:
$ git clone https://github.com/foo/bar.git
$ cd bar
$ git remote set-url origin https://ourbitbucket.org/foo/bar.git
$ git push -u origin master

然而,这似乎并没有带来标签(标签对我们很重要)。

使用 git(github 作为上游,我们的 bitbucket 服务器用于我们自己的标签/分支):
  • 如何制作存储库的完整克隆(包括所有
    分支和标签)?
  • 一旦我有一个克隆的存储库,我该如何
    从上游 pull 所有最新更改(包括分支、标签)
    (在 github 上)并将它们推送到我们的服务器(bitbucket)?
  • 最佳答案

    不要更改存储库的 URL。只需创建两个 Remote ,upstreamorigin .

    默认情况下不推送标签。使用 --tags推他们。

    $ git clone https://github.com/foo/bar.git
    $ cd bar
    $ git remote rename origin upstream
    $ git remote add origin https://ourbitbucket.org/foo/bar.git
    $ git push -u --tags origin master

    每当您想与上游同步时,请执行
    $ git checkout master
    $ git pull upstream master

    甚至
    $ git reset --hard upstream/master

    并重新设置您的分支(或将 master merge 到其中)以将他们的更改 merge 到您的工作中:
    $ git checkout my-branch
    $ git rebase master

    或者
    $ git checkout my-branch
    $ git merge master

    关于git - 维护 git 存储库的克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806356/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com