我正在处理这个大型项目,我的源代码存储在Gitlab上。
我把代码交给了另一个人,他们做了一些重要的工作,然后把它存放在Bitbucket上。
现在我想把这个人的代码添加到我现有的Gitlab仓库(作为一个新的提交)。我怎么能这样做?
我正在使用Windows。
由于
答案 0 :(得分:1)
最简单的方法是使用msysgit提供的Git bash。
您可以设置多个来源,并且可以将其分支与当前工作树合并。我假设另一个人只改变了他的主分支。
<强>第一强>
将另一个存储库设置为另一个远程:
git remote add bitb "https://bitbucket......."
,然后强>
从此远程获取更改
git fetch bitb master
现在你必须决定
a)通常(简单,git-way of things)你将另一个分支合并到你的主分支
git merge bitb/master
这样您就可以保留所有提交内容并将其与master
中的更改合并。您的存储库也将保持兼容,以便将来进行协作。
b)我不认为你真的想把他所有的变化压缩成一个单独的提交并合并,在这种情况下你丢失所有的笔记和简单的更改和您的存储库的兼容性。
如果你真的想这样做,你可以切换到他的分支(git checkout bitb/master
)并使用git rebase -i master
来压缩他的所有提交,因为他从主分离到一个单一的提交,切换回master( git checkout master
并将单个提交合并到您的主(git merge bitb/master
)
考虑一下Keep-it-simple原则并选择第一个选项。
答案 1 :(得分:0)
嗯,我问自己,你是否想要合并这些变化,或者只是得到对方所做的精确副本。您也可能git reset --hard bitb/master
和您的工作树看起来与其他人的计算机完全相同。但是,由于你给了另一个人代码,你将失去你的承诺......