git服务端架设笔记

字号+ 编辑: 秦朝 修订: 秦朝 来源: 原创 2015-02-06 22:16:15 我要说两句(0)

Git想必很多开发人员并不陌生, 刚开始大伙可能都不太习惯, 毕竟人家linus是大神, 写出来的东西必须会, 为了避免被鄙视, 又想有自己的私人代码空间, 在这里留下一些笔记以备查询。

先放几个参考资料,用浏览器打开备用

http://www.jianshu.com/p/6db06489ba3d

http://www.open-open.com/lib/view/open1356608472385.html

http://blog.chinaunix.net/uid-28621021-id-3487552.html

Git服务器端

公钥先不必纠结,先集中精神把git搭好再说。

先建立个用户组,例如group_git,再建立用户名,例如user_a,那么命令应该是

groupadd git_group
useradd -M user_a

# 把user_a拉进用户组git_group

usermod -G git_group user_a

出于安全考虑,要进行一些用户权限的额外限制

# 进入用户权限管理文件
vim /etc/passwd

在文件里找到对应用户名开头那一行,例如user_a,将之改成类似下方的样子:

user_a:x:1001:1002::/home/git用户组目录:/user/bin/git-shell

其中x:1001:1002这一段不用管,主要改后边的用户组目录和git-shell,防止其登录linux系统shell

然后找个放git用户组仓库的地方,注意:说的就是用户组仓库,而不是特指某用户的仓库,比如/home/git

cd /home
mkdir git

紧接着建立一个用户仓库a.git

mkdir a.git
# 进入该仓库目录
cd a.git
# 初始化仓库
git --bare init

开发人员客户端

假设你想把git目录放在d盘的git下,那么你先拿鼠标进到git目录里面,右键点空白处拉出菜单,点击git bash here,如果看不到,你得检查git是否安装在你本机

进到这个黑窗口的git shell之后

# 创建源码目录
mkdir 源码目录名
cd 源码目录名
# 初始化git仓库
git init
# 建立一个远程目录别名,以免在本文中 git push 那一步卡住
# 多说一句,如果此时你服务器的SSH的端口变了,就写完整的ssh表达式,例如
# ssh://user_a@www.wkwkk.com:新端口/home/git/工程目录名.git
git remote add origin user_a@www.wkwkk.com/home/git/工程目录名.git
# 准备添加所有当前的文件,如果这个时候你什么源码文件都没塞进去,你到push那一步就会有报错提示
git add .
# 准备代码信息和说明
git commit -m "在这里写你的代码提交说明,比如两个控制器"
# 向服务端推送数据,此时如果报错,可查看报错信息,以本文下方问题解决方案来对号入座
git push origin master
# 往回拉源代码
git pull origin master

其中,www.wkwkk.com是个域名举例,你得改成自己git服务器的ip或域名

相关命令

其中修改指定用户密码的指令是

passwd 用户名

不想每次都输入ip地址,那么可以修改linux的DNS解析文件

vim /etc/hosts

在文件里添加类似内容,和windows的hosts一样玩

127.0.0.1 www.wkwkk.com

找安全日志的命令

vim /var/log/secure

问题解决方案

SSH端口修改

出于安全考虑,SSH可能不是22号端口,那么尽量使用ssh://完整表达式,例如

git remote add origin ssh://user_a@www.wkwkk.com:端口号/home/git/工程目录名.git

出现错误 error: insufficient permission for adding an object to repository database

http://blog.chinaunix.net/uid-12076195-id-3479088.html

到自己设定的git工程目录里面去运行以下命令

# 假设当前在用户组目录之前的目录位置,例如用户组目录为/home/gituser,则当前路径应为/home
chgrp -R git用户组名 git用户组目录名
chmod -R g+rwX git用户组目录名

顺带提一句,以下命令可以改动git仓库所有者:

# 尝试进入用户组目录来改动git仓库的所有者
cd 用户组目录名
chown -R git用户名:git用户组名 工程名.git
# 如果只是因为新增一个用户,没有设好他的权限,那么只需要用户组目录下面,单独运行上一行命令就可以解决问题了
阅完此文,您的感想如何?
  • 鼓掌

    1

  • 鄙视

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.转来的文章都会标好来源,如对来源资料存疑,请邮件声明;
2.本站标注原创的文章,转发时烦请注明来源;
3.如文章侵犯了您的版权,请通知本站,该文章将在24小时内移除。

相关课文
  • 修改Linux主机名,改默认localhost.localdomain名称

    修改Linux主机名,改默认localhost.localdomain名称

  • lnmp.org的一键安装包修改php版本

    lnmp.org的一键安装包修改php版本

  • git服务端架设笔记

    git服务端架设笔记

  • 如何修改ssh默认端口

    如何修改ssh默认端口

我要说说
网上宾友点评