Git学习笔记(四)
一、忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore
文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
二、配置别名
$ git config --global alias. 别名 真实命令 //加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用
三、关于在msysgit操作选择、复制、粘贴(点击标题栏左上角图标弹出菜单,里面的编辑菜单中包含所有编辑操作)
四、搭建GIT服务器
1.详见:Linux下搭建GIT服务器
五、在GIT服务器创建纯git仓库
git init --bare
使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面
六、多台电脑共用同一个SSH Public/Private Key,实现同一账号连接GIT服务器
只需配置并生成一次Public/Private Key,并将此Public/Private Key复制到不同的机器上即可
什么是SSH
SSH是一种网络协议,用于计算机之间的加密通信。
公钥Public Key与私钥Private Key
SSH需要生成公钥Public Key和私钥Private Key, 常用的是使用RSA算法生成id_rsa.pub
和id_rsa
。 公钥Public Key(id_rsa.pub
)是可以暴露在网络传输上的,是不安全的。而私钥Private Key(id_rsa
)是不可暴露的,只能存在客户端本机上。 所以公钥Public Key(id_rsa.pub
)的权限是644,而私钥Private Key(id_rsa
)的权限只能是600。如果权限不对,SSH会认为公钥Public Key(id_rsa.pub
)和私钥Private Key(id_rsa
)是不可靠的,就无法正常使用SSH登陆了。
同时在服务端会有一个~/.ssh/authorized_keys
文件,里面存放了多个客户端的公钥Public Key(id_rsa.pub
),就表示拥有这些Public Key的客户端就可以通过SSH登陆服务端。
SSH公钥登陆过程
- 客户端发出公钥登陆的请求(
ssh user@host
) - 服务端返回一段随机字符串
- 客户端用私钥Private Key(
id_rsa
)加密这个字符串,再发送回服务端 - 服务端用
~/.ssh/authorized_keys
里面存储的公钥Public Key去解密收到的字符串。如果成功,就表明这个客户端是可信的,客户端就可以成功登陆
由此可见,只要多台电脑上的的公钥Public Key(id_rsa.pub
)和私钥Private Key(id_rsa
)是一样的,对于服务端来说着其实就是同一个客户端。所以可以通过复制公钥Public Key(id_rsa.pub
)和私钥Private Key(id_rsa
)到多台电脑来实现共享登陆。
这里也需要强调的是,一定要确保公钥Public Key(id_rsa.pub
)和私钥Private Key(id_rsa
)的安全。
Git学习笔记系列文章目录: