社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Prasheel  »  全部回复
回复总数  2
6 年前
回复了 Prasheel 创建的主题 » 我该如何理解这个git回扣——举个例子?

git rebase的三元形式 假设有一个分支topica在某个点上与master分离:

A--B--C--D--E主机

 F--G--H topicA

假设还有其他人从topica分支创建了topicb,并添加了更多提交:

A--B--C--D--E主机

 F--G--H topicA

         I--J--K--L--M topicB

这是我遇到的一个真实案例的一个例子,topica只有几个非常大的提交,这些提交很难消化,可能会被拆分成许多较小的提交。TopICB是作为对TopICA所做工作的延续而创建的。

我查看了我自己的本地topica副本,通过大量的交互回扣和git add-e的大量使用,我能够将topica拆分成更小的提交,使topicc:

A--B--C--D--E主机 γ | F--G--H托皮卡 γ |我——J——K——L——我是托皮克 γ N--O--P--Q--R--S--T--U--V--W拓扑

我和制作托皮卡的人谈过了,我们同意由我的托皮卡分公司代替托皮卡。但对于在topicb上所做的工作该怎么办呢?

我们想做的操作是:让topicc成为topicb的新基地,在topicb与topica分离的地方切割它,看起来像:

A--B--C--D--E主机 γ | F--G--H托皮卡 γ |我——J——K——L——我是托皮克

 N--O--P--Q--R--S--T--U--V--W--I'--J'--K'--L'--M' topicC

topicb的五个承诺(i到m)在topicc之上播放,从topicb与topica分离的地方开始,创建i、j、k、l和m。

执行此操作的命令是:

git rebase --onto topicC topicA topicB

其中topicc是新基地,topica是旧基地,topicb是topicc负责人的参考。

所以你的答案是,是的,它可以不用^ ^

^的意义是:

head是指当前分支尖端的第一个父级。

请记住,Git提交可以有多个父级。{头}是对π头^ 1的短,并且您也可以适当地对“x”头“2”等进行处理。

你可以得到任何承诺的父母,而不是正义。你也可以通过一代又一代地移动:例如,Master ~2意味着主分支尖端的祖父母,在歧义的情况下倾向于第一亲本。这些说明符可以任意链接,例如,主题~ 3 ^ 2。

6 年前
回复了 Prasheel 创建的主题 » 带有默认参数的git rebase不会检测到冲突。为什么?

试着做一个 git fetch origin 之前 git rebase master . 这应该能达到目的。