从现有的本地分支机构推送到新的在线存储库

时间:2019-01-24 15:13:34

标签: git gitlab git-flow

基本上,我们的在线存储库中有mastertesting-stage

我当前已连接到testing-stage,并已用本地更新。现在,测试阶段已与master合并。

然后发生的是,testing-stage已在gitLab的网站上手动删除,然后创建了一个新的存储库,并将其命名为test,它与如上所述完成合并的master相同。现在,我做了一些更改,想签出并推送到test,但是我当前的本地存储库正在侦听先前删除的testing-stage。我能做的最好的事情是什么?

3 个答案:

答案 0 :(得分:2)

鉴于我正确理解了您的问题...

运行git remote -v将使您可以查看远程URL。

您可以做的是删除指向旧存储库的旧远程URL:

git remote rm remote_name

我怀疑名称将为origin

然后,您可以添加一个指向新存储库的新远程对象:

git remote add origin url_to_new_repository

您也可以只添加一个新的远程URL而不必删除旧的远程URL,在这种情况下,您将有两个不同的远程URL。

答案 1 :(得分:1)

我会这样:

  1. 克隆test存储库以将其本地存储
  2. 使用testing-stagegit status中查看修改后的文件
  3. 将所有这些修改后的文件复制/粘贴到test存储库的文件夹项目中
  4. 将修改推送到远程test存储库

答案 2 :(得分:1)

我建议从测试中挑选从当前分支到主分支的更改。那就是:

  • 更改远程URL:

    git remote rename origin oldorigin
    git remote add origin $test_url
    
  • 为您当前的分支取一个新名称:

    git checkout -b mybranch
    
  • 切换到master分支并拉:

    git checkout master
    git pull -u origin master:master
    

    现在,本地master分支应与测试存储库中的master分支同步。

  • 樱桃选择您的更改。对于您的每个新提交:

    git log mybranch # find id of your commit
    git cherry-pick $commit_id
    
  • 最后,推送到测试的主人

    git push