哪个推Refspec(Git)是正确的?还是两者都正确?有什么区别?
refs/heads/*:refs/heads/origin/*
refs/heads/*:refs/heads/*
我更喜欢(1),因为它引用了远程名称(起源),而且我不理解(2)的含义(但我在某些手册中看到了它!)。
答案 0 :(得分:2)
使用refs/heads/*:refs/heads/origin/*
,git push origin master
将扩展为git push origin refs/heads/master:refs/heads/origin/master
。它将在远程存储库中创建或更新名为origin/master
的分支。这是有效的,但refs/heads/origin/master
与refs/remotes/origin/master
可能会模棱两可。在某些情况下,它可能会导致错误。
第二个有效。使用remote.origin.push=refs/heads/*:refs/heads/*
,git push
扩展为git push origin refs/heads/master:refs/heads/master refs/heads/dev:refs/heads/dev
,而git push origin master
扩展为git push origin refs/heads/master:refs/heads/master
。