我按照这里的说明创建了一个git子树 - https://help.github.com/articles/working-with-subtree-merge
也许不幸的是,我对包含子树的存储库进行了正常的TortoiseGit推送。出于某种原因,来自子树的更改文件列在TortoiseGit的更改列表中(它被合法地更改,顺便说一句),所以我想“哦!整洁!TortoiseGit自动支持子树!”,所以我继续并承诺并做了一个正常的TortoiseGit推。
然后为了测试TortoiseGit做了我的想法,我得到了子树所在的存储库的克隆,然后拉了。可悲的是,我没有从我认为我推入TortoiseGit的子树中得到改变......
所以现在我不确定发生了什么,所以我求助于安装git-subtree并尝试在子树上使用push命令的不同变体,直到看起来有效 -
git subtree push --prefix=prime origin/prime prime/master
git subtree push --prefix=prime prime prime/master
git subtree push --prefix=prime/ -u prime/master
git subtree push --prefix=prime/ prime/master
git subtree push --prefix=prime/ prime prime/master
git subtree push --prefix=prime/ https://github.com/bryanedds/prime.git prime/master
git subtree push --prefix=prime/ https://github.com/bryanedds/prime.git master
我应该知道的不仅仅是猜测,因为我认为其中一条线意外地推了一个新的分支或者其他东西,现在可能导致与这个问题相关的问题......
尽管如此,我继续说,试着按照我在网上其他地方找到的指示来确保我做的事情还好 -
git subtree pull -P prime https://github.com/bryanedds/prime.git master
这似乎有效。但仍然不确定我是否正确推动,我根据我发现的新页面再次尝试推 - git subree push -P prime https://github.com/bryanedds/prime.git master
它给了我各种带有拒绝错误的疯狂输出 -
git push using: https://github.com/bryanedds/prime.git master
1/ 287 (0)2/ 287 (1)3/ 287 (2)4/ 287 (3)5/ 287 (4)6/ 287 (5)7/
287 (6)8/ 287 (7)9/ 287 (8)10/ 287 (9)11/ 287 (10)12/ 287 (11
)13/ 287 (12)14/ 287 (13)15/ 287 (14)16/ 287 (15)17/ 287 (16)18/
287 (17)19/ 287 (18)20/ 287 (19)21/ 287 (20)22/ 287 (21)23/ 28
7 (22)24/ 287 (23)25/ 287 (24)26/ 287 (25)27/ 287 (26)28/ 287 (27
)29/ 287 (28)30/ 287 (29)31/ 287 (30)32/ 287 (31)33/ 287 (32)34/
287 (33)35/ 287 (34)36/ 287 (35)37/ 287 (36)38/ 287 (37)39/ 28
7 (38)40/ 287 (39)41/ 287 (40)42/ 287 (41)43/ 287 (42)44/ 287 (43
)45/ 287 (44)46/ 287 (45)47/ 287 (46)48/ 287 (47)49/ 287 (48)50/
287 (49)51/ 287 (50)52/ 287 (51)53/ 287 (52)54/ 287 (53)55/ 28
7 (54)56/ 287 (55)57/ 287 (56)58/ 287 (57)59/ 287 (58)60/ 287 (59
)61/ 287 (60)62/ 287 (61)63/ 287 (62)64/ 287 (63)65/ 287 (64)66/
287 (65)67/ 287 (66)68/ 287 (67)69/ 287 (68)70/ 287 (69)71/ 28
7 (70)72/ 287 (71)73/ 287 (72)74/ 287 (73)75/ 287 (74)76/ 287 (75
)77/ 287 (76)78/ 287 (77)79/ 287 (78)80/ 287 (79)81/ 287 (80)82/
287 (81)83/ 287 (82)84/ 287 (83)85/ 287 (84)86/ 287 (85)87/ 28
7 (86)88/ 287 (87)89/ 287 (88)90/ 287 (89)91/ 287 (90)92/ 287 (91
)93/ 287 (92)94/ 287 (93)95/ 287 (94)96/ 287 (95)97/ 287 (96)98/
287 (97)99/ 287 (98)100/ 287 (99)101/ 287 (100)102/ 287 (101)103/
287 (102)104/ 287 (103)105/ 287 (104)106/ 287 (105)107/ 287 (106
)108/ 287 (107)109/ 287 (108)110/ 287 (109)111/ 287 (110)112/ 287
(111)113/ 287 (112)114/ 287 (113)115/ 287 (114)116/ 287 (115)117/
287 (116)118/ 287 (117)119/ 287 (118)120/ 287 (119)121/ 287 (120)1
22/ 287 (121)123/ 287 (122)124/ 287 (123)125/ 287 (124)126/ 287 (
125)127/ 287 (126)128/ 287 (127)129/ 287 (128)130/ 287 (129)131/
287 (130)132/ 287 (131)133/ 287 (132)134/ 287 (133)135/ 287 (134)136
/ 287 (135)137/ 287 (136)138/ 287 (137)139/ 287 (138)140/ 287 (13
9)141/ 287 (140)142/ 287 (141)143/ 287 (142)144/ 287 (143)145/ 28
7 (144)146/ 287 (145)147/ 287 (146)148/ 287 (147)149/ 287 (148)150/
287 (149)151/ 287 (150)152/ 287 (151)153/ 287 (152)154/ 287 (153)
155/ 287 (154)156/ 287 (155)157/ 287 (156)158/ 287 (157)159/ 287
(158)160/ 287 (159)161/ 287 (160)162/ 287 (161)163/ 287 (162)164/
287 (163)165/ 287 (164)166/ 287 (165)167/ 287 (166)168/ 287 (167)16
9/ 287 (168)170/ 287 (169)171/ 287 (170)172/ 287 (171)173/ 287 (1
72)174/ 287 (173)175/ 287 (174)176/ 287 (175)177/ 287 (176)178/ 2
87 (177)179/ 287 (178)180/ 287 (179)181/ 287 (180)182/ 287 (181)183/
287 (182)184/ 287 (183)185/ 287 (184)186/ 287 (185)187/ 287 (186
)188/ 287 (187)189/ 287 (188)190/ 287 (189)191/ 287 (190)192/ 287
(191)193/ 287 (192)194/ 287 (193)195/ 287 (194)196/ 287 (195)197/
287 (196)198/ 287 (197)199/ 287 (198)200/ 287 (199)201/ 287 (200)2
02/ 287 (201)203/ 287 (202)204/ 287 (203)205/ 287 (204)206/ 287 (
205)207/ 287 (206)208/ 287 (207)209/ 287 (208)210/ 287 (209)211/
287 (210)212/ 287 (211)213/ 287 (212)214/ 287 (213)215/ 287 (214)216
/ 287 (215)217/ 287 (216)218/ 287 (217)219/ 287 (218)220/ 287 (21
9)221/ 287 (220)222/ 287 (221)223/ 287 (222)224/ 287 (223)225/ 28
7 (224)226/ 287 (225)227/ 287 (226)228/ 287 (227)229/ 287 (228)230/
287 (229)231/ 287 (230)232/ 287 (231)233/ 287 (232)234/ 287 (233)
235/ 287 (234)236/ 287 (235)237/ 287 (236)238/ 287 (237)239/ 287
(238)240/ 287 (239)241/ 287 (240)242/ 287 (241)243/ 287 (242)244/
287 (243)245/ 287 (244)246/ 287 (245)247/ 287 (246)248/ 287 (247)24
9/ 287 (248)250/ 287 (249)251/ 287 (250)252/ 287 (251)253/ 287 (2
52)254/ 287 (253)255/ 287 (254)256/ 287 (255)257/ 287 (256)258/ 2
87 (257)259/ 287 (258)260/ 287 (259)261/ 287 (260)262/ 287 (261)263/
287 (262)264/ 287 (263)265/ 287 (264)266/ 287 (265)267/ 287 (266
)268/ 287 (267)269/ 287 (268)270/ 287 (269)271/ 287 (270)272/ 287
(271)273/ 287 (272)274/ 287 (273)275/ 287 (274)276/ 287 (275)277/
287 (276)278/ 287 (277)279/ 287 (278)280/ 287 (279)281/ 287 (280)2
82/ 287 (281)283/ 287 (282)284/ 287 (283)285/ 287 (284)286/ 287 (
285)287/ 287 (286)Username for 'https://github.com': bryanedds
Password for 'https://bryanedds@github.com':
To https://github.com/bryanedds/prime.git
! [rejected] f9376cdb70e9217ff005abedb3009e3db293f5dc -> master (non-fas
t-forward)
error: failed to push some refs to 'https://github.com/bryanedds/prime.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
我再次尝试拉,但无济于事。而且,重要的是,所有的数字,parens和斜杠是什么???我现在完全陷入困境和迷失,这可能是我的笨手笨脚,所以我真诚地感谢你对此事的帮助!
最后,我可能已经做了其他不好的事情,同时深入挖掘这个漏洞......我希望我能记录下我所做的一切,但是CMD并不认为任何人都需要了解更多他们的会议线........> :(
答案 0 :(得分:4)
您提供的链接是关于子树合并的,不要与git subtree
命令混淆,后者是git扩展的一部分。
如果您执行git branch
并且除了父项目的prime
分支外,您可以看到本地master
分支,那么您可以执行
git subtree split --prefix=prime --onto prime --branch prime
然后使用
推送到prime
存储库
git push -f prime prime:master
如果您没有在本地看到prime
分支,那么您可以通过git subtree
进行新的分割
git subtree split --prefix=prime --branch prime
它将创建一个名为prime
的新挂起分支,可以跟踪您的远程prime
存储库。要更新prime
远程存储库,您可以执行
git push -f prime prime:master
答案 1 :(得分:0)
在尝试推送我在子树中所做的更改时遇到了同样的问题。我使用git bash完成了所有设置,但在尝试将子树推送到遥控器时获得了相同类型的输出。
解决方案是将git更新为最新版本a https://git-scm.com/downloads。
之后,以前失败的命令现在有效:
git subtree push --prefix=DIR_PATH REMOTE_NAME master