标签:install 假设 use 服务器 ini commit 默认 端口 str
一般ubuntu默认已经安装了git,可以用如下命令查看有没有安装git:
$ git --version
如果已经安装了git会显示版本号例如"git version 1.9.1", 如果没有安装就需要安装git,用如下命令:
$ sudo apt-get install git
在用户当前目录例如/home/zhangshan下通过以下命令配置git客户端用户:
$ git config --global user.name "username"
$ git config --global user.email "usermail@mail.com"
其中"username"是你的用户名, "usermail@mail.com" 是你的邮箱。
此时当前用户目录下生成配置文件.gitconfig(此文件是隐藏文件,需要用ls -a命令才能查看到).
通过cat .gitconfig 命令可以查看刚才创建的信息。
创建RSA key的目的是与git服务器通过SSH方式交换数据。
在用户当前目录例如/home/zhangshan通过以下命令创建RSA public key和private key:
$ ssh-keygen -t rsa
成功之后可以在当前用户目录的隐藏文件夹.ssh下生成2个文件id_rsa(private key) 和id_rsa.pub(public key)。
第一步,添加用户来运行git服务器, 假设使用用户名称为git:
$ sudo adduser git
第二个,创建git仓库:
选择一个目录存放git的仓库,例如/home/gitrepo/, 进入此主目录然后创建子仓库(子项目):
$ cd /home/gitrepo
$ sudo git init --bare example1.git
此时git就在/home/gitrepo/目录下创建了一个裸仓库example1。接下来配置仓库的owner
$ sudo chown -R git:git example1.git
接下来git客户端就可以通过以下命令克隆远程仓库了(假设远程服务器IP为192.168.1.100):
$ git clone git@192.168.1.100:/home/gitrepo/example1.git
以上已经搭建好了git的服务器和客户端。当修改代码后需要从git客户端推送修改到服务器。
执行 git add , git commit之后就将修改推送到了本地仓库,接下来需要将本地仓库的修改推送到远程服务器。使用以下命令:
$ git push
发现每次都要输入密码, 如果要使用免密码的推送(例如github远程仓库的方式)需要使用SSH认证。
我们只需要将客户端的public key发送给服务器即可。
方法一: 直接在客户端运行命令
$ ssh-copy-id -i .ssh/id_rsa.pub git@192.168.1.100
就可以将本地的公钥复制到远程机器中(.ssh/id_rsa.pub是本地客户端的公key, git@192.168.1.100表示服务器的git服务器管理用户git)。
如果有端口的要加上端口,比如-p 1234,然后输入远程主机密码回车即可。ssh-copy-id会将key写到远程机器的~/.ssh/authorized_key文件中。
方法二: 手动将客户端的公钥复制到远程机器的~/.ssh/authorized_key文件中。
标签:install 假设 use 服务器 ini commit 默认 端口 str
原文地址:https://www.cnblogs.com/baicailong/p/9728857.html