http://www.git-scm.com/download/

http://download.tortoisegit.org/

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

指南

1. Getting Started
2. Git Basics
3. Git Branching
4. Git on the Server
5. Distributed Git
6. GitHub
7. Git Tools
8. Customizing Git
9. Git and Other Systems
10. Git Internals

如何使用github

1) 通过Git Bash 生成公钥、私钥(RSA非对称加密算法)

ssh-keygen -t rsa -b  -C "your_email@example.com"
$ ssh-keygen ?
Too many arguments.
usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa]
[-N new_passphrase] [-C comment] [-f output_keyfile]
ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
ssh-keygen -i [-m key_format] [-f input_keyfile]
ssh-keygen -e [-m key_format] [-f input_keyfile]
ssh-keygen -y [-f input_keyfile]
ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
ssh-keygen -B [-f input_keyfile]
ssh-keygen -D pkcs11
ssh-keygen -F hostname [-f known_hosts_file] [-l]
ssh-keygen -H [-f known_hosts_file]
ssh-keygen -R hostname [-f known_hosts_file]
ssh-keygen -r hostname [-f input_keyfile] [-g]
ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]
[-j start_line] [-K checkpt] [-W generator]
ssh-keygen -s ca_key -I certificate_identity [-h] [-n principals]
[-O option] [-V validity_interval] [-z serial_number] file ...
ssh-keygen -L [-f input_keyfile]
ssh-keygen -A
ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
file ...
ssh-keygen -Q -f krl_file file ...

ssh-keygen 使用帮助

Secure Shell key generator 工具,-t 指定加密算法类型(type),-b 指定密钥位数(bit) ,-C 注释(comment)

2)启动 ssh-agent

eval $(ssh-agent -s)

单独执行 ssh-agent -s 会得到命令行,然后再通过eval 执行这些命令行才能真正启动 ssh-agent,有点类似 js里的eval

3) 将私钥添加到 ssh-agent

ssh-add ~/.ssh/id_rsa

如果提示 Could not open a connection to your authentication agent.   说明ssh-agent没有成功启动

4)将公钥 (id_rsa.pub) 添加到 github

Settings -> SSH AND GPG keys -> New SSH key

5)使用 ssh 地址进行clone等操作

git clone git@github.com:witaste/ztest.git

补充:常用工具类所在目录结构

│  git-bash.exe
│ git-cmd.exe

├─cmd
│ start-ssh-agent.cmd
│ start-ssh-pageant.cmd

└─usr
├─bin
│ │ ssh-add.exe
│ │ ssh-agent.exe
│ │ ssh-keygen.exe
│ │ ssh-pageant.exe

使用优化

因为每次启动 git-bash ,都需要启动一个新的 ssh-agent ,而且旧的不能用 ,能不能实现自动化呢,就是每次打开 Git Bash 就会自动打开ssh-agent并且自动将私钥添加到ssh-agent,答案是有

第一种方案:

通过 GitHub Desktop 自带的 Git Shell 可自动完成

第二种方案:

添加自动化脚本

在当前用户目录(~)下创建 .profile 文件,内容是

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; } agent_load_env # agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?) if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi unset env

第三种方案:

安装TortoiseGit 通过Pageant 软件加载PuTTY 形式的私钥

1)生成 .ppk (可以通过PuTTYgen 生成新的密钥对,也可以load原有的私钥,转换成ppk)

2) 通过 Pageant 工具加载 ppk

补充:tortoiseGit 目录结构


├─bin
│ pageant.exe
│ puttygen.exe

