[英]How do I do an initial push to a remote repository with Git?
我已经阅读了无数的教程,但我一直在总结。 这是我所拥有的:
这是我在做什么:
mkdir project
git init
git add .
git commit #==> nothing to commit
#==> failed to push some refs to...
我缺少哪些步骤?
在服务器上:
mkdir my_project.git
cd my_project.git
git --bare init
在客户端:
mkdir my_project
cd my_project
touch .gitignore
git init
git add .
git commit -m "Initial commit"
git remote add origin youruser@yourserver.com:/path/to/my_project.git
git push origin master
请注意,当您添加源时,您可以使用多种格式和模式。 我建议您查看您的托管服务提供的内容。
你可以试试这个:
在服务器上:
将新组添加到/etc/group
像(示例)
mygroup:1001:michael,nir
创建新的 git 存储库:
mkdir /srv/git
cd /srv/git
mkdir project_dir
cd project_dir
git --bare init (initial git repository )
chgrp -R mygroup objects/ refs/ (change owner of directory )
chmod -R g+w objects/ refs/ (give permission write)
在客户端:
mkdir my_project
cd my_project
touch .gitignore
git init
git add .
git commit -m "Initial commit"
git remote add origin youruser@yourserver.com:/path/to/my_project.git
git push origin master
(感谢 Josh Lindsey 的客户端)
在客户端之后,在服务器上执行以下命令:
cd /srv/git/project_dir
chmod -R g+w objects/ refs/
如果在 git pull 后出现此错误:
There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream new origin/<branch>
尝试:
git push -u origin master
我会帮你的。
如果您的项目没有上游分支,也就是说,如果这是远程存储库第一次知道在本地存储库中创建的分支,则以下命令应该可以工作。
git push --set-upstream origin <branch-name>
在提交之前,您必须至少向存储库添加一个文件,例如.gitignore
。
@Josh Lindsey 已经回答得很好。 但我想补充一些信息,因为我经常使用 ssh。
因此只需更改:
git remote add origin youruser@yourserver.com:/path/to/my_project.git
至:
git remote add origin ssh://youruser@yourserver.com/path/to/my_project
请注意,域和路径之间的冒号不再存在。
您需要在客户端上设置远程存储库:
git remote add origin ssh://myserver.com/path/to/project
我知道有解决问题的现有答案。 对于 git 新手,截至 2021 年 2 月 11 日,git 中的默认分支是"main"
而不是"master"
分支,命令将是
git push -u origin main
运行下面的命令
git config --local -e
更改条目
url = git@github.com:username/repo.git
至
url = https://github.com/username/repo.git
如果您遇到@dangerous-dev 提到的事件,但您有一个名为master
的本地默认分支和一个名为main
的远程分支,请使用:
git push -u origin master:main
分别使用长版本:
git push --set-upstream origin master:main
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.