群晖DSM上安装Git Server,并与Xcode配合使用

1 篇文章 0 订阅
1 篇文章 0 订阅

按群晖的Git Server说明文档创建失败,找到一些资料后自己验证如下,github.com的方式也类似,但这里就没提及了


On 群晖

在用户界面创建新用户git,没有特殊权限,放到users组即可

sshroot用户登录到群晖,vi /etc/passwd 文件

修改git用户的home目录

/var/services/homes/git to /volume1/git

修改登录后的 shell

/sbin/nologin to /bin/ash

切换为git用户

DiskStation2# su - git

修改git用户home目录的权限为700

DiskStation2# chmod 700 /volume1/git/

再在/volume1/git/创建一个.ssh文件夹, 还是权限700 

将你Mac当前用户下的.ss/id_rsa.pub中的内容copy / paste到群晖上面~git/.ssh/authorized_keys里面

On Mac 测试一下

ssh git@diskstation ls /etc/shells

输出正常的话就可以成功ssh


On 群晖


git用户登录,创建repositories文件夹

cd to it, then create a git repo:

git@DiskStation2% echo $PWD

/volume1/git/repositories


创建一个git仓库

git@DiskStation2% mkdir test.git

git@DiskStation2% cd test.git/

git@DiskStation2% git init --bare //空仓库需要

Initialized empty Git repository in /volume1/git/repositories/test.git/

git@DiskStation2% ls

HEAD  branches  config  description  hooks  info  objects  refs


OK,已经在Git Server创建了testRepositiory,先暂停回到Mac

On Mac


现在终端里面,进入项目目录执行:

git remote add lan ssh://git@192.168.1.1/volume2/git/repositories/test.git

git push -u lan master

上面的代码将本地的仓库连接到Git Sever,并且将代码提交到master分支上

提交后看返回是否正常,如正常就没问题了


注意,如果是服务器已有非空repository,则会出现类似这种提示:

! [rejected]        master -> master (fetch first)

则需要先pull到本地

git pull lan master

然后再git push -u lan master

push没问题后,回到Xcode里面


On Xcode

试试吧

新建的文件,Xcode会提示一个A标签,表示是Added的。

编辑的文件,Xcode会提示一个M标签,表示是Modified的。

选中要更新的文件,右键-->Source Control-->Commit Selected Files 通过此操作将变更提交到本地的仓库中。

选中要更新的文件,File菜单-->Source Control-->Push 将本地变化存储到远程服务器中。




参考这个文章:http://ti57.blogspot.com/2013/01/how-to-setup-git-server-on-synology-nas.html


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值