git服務耑架設筆記

字號+ 編輯: 种花家 修訂: 听风就是我 來源: 原创 2023-09-08 我要說兩句(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用户组目录:/usr/bin/git-shell

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

注意:如果这个目录你给写错了,比如写成/user/bin/git-shell,那么/user目录并不存在时,就会不停地报permission denied的错误。

然后找个放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
# 如果只是因为新增一个用户,没有设好他的权限,那么只需要用户组目录下面,单独运行上一行命令就可以解决问题了
閲完此文,您的感想如何?
  • 有用

    4

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: PHP+JS聊天群

相關課文
  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • linux終耑下借助awk命令查詢篩出網站access.log日志裡的統計信息

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評