git不同分支提交到不同仓库

worktile 其他 343

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要将不同分支的代码提交到不同的仓库,你可以按照以下步骤操作:

    1. 创建不同的远程仓库:首先,你需要在每个代码分支对应的项目中创建不同的远程仓库。可以使用像GitHub、GitLab或Bitbucket这样的代码托管平台进行操作。

    2. 克隆仓库到本地:使用git命令将你的远程仓库克隆到本地。在终端中运行以下命令:
    “`
    git clone <远程仓库URL>
    “`

    3. 创建并切换到新的分支:在本地仓库中,创建一个新的分支并切换到该分支。在终端中运行以下命令:
    “`
    git branch <新分支名称>
    git checkout <新分支名称>
    “`

    4. 提交代码到不同仓库:在新的分支上进行代码修改和提交。当你完成了对这个分支的修改时,使用以下命令将代码推送到特定的远程仓库:
    “`
    git remote add <仓库名称> <仓库URL>
    git push <仓库名称> <分支名称>
    “`
    请确保将 `<仓库名称>` 替换为你为该仓库指定的名称,而 `<仓库URL>` 替换为该仓库的远程仓库URL。

    重复以上步骤,为每个分支创建新的远程仓库并将代码提交到相应的仓库即可。

    需要注意的是,每个远程仓库应该有不同的远程名称,以确保正确地推送到相应的仓库。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Git中,不同分支提交到不同仓库可以通过以下几种方法实现:

    1. 使用多个远程仓库:可以为每个分支设置不同的远程仓库,然后将分支推送到相应的远程仓库。这样每个分支就会被分别保存到不同的仓库中。

    “`bash
    # 添加第一个远程仓库
    git remote add origin1
    # 将分支A推送到第一个远程仓库
    git push origin1 branchA

    # 添加第二个远程仓库
    git remote add origin2
    # 将分支B推送到第二个远程仓库
    git push origin2 branchB
    “`

    2. 使用Git Hooks:可以在Git Hooks中通过脚本来实现不同分支提交到不同仓库的逻辑。可以在pre-push钩子中编写逻辑判断当前提交的分支,并将对应的分支推送到相应的仓库。

    “`bash
    # 在.git/hooks目录下创建pre-push文件(没有就创建文件夹和文件),并设置执行权限
    touch .git/hooks/pre-push
    chmod +x .git/hooks/pre-push
    “`

    然后在pre-push文件中编写脚本,例如:

    “`bash
    #!/bin/sh

    current_branch=$(git symbolic-ref HEAD | sed -e ‘s,.*/\(.*\),\1,’)

    if [ “$current_branch” = “branchA” ]; then
    git push origin1 branchA
    elif [ “$current_branch” = “branchB” ]; then
    git push origin2 branchB
    else
    echo “Error: Unknown branch!”
    exit 1
    fi

    exit 0
    “`

    这样,每次执行git push命令时,pre-push钩子会判断当前分支并推送到相应的仓库。

    3. 使用多个本地仓库和远程仓库:可以为每个分支配置一个独立的本地仓库,然后将对应的本地仓库与远程仓库关联。这样每个分支就会有独立的本地仓库和远程仓库。

    “`bash
    # 在不同的目录下分别克隆远程仓库,分别创建不同的本地仓库
    # 本地仓库A
    cd /path/to/repoA
    git clone

    # 本地仓库B
    cd /path/to/repoB
    git clone

    # 将本地仓库A关联到远程仓库A
    cd /path/to/repoA
    git remote add origin1

    # 将本地仓库B关联到远程仓库B
    cd /path/to/repoB
    git remote add origin2
    “`

    然后,可以分别在不同的本地仓库中进行提交,并将对应的分支推送到相应的远程仓库。

    4. 使用Git Submodules:可以将不同仓库作为Git Submodules添加到主仓库中,并将不同的分支提交到相应的子模块仓库。

    “`bash
    # 将子模块A添加到主仓库中
    git submodule add submodules/A
    # 将子模块B添加到主仓库中
    git submodule add submodules/B

    # 切换到子模块A
    cd submodules/A
    # 在子模块A中创建分支A并提交
    git checkout -b branchA
    git commit -am “Commit on branchA”
    # 推送分支A到远程仓库A
    git push origin1 branchA

    # 切换到子模块B
    cd ../submodules/B
    # 在子模块B中创建分支B并提交
    git checkout -b branchB
    git commit -am “Commit on branchB”
    # 推送分支B到远程仓库B
    git push origin2 branchB
    “`

    这样,每个子模块就可以单独管理自己的分支和远程仓库。

    以上是实现不同分支提交到不同仓库的几种方法,可以根据实际情况选择适合自己的方式进行操作。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要将不同分支的提交推送到不同的仓库,可以按照以下方法操作:

    1. 创建多个远程仓库:
    首先,需要在你的版本管理系统中创建多个远程仓库。可以在不同的代码托管平台(如GitHub、GitLab等)上创建不同的仓库,或者在同一托管平台上创建多个仓库。

    2. 添加远程仓库:
    在本地的Git仓库中,需要添加多个远程仓库地址。可以使用以下命令添加远程仓库:
    “`
    git remote add <仓库名称> <仓库地址>
    “`
    例如,添加一个名为`origin1`的远程仓库:
    “`
    git remote add origin1 https://github.com/user/repo1.git
    “`

    3. 创建并切换到不同的分支:
    使用以下命令创建并切换到不同的分支:
    “`
    git branch <分支名称>
    git checkout <分支名称>
    “`
    或者可以使用以下命令快速创建并切换到新分支:
    “`
    git checkout -b <分支名称>
    “`
    例如,创建并切换到一个名为`branch1`的分支:
    “`
    git branch branch1
    git checkout branch1
    “`

    4. 提交并推送到对应的远程仓库:
    在每个分支上进行代码修改后,使用以下命令提交和推送代码到对应的远程仓库:
    “`
    git add <文件或目录>
    git commit -m “提交信息”
    git push <远程仓库名称> <本地分支名称>
    “`
    例如,提交并推送到`origin1`仓库的`branch1`分支:
    “`
    git add .
    git commit -m “提交分支1的修改”
    git push origin1 branch1
    “`
    如果使用过`git remote add`命令添加的远程仓库没有指定默认的分支,需要在`git push`命令中显式指定本地分支的名称。否则,Git将会尝试推送当前分支的修改到远程仓库的同名分支。

    可以重复上述步骤,在本地创建多个分支,并将每个分支的提交推送到对应的远程仓库。这样就可以实现将不同分支的提交推送到不同的仓库的需求。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部