Git & TortoiseGit的更多相关文章

  1. Git TortoiseGit SSH设置

    Git TortoiseGit SSH设置 http://www.cnblogs.com/ChenRihe/p/Git_TortoiseGit_SSH.html TortoiseGit默认的SSH客户 ...

  2. git/ TortoiseGit 在bitbucket.org 使用证书登陆

    背景:使用https协议在bitbucket中进行pull,push 时每次都要输入密码,比较麻烦还耽误时间,在网上找了下保存密码的方式 使用在用户环境变量中配置_netrc 文件的方式(http:/ ...

  3. Windows+Git+TortoiseGit+COPSSH安装图文教程【转】

    转自:http://blog.csdn.net/aaron_luchen/article/details/10498181/ Windows+Git+TortoiseGit+COPSSH 安装图文教程 ...

  4. git版本控制-- Windows+Git+TortoiseGit+COPSSH安装图文教程

    Windows+Git+TortoiseGit+COPSSH 安装图文教程 教程网址: http://www.liaoxuefeng.com/wiki/0013739516305929606dd183 ...

  5. Git TortoiseGit github 操作

    由于公司采用了分布式架构,选择的是gitlab git 来管理代码等工作,鉴于github和gitlab的相似性,网上查看好多都是用git的命令上传,或者是一部分,为此,借鉴多方网络,并进行实际操作, ...

  6. Windows+Git+TortoiseGit+COPSSH 安装图文教程

    转自:http://blog.csdn.net/aaron_luchen/article/details/10498181 准备工作: 1. Git-1.8.1.2-preview20130201.e ...

  7. Windows Git+TortoiseGit简易使用教程

    转载自 http://blog.csdn.net/jarelzhou/article/details/8256139 官方教程:http://tortoisegit.org/docs/tortoise ...

  8. Windows+Git+TortoiseGit+COPSSH安装图文教程 转载

    准备工作: 1. Git-1.8.1.2-preview20130201.exe 下载地址: https://code.google.com/p/msysgit/downloads/list 2. C ...

  9. 在Windows下使用Git+TortoiseGit+码云管理项目代码

    1.      安装Git 下载地址:点击打开链接 安装指南:默认选项即可 2.      安装TortoiseGit 下载地址:点击打开链接 安装指南:点击打开链接 3.      在码云创建账号, ...

  10. Windows+Git+TortoiseGit+COPSSH 安装教程及问题收集

    准备工作: 1. git-1.8.1.2-preview20130201.exe 下载地址: https://code.google.com/p/msysgit/downloads/list 2. C ...

随机推荐

  1. Hibernate 一对一、一对多、多对多注解cascade属性的总结

    作用:是否级联被注解字段里面的对象.可选值:javax.persistence.CascadeType.PERSIST, MERGE, REMOVE, REFRESH, DETACH, ALL.可选其 ...

  2. cocos2d中的坐标系统

    cocos2d中Layer的默认锚点是left.buttom sprite的锚点设置 setAnchorPoint(cc.p(0.5,0.5)); 默认锚点:中心 setAnchorPoint(cc. ...

  3. 仅用CSS3创建h5预加载跳动圈

    <head> <meta charset="UTF-8"> <title></title> <style type=" ...

  4. Storm开发——环境配置部署

    配置开发环境:http://storm.apache.org/releases/current/Setting-up-development-environment.html 开发环境定义: Stor ...

  5. hibernate操作数据库时报错解决方式

    java.sql.SQLException: Parameter index out of range (28 > number of parameters, which is 27). 这个说 ...

  6. freebsd静态路由

    FreeBSD下增进静态路由的行动 1.手工添加 # route add -net 192.168.2.0/24 192.168.1.2 2. 通过rc.conf永世 设置 # Add static ...

  7. springboot-shiro chapter01——创建springboot webmvc环境

    简介:本章提供了springboot简单例子,主要包含以下内容 1.pom.xml依赖资源 2.springboot配置 3.web应用spring mvc 环境: IDEA15+ JDK1.8+ M ...

  8. python找寻合适的日志库logging Handler——Handler自定义实现

    最近在用python tornado开发一个app的服务端.投产的系统肯定需要包含日志功能,这里就自然想到了用python自带的logging库.   logging中日志内容的输出都交由Handle ...

  9. Netty心跳简单Demo

    前面简单地了解了一下IdleStateHandler,我们现在写一个简单的心跳demo: 1)服务器端每隔5秒检测服务器端的读超时,如果5秒没有接受到客户端的写请求,也就说服务器端5秒没有收到读事件, ...

  10. 多线程环境下的UI异步操作

    转自原文 多线程环境下的UI异步操作 解决VS中,线程间不可互操作的问题,一揽子解决方案: 一.首先,定义一个类:SetControlProperty using System.Reflection; ...