gpt4 book ai didi

git - 从远程 git 存储库中 pull 更改

转载 作者:太空狗 更新时间:2023-10-29 13:26:44 25 4
gpt4 key购买 nike

我是 git 的新手。我所做的是 fork 几个我感兴趣的存储库,然后将它们克隆到我的计算机上以使用它们。

一些原始项目可能会因为我弄乱了我的本地副本而进行了重大更新,或者我可能会进行一些无关紧要的更改。

据我所知,我可以“ rebase ”我的克隆以从原始版本中“pull ”更改。

这对我的更改有何影响?例如,假设有一个来自原始文件的 DoSomething.cpp。我修改它,可能会修复一个小错误或添加一个功能。现在! 1 年后,最初的项目经过多次修改,变得更好了。我想将这些更改“pull ”到我的克隆中,但也要保留我的更改! (所以这有点像推的反面)

这很容易做到吗?如果是这样,基本思想是什么?

我想要的是我的克隆从原始克隆(我已经改变的东西)的任何变化都不会被覆盖但我实际上可以 merge 我的变化和原始(在我的 fork 上)并被赋予能力实际检查并接受更改。 (例如,如果 DoSomething.cpp 在原始文件中发生了更改,那么我需要比较这些更改以确保它们兼容。

我想这并不困难,因为我是 fork 的所有者,我可以 rebase 或硬重置它,然后将我的本地更改推送到我的 fork ? (不确定它是否会起作用,因为版本控制问题的可能性很大)

最佳答案

你说得对, rebase 是让你的代码保持最新的一种方式,而且非常常用。

根据我的经验, rebase 在管理 git 历史方面更有用。它使您的历史保持良好和线性,它使工作看起来是按顺序而不是并行进行的。另一方面,常规 merge 将涉及大量发散/收敛提交。您可以使用 git log --graph 直观地查看这种差异。

简而言之,rebase 接受您的提交,将它们变成补丁,然后将它们应用到您要 rebase 的分支。如果有冲突,git 会停止并要求你解决它们,然后你可以让它继续。因此,您仍在 merge 和解决冲突,但只是以一种使历史线性化的方式。

关于git - 从远程 git 存储库中 pull 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13626593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com