架设git服务器,和使用ssh连接git服务

来源:互联网 发布:java 7新特性 编辑:程序博客网 时间:2024/05/01 22:46
架设服务器

1:创建一个名为 ‘git’ 的用户,并为其创建一个 .ssh 目录。

$ sudo adduser git

$ su git
$ cd
$ mkdir .ssh

2:把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中:

开发者使用:

ssh-copy-id git@192.168.1.208

或者:


$ ssh-keygen

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

把它们逐个追加到 authorized_keys 文件尾部:

3:用 --bare 选项运行 git init 来初始化一个不包含工作目录的仓库。

$ cd /opt/git
$ mkdir project.git
$ cd project.git

$ git --bare init:不要使用git init

注意:

1:修改.git/config文件后面添加如下代码:git默认拒绝了push操作,需要进行设置,否则会出现Git Push 错误 [remote rejected] master -> master (branch is currently checked out) 从而导致无法查看push后的git中文件
denyCurrentBranch = ignore

2:注意创建的用户,否则可能会因为权限问题在push的时候出现

! [remote rejected] master -> master (n/a (unpacker error))
错误
3:如果出现Agent admitted failure to sign using the key错误,在客户端执行ssh-add即可


4:客户端

如果已经有origin使用:

$ git remote rm origin

然后:

$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master

5:其它客户端

$ git clone git@gitserver:/opt/git/project.git
$ vim README
$ git commit -am 'fix for the README file'

$ git push origin master


添加例外文件

最简单的方法在项目根目录与.git目录同一位置创建一个文件: .gitignore

touch .gitignore

vi .gitignore

*.class

注:如果要忽略的文件已被git管理,需要先移除,命令如下:

e.g.:

git rm -r --cached  WebRoot/WEB-INF/classes/**/*

-r:递归

git commit

然后.gitignore中的忽略,起作用


原创粉丝点击