一、忽略特殊文件

在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

二、配置别名

$ git config --global alias. 别名 真实命令 //加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用

三、关于在msysgit操作选择、复制、粘贴(点击标题栏左上角图标弹出菜单,里面的编辑菜单中包含所有编辑操作)

四、搭建GIT服务器

  1.详见:Linux下搭建GIT服务器

  2.详见:Windows下搭建基于ssh的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.pubid_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公钥登陆过程

  1. 客户端发出公钥登陆的请求(ssh user@host)
  2. 服务端返回一段随机字符串
  3. 客户端用私钥Private Key(id_rsa)加密这个字符串,再发送回服务端
  4. 服务端用~/.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学习笔记系列文章目录:

Git学习笔记(一)

Git学习笔记(二)

Git学习笔记(三)

Git学习笔记(四)的更多相关文章

  1. Git学习笔记四--远程仓库

    Git远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. 怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本 ...

  2. Pro Git 学习笔记

    Pro Git 学习笔记 文档地址:Pro Git原文地址:PRO GIT 学习笔记 git常见命令 1.Git起步 初次运行Git前的配置 用户信息 git config --global user ...

  3. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  4. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  5. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  6. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  7. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  8. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

随机推荐

  1. angular代码分析之异常日志设计

    angular代码分析之异常日志设计 错误异常是面向对象开发中的记录提示程序执行问题的一种重要机制,在程序执行发生问题的条件下,异常会在中断程序执行,同时会沿着代码的执行路径一步一步的向上抛出异常,最 ...

  2. SQL语句中,Conversion failed when converting datetime from character string.错误的解决办法

    在项目开发过程中,我们经常要做一些以时间为条件的查询,比如查询指定时间范围内的历史记录,然而这些时间都是从UI传递过来的参数,所以我们写的sql语句就必须用到字符串拼接.当然,在C#中写SQL语句还好 ...

  3. MooseFS学习-概述

    MFS(MooseFS)是一个容错的.网络分布式文件系统,是GFS的开源实现.它把数据分散在多个物理机上,对外展现为一个整体资源. 支持的功能 Unix的通用文件系统功能:目录树:记录POSIX文件属 ...

  4. iis日志查看

    IIS日志是每个服务器管理者都必须学会查看的,服务器的一些状况和访问IP的来源都会记录在IIS日志中,所以IIS日志对每个服务器管理者非常的重要,seoer也不例外,这点同时也可方便网站管理人员查看网 ...

  5. ios 截屏

    把当前屏幕作为获取成为图片 - (UIImage *)rn_screenshot {    UIGraphicsBeginImageContext(self.bounds.size);    [sel ...

  6. 关于Java中null的十点详解

    对于每一个Java程序员来说,null肯定是一个让人头痛的东西,连Java的发明者都承认这是一项巨大的设计失误,今天就来总结一下Java中关于null的知识. 1.null不属于任何类型,可以被转换成 ...

  7. SVN命令模式批量更新多个项目

    使用svn作为版本管理是,在一个仓库下边同时建立多个项目,每天上班都需要一个个更新,为了发挥程序员懒的精神,能让电脑做的,绝不手工操作.作为自动化处理,在windows环境,首先想到了bat Tort ...

  8. poi 输出Excel显示内容

    在业务系统中多少回接触到Excel解析.在java开发平台下选择 Apache POI是一个非常明智的选择,POI提供非常完善API来读取或写入Microsoft Office Excel. 目前对导 ...

  9. KnockoutJS 3.X API 第四章(14) 绑定语法细节

    data-bind绑定语法 Knockout的声明性绑定系统提供了一种简洁而强大的方法来将数据链接到UI. 绑定到简单的数据属性或使用单个绑定通常是容易和明显的. 对于更复杂的绑定,它有助于更好地了解 ...

  10. CSS中的::after ::before

    利用::after和before来清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta c ...