mac使用git管理Github以及生成 SSH 公钥

现在开始设置Mac管理Github,有一点需要知道的是本地的git仓库和Github服务器之间是通过ssh加密的。

在终端执行

 

?
1
2
3
4
5
6
7
8
9
10
ozil:tmp mesut$ ssh -v
OpenSSH_6.2p2, OSSLShim 0.9 .8r 8 Dec 2011
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
            [-D [bind_address:]port] [-e escape_char] [-F configfile]
            [-I pkcs11] [-i identity_file]
            [-L [bind_address:]port:host:hostport]
            [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
            [-R [bind_address:]port:host:hostport] [-S ctl_path]
            [-W host:port] [-w local_tun[:remote_tun]]
            [user@]hostname [command]

明显Mac已经安装了ssh。

 

 

1:创建SSH Key

 

?
1
2
3
4
5
6
ozil:tmp mesut$ cd ~
ozil:~ mesut$ pwd
/Users/mesut
ozil:~ mesut$ cd .ssh
-bash: cd: .ssh: No such file or directory
ozil:~ mesut$

进入当前的用户目录,波浪线表示的是当前目录。判断是否已经安装了.ssh,避免默认安装会覆盖之前安装的。明显当前目录没有该文件

执行创建 ssh key

 

?
1
ssh-keygen -t rsa -C youremail @example .com(你的Github登陆名)

接着都是回车,选择默认的目录,默认的密码即可

 

?
1
2
3
4
5
6
7
Generating public / private rsa key pair.
Enter file in which to save the key (/Users/mesut/.ssh/id_rsa):    
Created directory '/Users/mesut/.ssh' .
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/mesut/.ssh/id_rsa.
Your public key has been saved in /Users/mesut/.ssh/id_rsa.pub.


 

接着可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对

 

?
1
2
3
ozil:~ mesut$ cd .ssh
ozil:.ssh mesut$ ls
id_rsa      id_rsa.pub


 

2:在Github设置ssh key

登陆Github, “Settings”->SSH keys->Add SSH key

 

mac使用git管理Github以及生成 SSH 公钥_第1张图片

 

 

mac使用git管理Github以及生成 SSH 公钥_第2张图片

 

title:可以顺便填名字

key:在Key文本框里粘贴id_rsa.pub文件的内容

点击add key 配置完成

3:测试本地是否和Github连接上

史蒂夫

 

?
1
2
3
4
ozil:.ssh mesut$ ssh -T git @github .com
The authenticity of host 'github.com (xxx)' can't be established.
RSA key fingerprint is xxx.
Are you sure you want to continue connecting (yes/no)? yes
第一次链接Github,会有一个确认,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入 yes 回车即可。

 

Warning: Permanently added 'github.com,xxx' (RSA) to the list of known hosts.Hi tanchongshi! You've successfully authenticated, but GitHub does not provide shell access.

4:使用git在本地建立的项目更新到Github

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ozil:githubspace mesut$ mkdir hellogithub
ozil:githubspace mesut$ cd hellogithub/
ozil:hellogithub mesut$ ls -ah
.   ..
ozil:hellogithub mesut$ git init
Initialized empty Git repository in /Users/mesut/Documents/githubspace/hellogithub/.git/
ozil:hellogithub mesut$ ls -ah
.   ..  .git
ozil:hellogithub mesut$ touch newfile
ozil:hellogithub mesut$ ls
newfile
ozil:hellogithub mesut$ git add newfile
ozil:hellogithub mesut$ git commit -m 'first commit'
[master (root-commit) 2295d3e] first commit
  Committer: >v< @ozil .local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
 
     git config --global --edit
 
After doing this , you may fix the identity used for this commit with:
 
     git commit --amend --reset-author
 
  1 file changed, 0 insertions(+), 0 deletions(-)
  create mode 100644 newfile @ozil .local>

 

首先在本地初始化一个git仓库

由于之前没有配置用户名,所以首次commit会有提示,自动建立

设置方式

 

?
1
2
$ git config --global user.name Your Name
$ git config --global user.email email @example .com

 

 

为了把本地库推到远程服务器,首先需要在Github上面也建一个项目

在Repository name填上我们的项目名字,description随便填,别的默认。

然后会生成项目mac使用git管理Github以及生成 SSH 公钥_第3张图片

然后把远程项目和本地库关联

 

?
1
2
3
4
5
6
7
8
9
ozil:hellogithub mesut$ git remote add origin git @github .com:tanchongshi/hellogithub.git
ozil:hellogithub mesut$ git push -u origin master
Warning: Permanently added the RSA host key for IP address 'XXX' to the list of known hosts.
Counting objects: 3 , done.
Writing objects: 100 % ( 3 / 3 ), 217 bytes | 0 bytes/s, done.
Total 3 (delta 0 ), reused 0 (delta 0 )
To git @github .com:tanchongshi/hellogithub.git
  * [ new branch]      master -> master
Branch master set up to track remote branch master from origin.

 

 

https://github.com/tanchongshi/hellogithub
mac使用git管理Github以及生成 SSH 公钥_第4张图片

你可能感兴趣的:(iOS)