Answers:
在服务器上:
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
请注意,添加原点时,可以使用多种格式和模式。我建议您查看托管服务提供的内容。
--shared
到git --bare init
命令末尾。这将设置必要的权限。
git push --set-upstream origin master
而不是git push origin master
第一次。这使我可以输入git push
或git pull
而不是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
我会帮你的。
提交之前,您必须至少向存储库添加一个文件,例如.gitignore
。
您需要在客户端上设置远程存储库:
git remote add origin ssh://myserver.com/path/to/project
git --bare init
有所作为,但是我的远程存储库是按照@Josh Lindsey建议的方式创建的。