如何使用Git初始推送到远程存储库?

时间:2010-02-25 20:15:57

标签: git version-control

我已阅读了无数的教程,并且我一直在努力。这就是我所拥有的:

- 我在Windows桌面上运行RubyMine
- 我已按照instructions的身份在我的WebFaction主机帐户上安装了Git - Git似乎在两台机器上都运行良好

这就是我正在做的事情:
1.在服务器上:
一个。 mkdir 项目
湾git init
C。 git add。
d。 git commit< ---“没什么可提交的” 2.在客户端:
一个。在RubyMine中创建新项目 湾项目顶级目录中的“git init” C。 “推送更改”到服务器< ----“未能将某些引用推送到......”。

我缺少哪些步骤?

8 个答案:

答案 0 :(得分:332)

在服务器上:

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

请注意,添加原点时,可以使用多种格式和模式。我建议您查看您的托管服务提供的内容。

答案 1 :(得分:4)

在提交之前,您必须将at least one file添加到存储库,例如.gitignore

答案 2 :(得分:4)

你可以试试这个:

服务器上的

将新组添加到/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

这会有所帮助。

答案 3 :(得分:2)

如果您的项目没有上游分支,那么如果这是远程存储库第一次了解在本地存储库中创建的分支,则以下命令应该有效。

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

@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

请注意,域和路径之间的冒号不再存在。

答案 6 :(得分:0)

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

git push -u origin main

答案 7 :(得分:0)

运行下面的命令

git config --local -e

更改条目

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

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