参考:点击打开链接
补充目录权限设定:
用Administrator远程桌面连接服务器以后,首先在控制面板用户管理内增加标准用户账户,并增设密码(可复杂点,提供给Copssh使用,Copssh的账户管理是依赖windows的账户系统的,其实也很容易理解,这样可以设定每个目录的访问权限),然后在Copssh中增加这些设定好的帐号,在Keys中添加这些帐号的密钥,生成的密钥保存在ICW\Home目录的对应用户账户下,将私钥拷贝到本机,放入c:\Users\XXXXX\.ssh目录下,清空known_hosts文件内容,将在ssh命令行连接时重新建立这个内容。
根据上文所示,用命令行连接服务器,然后建立一个 test 的纯库,用来测试。
git init --bare (建立一个裸仓)
右键点击 test 库目录,安全选项卡中设定该目录的访问权限,首先,在高级中设定所有者为Administrators,并选择替换子容器,这一步很关键,因为Git命令行方式创建的库,所有者并不是管理员。然后才能设置权限,更改权限,取消从父对象继承,弹出对话框选“添加”,将继承的权限先添加到列表中,然后再删除不必要的权限,比如User,然后添加想增加的用户到列表里,然后选上“替换所有子对象”,这样设置之后,没有权限的用户连接,会显示权限错误!
最后设置Home目录的权限和ICW目录(ssh连接服务器时的root目录)的权限,Home目录设置给仓库管理员,ICW给Admin,注意检查每个用户目录下子目录和文件的权限是否属于该用户,如果不属于该用户,则连接时会提示权限错误
mac 上需要把 id_rsa 文件复制到 /Users/XXXX/.ssh目录下,然后更改文件权限
chmod 0600 /Users/chadwin/.ssh/id_rsa
否则会提示权限错误 Permissions 0644 for ‘/xxxx/.ssh/id_rsa’ are too open
注意:忽略列表.gitignore文件需要先提交到库中,但是文件中不能先包含.* ,否则,忽略列表本身会被忽略,无法被sourcetree检测到!