我有一个有一些历史的本地git回购。
我想将其添加到我的远程git服务器中:
# On my server, I create a remote repo
git init project.git --bare --shared
# On my local computer, I add the remote repo
git remote add origin user@server:/srv/git/projet.git
# Try to push
git push origin master
# error: src refspec master does not match any.
# error: failed to push some refs to 'user@server:/srv/git/projet.git'
# Try to pull
git pull origin master
# fatal: Couldn't find remote ref master
# fatal: the remote end hung up unexpectedly
如果我先克隆远程仓库,然后复制源代码,我将丢失git历史记录。
有人知道怎么做吗?
答案 0 :(得分:1)
我想您已经在本地正确管理了您的仓库(git add,commit等),所以这可能不起作用,因为在源(您的服务器)上还没有分支主服务器,因为它是裸机,您没有最初不是从服务器克隆存储库。
您应该尝试
git push -u origin master
它也应该推送并创建远程master分支
来自文档https://git-scm.com/docs/git-push#git-push--u
对于每个最新的或成功推送的分支,添加上游(跟踪)引用,该引用由无参数git-pull [1]和其他命令使用。有关更多信息,请参见git-config [1]中的branch..merge。