想要从Subversion迁移到Git。希望有一个通用的中央存储库(origin(以及开发人员将在其中工作的本地存储库。其想法是更新本地存储库,然后推送到中央存储库。
我一直在尝试学习各种教程,但被挂断了。这是一个Windows环境。
如图所示,设置下面的bat文件。目的是设置两个文件夹作为Git存储库:Git远程(gitTestOrigin(和本地(gitTestLocal(。
然后将gitTestOrigin设置为从远程到本地。然后在local中创建一个文件,将其添加到Git中,提交并推送到origin。
当test.bat到达推送时,获得以下消息(已编辑(:
remote:错误:拒绝更新签出的分支:refs/heads/master remote:error:默认情况下,更新当前非裸存储库远程中的分支:被拒绝,因为它将使索引和工作树不一致![远程拒绝]母版->master(分支当前已签出(错误:未能将一些引用推送到"g:\gitTestOrigin">
另一篇文章中关于这个错误的一个建议是将origin作为一个空的存储库。这确实让我克服了错误。但既然我想把文件放在中央存储库中,那也无济于事。
很明显,我错过了一些基本的东西。感谢您的帮助。
[注意:它设置为在G:drive上运行,这是我机器上的一个测试驱动器。][将集合上游添加到推送中,以响应我在没有它的情况下收到的错误消息。]
test.bat:
g:
cd
md gitTestOrigin
cd
md gitTestLocal
cd gitTestOrigin
git init
cd gitTestLocal
git init
git remote add origin g:gitTestOrigin
git remote -v
git status
git fetch origin
rem adding file hi.text
@echo hi > hi.txt
git add hi.txt
git commit -m "new hi.txt"
git push --set-upstream g:gitTestOrigin master
清理.bat
g:
cd
rmdir /Q /S gitTestLocal
rmdir /Q /S gitTestOrigin
要创建远程回购,您需要添加带有git init
的--bare
选项
用于推送,我们可以使用我们在回购git push -u origin master
中添加的参考原点