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

原创 2012年03月27日 16:01:59
架设服务器

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中的忽略,起作用


Git Push 错误 [remote rejected] master -> master (branch is currently checked out) & 无法查看push后的git中文件(转)

Git Push 错误 [remote rejected] master -> master (branch is currently checked out) & 无法查看push后的git中文件...
  • kamemo
  • kamemo
  • 2011年05月23日 21:09
  • 16882

gerrit使用总结

gerrit还是轻易不要尝试引入,它的权限管理,真是复杂极了。对于小型团队,初期这将是个噩梦,但是对于像OpenStack,安卓这种大型team,又是一把利器。 下面尝试测试了两个用...
  • iloveyin
  • iloveyin
  • 2014年10月15日 10:19
  • 24936

项目开发环境搭建手记(3.GitLab搭建)

作者:fbysss QQ:溜酒酒吧酒吧吾散 blog:blog.csdn.net/fbysss 声明:本文由fbysss原创,转载请注明出处   1.git安装 Centos下面,就是这么任性: yu...
  • fbysss
  • fbysss
  • 2015年03月05日 20:05
  • 40273

SourceTree环境的搭建

在mac os x上搭建sourceTree的版本控制环境,有许多疑惑,现将自己现在知道的慢慢记录下来。...
  • father223
  • father223
  • 2015年10月22日 15:59
  • 669

Android Studio使用心得与技巧

1、初步了解         基本界面如图:          貌似从1.4版本开始,导入Eclipse项目就变的异常简单,和普通的as项目一样导入 ! keytool -list -v -key...
  • diyangxia
  • diyangxia
  • 2015年03月12日 10:51
  • 4717

git&gerrit 使用过程中遇到的问题及解决方法

公司中使用git进行代码管理, 使用gerrit 来做code review及权限管理。 在使用的过程中, 遇到了不少问题, 现把它分享出来, 供大家参考。 1 push 失败 【现象】git p...
  • smithallenyu
  • smithallenyu
  • 2015年12月07日 15:01
  • 8889

最简单git服务器配置-SSH连接方式

TODO
  • hawkdowen
  • hawkdowen
  • 2014年08月16日 14:10
  • 7690

Linux 下配置Git 服务器-使用SSH连接

最新需要和朋友作一个自己的私有项目。不想用github公开代码,所以就想到了自己加上git 服务器。 网上查了一些资料,各个博主的资料还是很全的,但是自己架设的时候还是遇到了一些困难,我吧我是如何配...
  • sfw_123817
  • sfw_123817
  • 2016年09月09日 13:50
  • 411

ssh省去重复输入密码

背景介绍why很多公司都使用静态密码+动态密码的方式登陆跳板机,某些还会强制一个动态密码只能登陆一次,于是我们面临着等一分钟才能登陆一次跳板机,很不方便。本文介绍一种在本机的设置,免除每次输入密码的方...
  • xuanwu_yan
  • xuanwu_yan
  • 2015年05月12日 10:57
  • 2828

git提交到远程版本库失败

我出现的问题:To ssh://lining@114.215.120.180:8849/vip ! [remote rejected] HEAD -> refs/for/develop (chang...
  • leedaning
  • leedaning
  • 2015年02月12日 10:38
  • 1506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:架设git服务器,和使用ssh连接git服务
举报原因:
原因补充:

(最多只允许输入30个字)