我是git的新手。我所做的是分发了我感兴趣的几个存储库,然后将它们克隆到我的计算机上与它们一起工作。从远程git存储库中更改
某些原始项目可能会因为我曾经与本地副本混淆而显着更新,或者我可能会做出一些微不足道的更改。
从我所了解的情况来看,我可以“改变”我的克隆,从原来的变化中“拉”出来。
这对我的更改有什么影响?例如,假设有一个来自原文件的文件DoSomething.cpp
。我修改它,也许修正一个小错误或添加一个功能。现在! 1年后,原来的项目经历了许多修改,并且好得多。我想将这些变化“拉”到我的克隆中,但保持我的变化! (所以这是一种推动的反面)
这很容易吗?如果是这样,那么基本思路是什么?
我想从原始克隆(我改变的东西)克隆的任何变化都不会被覆盖,但我实际上可以合并我的变化和原始(在我的叉子上),并赋予能力实际检查并接受更改。 (例如,如果DoSomething.cpp
已改变原来那么我需要比较的变化,以确保它们兼容。
我想这不是难事,因为我是叉的所有者我可以rebase或硬重置它然后把我的本地更改我的叉子?(不知道是否会工作虽然因为是版本问题,一个潜力巨大的),找出哪个分支你在,这是用git status
做
'混帐拉--rebase'将尝试试探性地合并更改;如果它不能,它会告诉你它失败了,你必须进行合并。 –
@larsmans:所以,我想我需要一些工具,可以变基,警告我,告诉我的问题,可能是我自己修复,然后尝试再次重订,直到有没有错误?也就是说,是重新设定一个全部还是没有过程? – jsmdnq
所有这一切正是Git已经做的。你为什么不尝试从头开始回购? –