最近开始折腾linux(先借的哈哈,那个前端开发还没个后台好基友呢)
也算数初步入门了吧,刚好公司git需要迁移于是就有了这篇文章。
虽然遇到问题都解决了,但是也在反思,仅仅明白命令的作用还不足。还是要对系统环境有一个广度的认知才行,在解决问题时才能有正确的方向。
一、Cent OS git 安装
-
1.下载linux对应的压缩安装包,上传至服务器目录(你也可以直接使用wget工具下载,但服务器一般下载都比较慢)
下载地址:https://www.kernel.org/pub/software/scm/git/
我这里下载的是:git-2.9.0.tar.gz -
2.解压
tar xzf git-2.9.0.tar.gz
-
3.设置安装路径前缀,安装路径
/usr/local/SoftWareName
cd git-2.9.0
configure --prefix=/usr/local/git -with-tcltk
通常首次安装git,
configure
可能都没有配执行路径,换成这样即可:
./configure --prefix=/usr/local/git -with-tcltk
- 4 安装
还是在 解压目录git-2.9.0
下
//make all 可安装说明文档
make
make install
运行 git --version
查看是否成功
如果是首次安装就还需将git 命令执行路径添加到 PATH
中
vim /etc/bashrc
//末尾加入如下命令
export PATH=/usr/local/git/bin:$PATH保存退出
//刷新配置
source /etc/bashrc
//重新运行 git --version
[root@xx git-2.9.0]# git --version
git version 2.9.0
到这里安装就结束了。
二、服务器创建git远程仓库
1.创建一个裸仓
git init --bare
为什么使用--bare
?
2.创建项目仓库(work tree 目录)
cd myProject.git/
git init
完成项目仓库初始化。此时已经可以访问这个仓库了。
3.配置远程仓库地址
git remote add origin git@xx.xx.xx/xx/myProject.git
查看是否添加成功
git remote -v
这里可以随便添加个文件,比如加个README.md
4.从远程仓库clone 到本地。
git clone ssh://git@xx.xxx./xx/myProject.git
5.测试提交可能会遇到需要设置denyCurrentBranch
的错误提示
到服务器端.修改work tree 下 .git/config
文件。末尾添加
[receive]
denyCurrentBranch = ignore
或者直接执行
git config receive.denyCurrentBranch ignore
保存重新提交。
6.服务器查看提交的文件
刷新提交
git reset --hard
运行完毕,可看到见修改内容就大功告成
三、配置ssh 访问方式
关于git在linux上的用户管理方式,这里就省略了。
我上面使用的用户叫 git ,所以这里默认就在git 根目录操作
1.切换至root 用户
su root
cd /etc/ssh
vim sshd_config
解开下面三行注释
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存重启sshd服务
/etc/rc.d/init.d/sshd restart
上面看到 身份认证文件要放到.ssh目录下
2.创建身份认证文件并添加公钥
进入git 用户根目录创建 .ssh 文件夹及 authorized_keys文件
cd /home/git
mkdir .ssh
cd .ssh
touch authorized_keys
vim authorized_keys
//将公钥添加至文件末尾 保存退出
3.使用root 用户 开启ssh 访问,并拒绝使用ssh 直接登陆进服务器
vim /etc/passwd
找到
git:x:502:504::/home/git:/bin/git-shell
修改为git 软件安装目录下的shell命令路径
git:x:502:504::/home/git:/usr/local/git/bin/git-shell
重新在客户端commit push 就不用输入密码了。
网友评论