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建议的方式创建的。