我已经阅读了无数的教程,但我总是做不到。以下是我得到的:

我在Windows桌面上运行RubyMine 我已经按照他们的指示在我的WebFaction托管帐户上安装了Git Git似乎在两台机器上都能正常工作

这是我正在做的:

在服务器: mkdir项目 git init Git添加。 Git提交#==>什么都没有提交 客户端: 在RubyMine中创建新项目 Git初始化在项目的顶部目录 Push changes to server #==> failed to Push some ref to…

我遗漏了哪些步骤?


在提交之前,您必须至少向存储库添加一个文件,例如.gitignore。


您需要在客户端上设置远程存储库:

git remote add origin ssh://myserver.com/path/to/project

在服务器:

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拖动后出现此错误:

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>

try:

git push -u origin master

这会有帮助的。


@Josh Lindsey已经回答得很好了。但我想添加一些信息,因为我经常使用ssh。

因此只需改变:

git remote add origin youruser@yourserver.com:/path/to/my_project.git

to:

git remote add origin ssh://youruser@yourserver.com/path/to/my_project

注意,域和路径之间的冒号已经不存在了。


如果您的项目没有上游分支,也就是说,如果这是远程存储库第一次知道在本地存储库中创建的分支,那么下面的命令应该会起作用。

git push --set-upstream origin <branch-name>

我知道现有的答案可以解决这个问题。对于那些刚接触git的人,截至2021年11月2日,git中的默认分支是“main”而不是“master”分支,该命令将是

git push -u origin main

运行以下命令

git config --local -e

变更分录

url = git@github.com:username/repo.git

to

url = https://github.com/username/repo.git

如果你遇到@danger -dev提到的事件,但你有一个本地默认分支master和一个远程分支main,使用以下方法推送它:

git push -u origin master:main

分别使用长版本:

git push --set-upstream origin master:main

当你有一个本地git回购,并想在这个现有的回购上添加origin:

git remote add origin ssh://myserver.com/path/to/project
git pull origin main --allow-unrelated-histories
git push -u origin main