我如何才能在不同的回购中加入最新的变化,并在git上保持更新



所以背景是我有一个repo,它是生产repo,还有一个测试repo,是该生产repo的克隆。我对那个克隆的做了一些改动。

现在已经有一段时间了,生产版已经进行了多次更新和提交。

我想用生产版的所有更改来更新我的克隆repo,使其成为我克隆repo的最新提交,但也要保留我在克隆repo上所做的一些更改。

我该怎么做?

在本地机器上,设置到两个存储库的远程

git remote add prod <produrl>

git remote add clone <cloneurl>

执行git fetch以下拉所有不同的分支

签出您想要的git checkout -b localbranch clone/<branch>的克隆分支

合并来自生产git merge prod/<branch name>的更改

作为Git的新手,我很同情——这可能是一个令人生畏的学习曲线!

Git需要注意的一点是,它通常是非破坏性的,不会轻易消除本地版本上的任何更改。它只查看自上次克隆或从上游版本中提取以来对上游版本所做的更改,并尝试将这些更改应用于本地版本。因此,如果文件的上游版本";x〃;则它将把相同的代码块添加到文件"的本地版本;x〃;。但是,如果您添加或更改了一个文件";y";在您的本地版本上,那么只要上游版本的";y";自上次";"拉动";,那么Git将不会对该文件感兴趣,而是让您的本地更新生效。

在大多数情况下,单独的获取和合并是不必要的——您只需要确保本地版本没有未提交的更改("git状态"不应显示任何文件(,然后运行"git";git pull";。您的克隆版本可能已经隐式链接到上游版本——您可以运行";git remote-v";检查这个-这样你就不需要在";git远程添加";等

唯一复杂的情况是,您在进行本地更改的同时,远程版本上的相同文件也发生了不同的更改。在这种情况下;git pull";会引起Git的回应,告诉你需要做什么。不要恐慌;只要仔细阅读说明书,它就会比你想象的更简单。

这一切都大大简化了程序,而且我不是专家,所以对我说的话持保留态度,但你只需要深入了解,看看会发生什么。如果更新出错,你几乎总是可以撤销它,作为一个额外的保证,早期关于创建一个新分支的建议;保存";你的工作很好。

最新更新