2017-05-26 45 views
0

我一直在研究一个非常大的项目。 我在Gitlab上有我的项目,名为ProjectXYZ,过去有几次提交。Git - 如何用其他开发人员的新代码更新我的回购

我最近给我的代码给第三个人做了一些修改(这可能是添加,删除,修改文件)

虽然我把代码给了第三个人,但我没有对我做任何改变。所以,如果有什么变化,它就在第三个人身上。

最近这个人递给我一个.ZIP文件夹中修改完整的代码。

我提取了ZIP文件夹,并启动了解决方案文件,并确认事情正在使用该人的新代码。

现在,我想把这个新代码推到我现有的Gitlab上的ProjectXYZ上。我也想保存所有以前的提交。

以下步骤是我认为我会做的,请让我知道这是否可行。

1)我将进入我的本地PC上的现有ProjectXYZ目录并删除除了.git文件夹(保留git)以外的所有内容。

2)然后,我从其他人发送给我的文件夹中复制所有内容,并将其粘贴到本地PC上现有的ProjectXYZ目录中。 3)我会做一个git add * - > git commit - > git push - >来更新我的git repo。

注意:因为在将代码提供给第三方代码后,我没有对其进行任何更改,所以我不担心丢失任何代码更改。

请让我知道,如果这是一个正确的做法。据我所知,可能有其他的方式做,但请相信我,我已经尝试和失败这样一个My other post

谢谢

+1

如果你的工作树将从开发人员开始工作的地方站在修订版本上,这听起来是正确的......但是,在提交时,确保设置--author,以便知道应该责怪谁有些东西是不正确的。 – eftshift0

+0

@ Edmundo我会失去任何历史/曲目变化吗? – CB4

+1

只要不删除.git目录,就不会丢失项目历史记录中的任何内容。 – eftshift0

回答

1

您可以按照此步骤:

  1. git的结帐-b变化(这里的变化是所有变化做了由第三人)
  2. 粘贴.zip文件中的所有文件在该分支
  3. 执行git的添加,提交和推送像你说的
  4. 做底垫:git的重订主
  5. 返回用git结帐主掌握

为什么这样做?

当你使用rebase而不是合并你的mantain清理超出你的日志时保存在另一个分支中隔离的更改。

+0

@ Ivan我该怎么做2)将.zip中的所有文件粘贴到这个分支中? – CB4

+0

当我做git checkout -b changes - > git创建一个名为changes的新分支时,将.zip的内容提取到最近创建的分支,名为changes –

+0

,但我将无法在本地目录中看到此文件夹把它粘贴到那里? – CB4

0

@Ivan罗德里格斯

我开始用你的建议,最终我找到了解决办法如下。这种方法是:

我)创建一个“开发”分支

ii)作出,并承诺本Dev分支的任何更改(您不必为“推”,如果你不想要的git显示在项目树Dev分支)

III)终于合并这个掌握

下面是对我的作品的步骤:

1.git结账-b BranchX

2.do你的开发工作......或根据需要进行

3.git添加*(添加所有的变化)

4.git提交-m任何改变文件/文件夹/目录“我的消息“

5.git推起源BranchX(你不需要做到这一点,它剧照工作)

6.git重订主

7.git结账主

8.git合并BranchX

9.git推起源主

现在,主分支将所有的东西,最新的。

再次,非常感谢大家的帮助。

+0

有人可以确认我在这里描述的方法是否正确吗?我以后不想再有任何问题。谢谢 – CB4

相关问题