Git子树-子树是最新的,但不能推送到Windows

时间:2018-09-26 16:51:48

标签: windows git git-subtree

我的子树说它是最新的,但是我不能推送新文件

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

1 个答案:

答案 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