· 7 years ago · Dec 09, 2018, 02:48 PM
1## 问题:
2公叿œ‰githubè´¦å·ï¼Œè‡ªå·±æœ‰githubè´¦å·ï¼Œæƒ³åœ¨gitä¸ŠåŒæ—¶ä½¿ç”¨ï¼Œä¸¤è€…互ä¸å¹²æ‰°ã€‚
3
4## 解决方案
5(å‡è®¾ä½ å·²ç»æ‹¥æœ‰ç§æœ‰è´¦å·ä¸”å·²ç»OK,现在想使用å¦ä¸€ä¸ªå·¥ä½œç”¨è´¦å·ï¼‰ï¼š
6cd 到 `.ssh` 目录下,打开 git bash(windows)
71:为工作账å·ç”ŸæˆSSH Key:
8```
9$ ssh-keygen -t rsa -C "your-email-address"
10
11```
12å˜å‚¨key的时候,ä¸è¦è¦†ç›–现有的id_rsa,使用一个新的åå—,
13输入文件å ,如 id_company_rsa
14
152:把id_rsa_work.pubåŠ åˆ°ä½ çš„workè´¦å·ä¸Š
16
173: 打开ssh-agent
18```
19
20(1)å¦‚æžœä½ æ˜¯github官方的bash:
21
22$ ssh-agent -s
23(2) å¦‚æžœä½ æ˜¯å…¶å®ƒï¼Œæ¯”å¦‚msysgit:
24
25$ eval $(ssh-agent -s)
26```
274:把该keyåŠ åˆ°ssh agentä¸Šã€‚ç”±äºŽä¸æ˜¯ä½¿ç”¨é»˜è®¤çš„.ssh/id_rsaï¼Œæ‰€ä»¥ä½ éœ€è¦æ˜¾ç¤ºå‘Šè¯‰ssh agentä½ çš„æ–°keyçš„ä½ç½®
28```
29$ ssh-add ~/.ssh/id_comapny_rsa
30
31```
32å¯ä»¥é€šè¿‡ssh-add -læ¥ç¡®è®¤ç»“æžœ
33
345: 创建config文件
35
36```
37$ touch config
38```
39编辑 config 文件
40
41æ ¼å¼ï¼š
42
43```
44Host myhost USER_HOST ;USER_HOST为自定义hoståå—,如personalå’Œcompany
45User USER_NAME ;USER_NAME为自定义åç§°
46HostName SERVER_HOST ;SERVER_HOST为实际æœåС噍hostï¼Œæ¤æ—¶ä¸ºGitHub
47IdentityFile PRIVATE_KEY ;PRIVATE_KEY为本地key
48
49```
50例
51```
52# one(one@gmail.com)
53
54 Host one.github.com
55
56  HostName github.com
57
58  PreferredAuthentications publickey
59
60  IdentityFile ~/.ssh/id_rsa_one
61
62  User one
63
64
65
66# two(two@ gmail.com)
67
68 Host two.github.com
69
70  HostName github.com
71
72  PreferredAuthentications publickey
73
74  IdentityFile ~/.ssh/id_rsa_two
75
76  User two
77```
78
79
80# 使用
81
821ã€clone到本地
83
84
85
86(1)原æ¥çš„写法:
87
88$ git clone git@github.com: one的用户å/learngit.git
89(2)现在的写法:
90
91$ git clone git@one.github.com: one的用户å/learngit.git
92
93$ git clone git@two.github.com: two的用户å/learngit.git
94
95
962ã€è®°å¾—给这个仓库设置局部的用户å和邮箱:
97
98$ git config user.name "one_name" ; git config user.email "one_email"
99
100$ git config user.name "two_name" ; git config user.email "two_email"