我的子树说它是最新的,但是我不能推送新文件
git subtree pull --prefix=CASE-SENSITIVE-PATH-TO-FOLDER remote-alias master
我正在关注Git subtree - subtree up-to-date but can't push。
但是需要一个仅对Windows有效的解决方案。提供的一个无效。
错误:
! [已拒绝] d6a4b0aef2c196a0d80177a96586dd1e6f3c8544->主站(非快进)
错误:无法将某些引用推送到“ https://repourl/repo.git”
提示:由于推送的分支提示位于其远程后面,因此更新被拒绝
提示:对应。签出此分支并集成远程更改
提示:(例如'git pull ...'),然后再次按下。
提示:有关详细信息,请参见“ git push --help”中的“关于快进的注意事项”。
这是我尝试过的
git subtree split --prefix path-to-folder master
执行上面的代码会给我以下错误
错误:
致命:模棱两可的参数“主人”:未知的修订或路径不在工作树中。 使用“-”将路径与修订分开,如下所示: 'git [<版本> ...]-[<文件> ...]'
同时运行两个工具,它们都给了我令牌'd6a4b0aef2c196a0d80177a96586dd1e6f3c8544',但是我在尝试弄清楚如何“强制”分支时遇到了麻烦
git subtree split --prefix CASE-SENSITIVE-PATH-TO-FOLDER
git subtree split --prefix CASE-SENSITIVE-PATH-TO-FOLDER -b master
答案 0 :(得分:0)
所以这是经过大量挖掘的工作。
看着@aednichols的评论,我发现:
git push <your subtree's origin> `git subtree split --prefix=Path/to/subtree`:master --force
这是我的蝙蝠文件。
for /f "delims=" %%a in ('git subtree split --prefix CASE-SENSITIVE-PATH-TO-FOLDER') do @set token=%%a
git push https://repo/repo.git %token%:master --force
pause
如果使用除master以外的其他东西,请添加子树目录
git subtree split --prefix CASE-SENSITIVE-PATH-TO-FOLDER -b subtreedir