【问题标题】:Importing commit from Bitbucket to Existing Gitlab repo将提交从 Bitbucket 导入现有 Gitlab 存储库
【发布时间】:2017-04-25 20:29:03
【问题描述】:

我正在处理这个大型项目,我的源代码存储在 Gitlab 上。

我将代码提供给了另一个人,他们对其进行了一些重要的工作,并将其存储在 Bitbucket 上。

现在我想获取此人的代码并将其添加到我现有的 Gitlab 存储库中(作为新提交)。我该怎么做?

我正在使用 Windows。

谢谢

编辑:您有未定义的路径。

【问题讨论】:

  • 我认为你必须开始通过摘樱桃来弄脏你的手。因此,向 bitbucket 存储库添加一个新的遥控器,获取然后开始挑选您的分支(或合并/变基,无论您认为什么是有意义的)。

标签: git bitbucket gitlab


【解决方案1】:

最简单的方法是使用 msysgit 提供的 Git bash。

您可以设置多个来源,并且可以将它们的分支与您当前的工作树合并。我假设其他人只更改了他的主分支。

第一 将另一个存储库设置为另一个远程: git remote add bitb "https://bitbucket......."

那么 从此远程获取更改 git fetch bitb master

现在你必须做出决定

a) 通常(简单的 git 做事方式) 你将另一个分支合并到你的主分支 git merge bitb/master

这样您就可以保留他的所有提交并将它们与您在master 中的更改合并。您的存储库也将保持兼容以备将来协作。

b) 我不认为你真的想将他的所有更改压缩到一个单独的提交中并合并它,在这种情况下你丢失他所有的笔记和简单的更改以及存储库的兼容性。

如果你真的想这样做,你可以切换到他的分支 (git checkout bitb/master) 并使用 git rebase -i master 压缩他的所有提交,因为他从 master 分支到一个单一提交,切换回 master (git checkout master 和将单个提交合并到您的 master (git merge bitb/master)

想一想 Keep-it-simple 原则并选择第一个选项。

【讨论】:

  • 您好,谢谢您的回答。我按照你的步骤,我得到“你有未合并的路径”请在原始帖子中查看我的编辑.....我该怎么办?
  • 嗨!未合并的路径意味着您更改了一些文件(在“都添加”部分中列出)但其他人也更改了。 git 的神奇之处 - 但它无法决定如何合并/如何正确组合更改。您需要打开文件并查看您(同时)更改的代码的哪些部分以及如何安排这些。 Git 会在文件中放置“>>>>”标记。自动创建的,你不关心的 obj/* 文件,可以手动删除。然后运行git add .git commit 完成合并。
  • 哇,我确实有数百个文件(请注意,有问题的图片只是一个演示)。有没有一种快速的方法可以自动“排除其他人的所有更改”?
  • 你的意思是接受吗?是的,你可以运行 git merge --abort 来撤消 git 已经做过的更改,然后使用 git merge -X theirs bitb/master
  • 但请记住,如果其他人也更改了相同的部分,这将完全放弃您的更改。
【解决方案2】:

好吧,我问自己,您是否想要合并更改,或者只是获取其他人所做操作的精确副本。您也可以git reset --hard bitb/master 并且您的工作树看起来与其他人的计算机完全相同。但是,由于您将代码提供给其他人,因此您将丢失所做的提交...

【讨论】:

  • 在运行这篇文章中的命令之前我必须运行什么命令?我只是尝试了一些东西,但它没有用。您能否再次给我一个完整的步骤,让我只想要另一个人所做的精确副本。非常感谢您的帮助。
  • git remote add bitb "https://bitbucket........" ; git fetch bitb master ; git reset --hard bitb/master
  • 我这样做了,但我的仓库没有更新???我错过了 git commit/add/push 什么的吗?
  • head 现在指向其他人的提交......但是我的仓库没有更新他们的东西
  • 试试git checkout HEAD -- . 输出是什么?
猜你喜欢
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 2014-08-15
  • 2019-02-24
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多