配置Git私服
参考的文章在这:一文手把手教你搭建Git私服 | 代码随想录 (programmercarl.com)
- 第一次连入新建的服务器
执行su root时提示su: Authentication failure,说是首次登入没有更新密码,
执行sudo passwd root
,然后输入新密码进行更新
- 添加git用户
-
服务器端密钥管理
-
创建.ssh目录
cd ~/ mkdir .ssh
-
在.ssh下创建authorized_keys 用来放客户端的公钥,从而允许该客户端
免密访问git
cd ~/.ssh touch authorized_keys chmod 700 /home/git/.ssh chmod 600 /home/git/.ssh/authorized_keys
-
把客户端公钥放到git服务器上
公钥:id_rsa.pub, 私钥:id_rsa
windows下密钥位置:C:\Users\用户名.ssh
mac & linux密钥位置:cd ~/.ssh/
如没有密钥,则创建密钥,一路默认即可:ssh-keygen -t rsa
把is_rsa.pub拷到git服务器的/home/git/.ssh目录下(此处传文件见附1)
在服务器端,将公钥添加到authorized_keys文件中
cd /home/git/.ssh/
cat id_rsa.pub >> authorized_keys
-
查看配置是否成功:
在客户端ssh git@git服务器ip
-
-
git使用
其实就是在服务器上初始化一个Git库,注意远程库的初始用git init —bare
,保留git历史信息,但不允许用户直接在该远程库进行各种git操作
然后客户端git remote add origin git@git服务器ip:xxx.git
, git push -u origin master
关联之后进行操作就好了
附1:
使用ssh 用户名@ip来进行本地终端与云服务器的连接 (也可以用Xshell)
使用sftp 用户名@ip来进行本地与云服务器文件的传输 (也可以用xftp)
上传文件:put [本地文件地址] [远程目录]
下载文件:get [远程文件地址] [本地目录]
注意windows下是’\’, linux下是’/’
例如 put C:\Users\Username\.ssh\id_rsa.pub /home/git/.ssh
就是把window上的文件传到linux服务器
附2:
关于git提示: ”LF will be replaced by CRLF the next time Git touches it“
git提示"warning: LF will be replaced by CRLF"的解决办法_青崖林夕的博客-CSDN博客
关于git提示”fatal: refusing to merge unrelated histories“
git pull origin master --allow-unrelated-histories