Dav*_*Dav 11 git github git-rebase github-for-windows
我对github社交编码很新,并且在遵循github准则方面遇到了麻烦.我将尝试描述发生了什么以及我想要实现的目标 - 希望更有经验的git向导可以帮助我找出到达那里所需的街机命令.
我想得到所有合并到上游/主站的更改.最好是各自的提交,而不是数百个文件的大量提交.因为我在前 上游/主人(2012年3月29日)进行开发,我想有效地需要在3月29日的最后一次上游/主变更和8月8日的第一次提交之间"插入"一些提交,并且然后在那之上添加稍后发生的那些.我怎么做?
(我也不想在这个过程中破坏我的提交/分叉;-)
git checkout master
git remote add upstream git://github.com/phatboyg/MassTransit.git
git rebase upstream/master
git push
Run Code Online (Sandbox Code Playgroud)
但是,它不会让我这么做git push,抱怨我的本地提示是在原点后面的10个提交(可能是我在我的主题分支上做的提交,后来合并到origin/master?).
似乎我可能被建议所困扰.例如.或许最好创建一个单独的分支,例如.本地主人,把它视为......好吧,我自己的主人.然后,主会在那里只为与保持联系上游/大师,我偶尔会重订原产/主与上游/大师与合并原点/本地主 ...
你们如何管理你的货叉?
我一直无法找到一种方法来可视化分支历史,哪些分支与另一个分支以及何时合并等等.Github for Windows仅显示当前所选分支的平面历史(这里是悲伤的面孔).该网站确实有一些网络的可视化(这里是一个MassTransit),但这比TortoiseHg中的图表说的信息要少得多.我错过了一些明显的东西吗 其他人是否只记得与什么时候合并的内容?
我正在分享一个穷人的可视化来帮助解释发生了什么.
我假设你将会或者已经origin为你的前叉设置了一个遥控器,并且upstream(如上所述)也是如此.
然后我会取一下,upstream这样你就可以把所有分支都保存在本地.然后,您可以在repos之间进行比较,并查看在分歧日期或附近是否存在共同提交.
该gitk --all可视化是有用的在这里.不要忘记,即使你做了一个rebase,旧的提交系列仍然存在,所以你可以给它一个名字
[编辑]一个罗嗦的描述.
很明显,合并提交正在"阻碍",因此需要进行按摩,以便可以使回购再次同步.
temp在你当前的头上创建一个分支,这样就不会丢失任何东西.reset 你的主分支回到你和上游之间的最后一次公共提交.reset 您的功能分支到合并之前.checkout 然后,合并提交以获得您期望的工作树commit修复了feature分支上的工作树(即没有合并).你现在有一条干净的线master,一条干净但旧的线feature,以及任何合并后的开发temp.如果快乐,你应该能够强行推动这个origin.
pull从上游 - 它(即master等)应该全部快进.rebase这些合并后的发展从temp上feature(如果需要).rebase feature 到最后一次提交你对master很熟悉(应该相对简单).rebase feature (再次)对主人的最新提交,在你去的时候修好(如果很容易就结合最后一步;-).这应该最终为您提供一个完整的功能开发线,在主人的头上,适合拉上游而没有任何冲突.
| 归档时间: |
|
| 查看次数: |
7595 次 |
| 最近记录: |