Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÉîÈëdz³öGitȨÏÞУÑé
 
À´Ô´£ºÍøÂç ·¢²¼ÓÚ 2017-4-17
  2505  次浏览      27
 

½èÖúÉϴΡ°µô¿Ó¡±µÄ¾­Àú£¬ÎÒ¶ÔGitȨÏÞУÑéµÄÁ½ÖÖ·½Ê½ÖØÍ·½øÐÐÁËÊáÀí£¬ÐγÉÁËÕâÆª×ܽá¼Ç¼¡£

ÔÚ±¾µØ¼ÆËã»úÓëGitHub£¨»òGitLab£©½øÐÐͨÐÅʱ£¬´«ÊäÖ÷Òª»ùÓÚÁ½ÖÖЭÒ飬HTTPSºÍSSH£¬¶ÔÓ¦µÄ²Ö¿âµØÖ·¾ÍÊÇHTTPS URLsºÍSSH URLs¡£

Ê×ÏÈÐèҪǿµ÷µÄÊÇ£¬HTTPS URLsºÍSSH URLs¶ÔÓ¦µÄÊÇÁ½Ì×ÍêÈ«¶ÀÁ¢µÄȨÏÞУÑ鷽ʽ£¬Ö÷ÒªµÄÇø±ð¾ÍÊÇHTTPS URLs²ÉÓÃÕ˺ÅÃÜÂë½øÐÐУÑ飬SSH URLs²ÉÓÃSSHÃØÔ¿¶Ô½øÐÐУÑ顣ƽʱʹÓõÄʱºòÎÒÃÇ¿ÉÒÔ¸ù¾Ýʵ¼ÊÇé¿ö£¬Ñ¡ÔñÒ»ÖÖ¼´¿É¡£

HTTPS URLs

GitHub¹Ù·½ÍƼö²ÉÓÃHTTPS URLsµÄ·½Ê½£¬ÒòΪ¸ÃÖÖ·½Ê½ÊÊÓÃÃæ¸ü¹ã£¨¼´Ê¹ÔÚÓзÀ»ðǽ»ò´úÀíµÄÇé¿öÏÂҲͬÑùÊÊÓã©£¬Ê¹Óøü·½±ã£¨ÅäÖøü¼òµ¥£©¡£

²ÉÓÃHTTPS URLsµØÖ·clone/fetch/pull/push²Ö¿âʱ£¬ÊÂÏÈÎÞÐè¶Ô±¾µØÏµÍ³½øÐÐÈκÎÅäÖã¬Ö»ÐèÒªÊäÈëGitHubµÄÕ˺źÍÃÜÂë¼´¿É¡£²»¹ýÈç¹ûÿ´Î¶¼ÒªÊÖ¶¯ÊäÈëÕ˺ÅÃÜÂ룬ҲÊÇÒ»¼þºÜ·±ËöµÄÊÂÇé¡£

ºÃÔÚÒѾ­Óжà¸ö»úÖÆ¿ÉÒÔÈòÙ×÷²»ÓÃÕâôÂé·³¡£

ÔÚMacϵͳÖУ¬ÔÚÆôÓÃKeychain»úÖÆµÄÇé¿öÏ£¬Ê×´ÎÊäÈëGitHubÕ˺ÅÃÜÂëºó£¬ÈÏÖ¤ÐÅÏ¢¾Í»á×Ô¶¯±£´æµ½ÏµÍ³µÄKeychainÖУ¬Ï´ÎÔٴηÃÎʲֿâʱ¾Í»á×Ô¶¯¶ÁÈ¡KeychainÖб£´æµÄÈÏÖ¤ÐÅÏ¢¡£

ÔÚ·ÇMacϵͳÖУ¬ËäȻûÓÐKeychain»úÖÆ£¬µ«ÊÇGitÌṩÁËcredential helper»úÖÆ£¬¿ÉÒÔ½«Õ˺ÅÃÜÂëÒÔcacheµÄÐÎʽÔÚÄÚ´æÖлº´æÒ»¶Îʱ¼ä£¨Ä¬ÈÏ15·ÖÖÓ£©£¬»òÕßÒÔÎļþµÄÐÎʽ´æ´¢ÆðÀ´£¨~/.git-credentials£©¡£µ±È»£¬MacϵͳÈç¹û²»ÆôÓÃKeychain»úÖÆ£¬Ò²¿ÉÒÔ²ÉÓÃÕâÖÖ·½Ê½¡£

# cache credential in memory
$ git config --global credential.helper cache
# store credential in ~/.git-credential
$ git config --global credential.helper store

ÔÚcredential.helperÉèÖÃΪstoreµÄÇé¿öÏ£¬Ê×´ÎÊäÈëGitHubÕ˺ÅÃÜÂëºó£¬¾Í»á×Ô¶¯±£´æµ½~/.git-credentialsÎļþÖУ¬±£´æÐÎʽΪhttps://user:pass@github.com£»Ï´ÎÔٴηÃÎʲֿâʱ¾Í»á×Ô¶¯¶ÁÈ¡~/.git-credentialsÖб£´æµÄÈÏÖ¤ÐÅÏ¢¡£

ÁíÒ»¸öÐèҪ˵Ã÷µÄÇé¿öÊÇ£¬Èç¹ûÔÚGitHubÖпªÆôÁË2FA£¨two-factor authentication£©£¬ÄÇôÔÚ±¾µØÏµÍ³ÖÐÊäÈëGitHubÕ˺ÅÃÜÂëʱ£¬²»ÄÜÊäÈëԭʼµÄÃÜÂ루¼´GitHubÍøÕ¾µÄµÇ¼ÃÜÂ룩£¬¶øÊÇÐèÒªÊÂÏÈÔÚGitHubÍøÕ¾Öд´½¨Ò»¸öPersonal access token£¬ºóÐøÔÚ·ÃÎÊ´úÂë²Ö¿âÐèÒª½øÐÐȨÏÞУÑéµÄʱºò£¬²ÉÓÃaccess token×÷ΪÃÜÂë½øÐÐÊäÈë¡£

SSH URLs

³ýÁËHTTPS URLs£¬»¹¿ÉÒÔ²ÉÓÃSSH URLsµÄ·½Ê½·ÃÎÊGitHub´úÂë²Ö¿â¡£

²ÉÓÃSSH URLs·½Ê½Ö®Ç°£¬ÐèÒªÏÈÔÚ±¾µØ¼ÆËã»úÖÐÉú³ÉSSH keypair£¨ÃØÔ¿¶Ô£¬°üÀ¨Ë½Ô¿ºÍ¹«Ô¿£©¡£Ä¬ÈÏÇé¿öÏ£¬Éú³ÉµÄÃØÔ¿Î»ÓÚ$HOME/.ssh/Ŀ¼ÖУ¬ÎļþÃû³Æ·Ö±ðΪid_rsaºÍid_rsa.pub£¬Í¨³£ÎÞÐèÐ޸쬱£³ÖĬÈϼ´¿É¡£²»¹ý£¬Èç¹ûһ̨¼ÆËã»úÖдæÔÚ¶à¸öÃØÔ¿¶Ô£¬¾ÍÐèÒªÐÞ¸ÄÃØÔ¿ÎļþÃû£¬Ãû³ÆÃ»ÓÐÇ¿ÖÆµÄÃüÃû¹æ·¶£¬±ãÓÚ×Ô¼º±æÊ¶¼´¿É¡£

ÈçÏÂÊÇ´´½¨ÃØÔ¿¶ÔµÄ¹ý³Ì¡£

? ssh-keygen -t rsa -b 4096 -C "mail@debugtalk.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Leo/.ssh/id_rsa): /Users/Leo/.ssh/debugtalk_id_rsa
Enter passphrase (empty for no passphrase): <myPassphrase>
Enter same passphrase again: <myPassphrase>
Your identification has been saved in /Users/Leo/.ssh/debugtalk_id_rsa.
Your public key has been saved in /Users/Leo/.ssh/debugtalk_id_rsa.pub.
The key fingerprint is:
SHA256:jCyEEKjlCU1klROnuBg+UH08GJ1u252rQMADdD9kYMo mail@debugtalk.com
The key's randomart image is:
+---[RSA 4096]----+
|+*BoBO+. |
|o=oO=** |
|++E.*+o. |
|+ooo +o+ |
|.o. ..+oS. . |
| . o. . o |
| . . |
| . . |
| .. |
+----[SHA256]-----+

ÔÚ´´½¨ÃØÔ¿µÄ¹ý³ÌÖУ¬ÏµÍ³»¹½¨Òé´´½¨Ò»¸öÃûΪpassphraseµÄ¶«Î÷£¬ÕâÊÇÓÃÀ´¸ÉÂïµÄÄØ£¿

Ê×ÏÈ£¬µ¥¶À²ÉÓÃÃÜÂë¿Ï¶¨ÊDz»¹»°²È«µÄ¡£Èç¹ûÃÜÂëÌ«¼òµ¥£¬ÄÇô¾ÍºÜÈÝÒ×±»±©Á¦ÆÆ½â£¬Èç¹ûÃÜÂëÌ«¸´ÔÓ£¬ÄÇôÓû§¾ÍºÜÄѼÇÒ䣬¼Ç¼µ½Ð¡±¾×ÓÀïÃæ¸ü²»°²È«¡£

Òò´Ë£¬SSH keysµ®ÉúÁË¡£SSHÃØÔ¿¶ÔµÄ¿É¿¿ÐԷdz£¸ß£¬±»±©Á¦ÆÆ½âµÄ¿ÉÄÜÐÔ»ù±¾Ã»ÓС£²»¹ý£¬ÕâÒªÇóÓû§·Ç³£½÷É÷µØ±£¹ÜºÃ˽Կ£¬Èç¹û±ðÈËʹÓÃÄãµÄ¼ÆËã»úʱ͵͵µØ½«ÄãµÄ˽Կ¿½×ßÁË£¬ÄÇô¾ÍºÃ±ÈÊDZðÈËÄõ½ÁËÄã¼ÒÀïµÄÔ¿³×£¬Ò²ÄÜËæÊ±´ò¿ªÄã¼ÒµÄÃÅ¡£

»ùÓÚÒÔÉÏÇé¿ö£¬½â¾ö°ì·¨¾ÍÊÇÔÚSSH keysÖ®ÍâÔÙÔö¼ÓÒ»¸öÃÜÂ룬¼´passphrase¡£Ö»ÓÐͬʱ¾ß±¸SSH private keyºÍpassphraseµÄÇé¿öÏ£¬²ÅÄÜͨ¹ýSSHµÄȨÏÞУÑ飬Õâ¾Í´ó´óµØÔö¼ÓÁ˰²È«ÐÔ¡£µ±È»£¬Õâ¸öpassphraseÒ²²»ÊDZØÐëµÄ£¬ÔÚ´´½¨ÃØÔ¿¶ÔʱҲ¿ÉÒÔ²»ÉèÖÃpassphrase¡£

ÁíÍ⣬Èç¹ûÿ´ÎȨÏÞУÑéʱ¶¼ÒªÊäÈëpassphrase£¬ÕâÒ²ÊÇͦÂé·³µÄ¡£ºÃÔÚÎÒÃDz»ÓÃÔÙµ£ÐÄÕâ¸öÎÊÌ⣬ÒòΪssh-agent¿ÉÒÔ°ïÎÒÃǼÇסpassphrase£¬MacϵͳµÄKeychainÒ²¿ÉÒÔ¼Çסpassphrase£¬ÕâÑùÎÒÃÇÔÚͬһ̨¼ÆËã»úÖоͲ»ÓÃÖØÐÂÊäÈëÃÜÂëÁË¡£

ÃØÔ¿¶Ô´´½¨ºÃÒÔºó£¬Ë½Ô¿´æ·ÅÓÚ±¾µØ¼ÆËã»ú£¨~/.ssh/id_rsa£©£¬½«¹«Ô¿£¨~/.ssh/id_rsa.pub£©ÖеÄÄÚÈÝÌí¼ÓÖÁGitHubÕË»§¡£


# copy the contents of id_rsa.pub to the clipboard
? pbcopy < ~/.ssh/id_rsa.pub
# paste to GitHub
# Login GitHub, ¡¾Settings¡¿->¡¾SSH and GPG keys¡¿->¡¾New SSH Key¡¿

²»¹ý£¬Èç¹û´Ëʱ¼ì²â±¾µØ¼ÆËã»úÓëGitHubµÄÁ¬½Ó״̬£¬»á·¢ÏÖϵͳÈÔÌáʾȨÏÞУÑéʧ°Ü¡£


? ssh -T git@github.com
Permission denied (publickey).

ÕâÊÇÒòΪÔÚ±¾µØ¼ÆËã»úÓëGitHub½¨Á¢Á¬½ÓµÄʱºò£¬Êµ¼ÊÉÏÊDZ¾»ú¼ÆËã»úµÄssh-agentÓëGitHub·þÎñÆ÷½øÐÐͨÐÅ¡£ËäÈ»±¾µØ¼ÆËã»úÓÐÁË˽Կ£¬µ«ÊÇssh-agent²¢²»ÖªµÀ˽Կ´æ´¢ÔÚÄĶù¡£Òò´Ë£¬ÒªÏëÕý³£Ê¹ÓÃÃØÔ¿¶Ô£¬ÐèÒªÏȽ«Ë½Ô¿¼ÓÈëµ½±¾µØ¼ÆËã»úµÄssh-agentÖУ¨Ìí¼Ó¹ý³ÌÖÐÐèÒªÊäÈëpassphrase£©¡£


# start ssh-agent in the background
? eval "$(ssh-agent -s)"
Agent pid 78370
? ssh-add ~/.ssh/id_rsa
Enter passphrase for /Users/Leo/.ssh/id_rsa: <myPassphrase>
Identity added: /Users/Leo/.ssh/id_rsa (/Users/Leo/.ssh/id_rsa)

Ìí¼ÓÍê³Éºó£¬¾Í¿ÉÒԲ鿴µ½µ±Ç°¼ÆËã»úÖд洢µÄÃÜÔ¿¡£


? ssh-add -l
4096 SHA256:xRg49AgTxxxxxxxx8q2SPPOfxxxxxxxxRlBY /Users/Leo/.ssh/id_rsa (RSA)

Ôٴμì²â±¾µØ¼ÆËã»úÓëGitHubµÄÁ¬½Ó״̬£¬Ð£Ñé¾ÍÕý³£Í¨¹ýÁË¡£


? ssh -T git@github.com
Hi leolee! You've successfully authenticated, but GitHub does not provide shell access.

ºóÐøÔÙ½øÐÐclone/fetch/pull/push²Ù×÷ʱ£¬¾Í¿ÉÒÔÕý³£·ÃÎÊGitHub´úÂë²Ö¿âÁË£¬²¢ÇÒÒ²²»ÐèÒªÔÙÖØÐÂÊäÈëÕ˺ÅÃÜÂë¡£

¶øÇÒ£¬½«Ë½Ô¿¼ÓÈëssh-agentºó£¬¼´Ê¹É¾³ý˽ԿÎļþ£¬±¾µØ¼ÆËã»úÈÔ¿ÉÒÔÕý³£·ÃÎÊGitHub´úÂë²Ö¿â¡£

? rm -rf ~/.ssh
? ssh-add -l
4096 SHA256:xRg49AgTxxxxxxxx8q2SPPOfxxxxxxxxRlBY /Users/Leo/.ssh/id_rsa (RSA)
? ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.130)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts.
Hi leolee! You've successfully authenticated, but GitHub does not provide shell access.

Ö»ÓÐÖ´ÐÐssh-add -D»òssh-add -d pub_keyÃüÁ½«Ë½Ô¿´Óssh-agentɾ³ýºó£¬ÈÏÖ¤ÐÅÏ¢²Å»áʧЧ¡£

? ssh-add -d ~/.ssh/id_rsa.pub
Identity removed: /Users/Leo/.ssh/id_rsa.pub (mail@debugtalk.com)
? ssh-add -l
The agent has no identities.
? ssh -T git@github.com
Permission denied (publickey).

ͬʱʹÓöà¸öGitHubÕ˺Å

ÊìϤÁËHTTPS URLsºÍSSH URLsÕâÁ½ÖÖУÑ鷽ʽ֮ºó£¬ÎÒÃÇÔÙÀ´¿´Ö®Ç°Óöµ½µÄÎÊÌâ¡£ÒªÏëÔÚһ̨¼ÆËã»úÉÏͬʱʹÓöà¸öGitHubÕ˺ŷÃÎʲ»Í¬µÄ²Ö¿â£¬ÐèÒªÔõô×öÄØ£¿

ΪÁ˸üºÃµØÑÝʾ£¬ÏÖ¼ÙÉèÓÐÁ½¸öGitHubÕ˺ţ¬debugtalkºÍleolee£¬ÔÚÁ½¸öÕ˺ÅÖи÷×ÔÓÐÒ»¸ö²Ö¿â£¬debugtalk/DroidMeterºÍDebugTalk/MobileStore£¨¹«Ë¾Ë½Óп⣩¡£

Ç°ÃæÒѾ­Ëµ¹ý£¬HTTPS URLsºÍSSH URLs¶ÔÓ¦×ÅÁ½Ì×¶ÀÁ¢µÄȨÏÞУÑ鷽ʽ£¬Òò´ËÕâÁ½Ì×·½Ê½Ó¦¸ÃÊǶ¼Äܵ¥¶ÀʵÏÖÎÒÃǵÄÐèÇóµÄ¡£

²»¹ýÔÚÏêϸ½²½âGitȨÏÞУÑéµÄÎÊÌâ֮ǰ£¬ÎÒÃÇÏÈÀ´»Ø¹ËÏÂGitÅäÖÃÎļþµÄÓÅÏȼ¶¡£

GitÅäÖô洢λÖü°ÆäÓÅÏȼ¶

Unix-likeϵͳÖУ¬±£´æGitÓû§ÐÅÏ¢µÄÖ÷ÒªÓÐ3¸öµØ·½£¨Macϵͳ¶àÒ»¸öKeychain£©£º

/etc/gitconfig£º´æ´¢µ±Ç°ÏµÍ³ËùÓÐÓû§µÄgitÅäÖÃÐÅÏ¢£¬Ê¹ÓôøÓÐ--systemÑ¡ÏîµÄgit configʱ£¬ÅäÖÃÐÅÏ¢»áдÈë¸ÃÎļþ£»

~/.gitconfig»ò~/.config/git/config£º´æ´¢µ±Ç°Óû§µÄgitÅäÖÃÐÅÏ¢£¬Ê¹ÓôøÓÐ--globalÑ¡ÏîµÄgit configʱ£¬ÅäÖÃÐÅÏ¢»áдÈë¸ÃÎļþ£»

Keychain Access£ºÔÚ¿ªÆôKeychain»úÖÆµÄÇé¿öÏ£¬½øÐÐȨÏÞУÑéºó»á×Ô¶¯½«Õ˺ÅÃÜÂë±£´æÖÁKeychain Access¡£

²Ö¿âµÄGitĿ¼ÖеÄconfigÎļþ£¨¼´repo/.git/config£©£º´æ´¢µ±Ç°²Ö¿âµÄgitÅäÖÃÐÅÏ¢£¬ÔÚ²Ö¿âÖÐʹÓôøÓÐ--localÑ¡ÏîµÄgit configʱ£¬ÅäÖÃÐÅÏ¢»áдÈë¸ÃÎļþ£»

ÔÚÓÅÏȼ¶·½Ã棬ÒÔÉÏ4¸öÅäÖÃÏîµÄÓÅÏȼ¶´ÓÉÏÍùÏÂÒÀ´ÎÉÏÉý£¬¼´repo/.git/configµÄÓÅÏȼ¶×î¸ß£¬È»ºóKeychain Access»á¸²¸Ç~/.gitconfigÖеÄÅäÖã¬~/.gitconfig»á¸²¸Ç/etc/gitconfigÖеÄÅäÖá£

»ùÓÚSSHЭÒéʵÏÖ¶àÕ˺ʲ´æ

ÏÈÀ´¿´ÏÂÈçºÎ²ÉÓÃSSH URLsʵÏÖÎÒÃǵÄÐèÇó¡£

ÔÚ´¦Àí¶àÕ˺ʲ´æÎÊÌâ֮ǰ£¬Á½¸öÕ˺žùÒѷֱ𴴽¨SSHÃØÔ¿¶Ô£¬²¢ÇÒSSH-key¾ùÒѼÓÈë±¾µØ¼ÆËã»úµÄssh-agent¡£

? ssh-add -l
4096 SHA256:lqujbjkWM1xxxxxxxxxxG6ERK6DNYj9tXExxxxxx8ew /Users/Leo/.ssh/debugtalk_id_rsa (RSA)
4096 SHA256:II2O9vZutdQr8xxxxxxxxxxD7EYvxxxxxxbynx2hHtg /Users/Leo/.ssh/id_rsa (RSA)

ÔÚÏêϸ½²½â¶àÕ˺ʲ´æµÄÎÊÌâ֮ǰ£¬ÎÒÃÇÏÈÀ´»ØÏëÏÂÆ½Ê±ÔÚTerminalÖÐÓëGitHub²Ö¿â½øÐн»»¥µÄ³¡¾°¡£

?  DroidMeter git:(master) git pull
Already up-to-date.
? DroidMeter git:(master) touch README.md
? DroidMeter git:(master) ? git add .
? DroidMeter git:(master) ? git commit -m "add README"
? DroidMeter git:(master) git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 310 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@debugtalk:debugtalk/DroidMeter.git
7df6839..68d085b master -> master

ÔÚ²Ù×÷¹ý³ÌÖУ¬±¾µØ¼ÆËã»úµÄssh-agentÓëGitHub·þÎñÆ÷½¨Á¢ÁËÁ¬½Ó£¬²¢½øÐÐÁËÕ˺ÅȨÏÞУÑé¡£

µ±±¾µØ¼ÆËã»úÖ»ÓÐÒ»¸öGitHubÕ˺Åʱ£¬Õâ¸öÐÐΪ²¢²»ÄÑÀí½â£¬ÏµÍ³Ó¦¸Ã»á²ÉÓÃÕâ¸öΨһµÄGitHubÕ˺ŽøÐвÙ×÷¡£ÄÇÈç¹û±¾µØ¼ÆËã»úÖÐÓжà¸öGithubÕ˺Åʱ£¬ÏµÍ³ÊǸù¾ÝʲôÀ´ÅжÏÓ¦¸ÃÑ¡ÔñÄĸöÕ˺ÅÄØ£¿

ʵ¼ÊÇé¿öÊÇ£¬ÏµÍ³Ã»·¨½øÐÐÅжϡ£ÏµÍ³Ö»»áÓÐÒ»¸öĬÈϵÄÕ˺ţ¬È»ºó²ÉÓÃÕâ¸öĬÈϵÄÕ˺ÅÈ¥²Ù×÷ËùÓеĴúÂë²Ö¿â£¬µ±Õ˺ÅÓë²Ö¿â²»Æ¥Åäʱ£¬¾Í»á±¨È¨ÏÞУÑéʧ°ÜµÄ´íÎó¡£

ÄÇÒªÔõÑù²ÅÄÜÈÃϵͳÕýÈ·Çø·ÖÕ˺ÅÄØ£¿Õâ¾ÍÐèÒªÎÒÃÇÊÖ¶¯½øÐÐÅäÖã¬ÅäÖÃÎļþ¼´ÊÇ~/.ssh/config¡£

´´½¨~/.ssh/configÎļþ£¬ÔÚÆäÖÐÌîдÈçÏÂÄÚÈÝ¡£

# debugtalk
Host debugtalk
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# DT
Host leolee
HostName github.com
User git
IdentityFile ~/.ssh/dt_id_rsa

ÒªÀí½âÒÔÉÏÅäÖÃÎļþµÄº¬Òå²¢²»ÄÑ£¬ÎÒÃÇ¿ÉÒԶԱȿ´ÏÂÁ½¸öÏîÄ¿µÄSSH URLs£º

git@github.com:debugtalk/DroidMeter.git
git@github.com:DTSZ/Store_Android.git

ÆäÖУ¬gitÊDZ¾µØssh-agentÓëGitHub·þÎñÆ÷½¨Á¢SSHÁ¬½Ó²ÉÓõÄÓû§Ãû£¨¼´User£©£¬github.comÊÇGitHub·þÎñÆ÷µÄÖ÷»ú£¨¼´HostName£©¡£

¿ÉÒÔ¿´³ö£¬Èç¹û²ÉÓÃԭʼµÄSSH URLs£¬ÓÉÓÚUserºÍHostName¶¼Ïàͬ£¬±¾µØ¼ÆËã»ú²¢²»ÖªµÀÓ¦¸Ã²ÉÓÃÄĸöSSH-keyÈ¥½¨Á¢Á¬½Ó¡£

Òò´Ë£¬Í¨¹ý´´½¨~/.ssh/configÎļþ£¬ÔÚHostÖнøÐÐÇø·Ö£¬È»ºó¾­¹ýCNAMEÓ³Éäµ½HostName£¬È»ºó·Ö±ðÖ¸Ïò²»Í¬µÄSSH-key£¬¼´IdentityFile¡£ÓÉÓÚHostName²ÅÊÇÕæÕýÖ¸¶¨GitHub·þÎñÆ÷Ö÷»úµÄ×ֶΣ¬Òò´ËÕâôÅäÖò»»á¶Ô±¾µØssh-agentÁ¬½ÓGitHubÖ÷»ú²úÉúÓ°Ï죬ÔÙ¼ÓÉÏHost±ðÃûÖ¸ÏòÁ˲»Í¬µÄSSH-key£¬´Ó¶øÊµÏÖÁ˶ÔÁ½¸öGitHubÕ˺ŵķÖÀë¡£

ÅäÖÃÍê±Ïºó£¬Á½¸öGitHubÕ˺žͿÉÒÔͨ¹ýHost±ðÃûÀ´½øÐÐÇø·ÖÁË¡£ºóÐøÔÙÓëGitHub·þÎñÆ÷½øÐÐͨÐÅʱ£¬¾Í¿ÉÒÔ²ÉÓÃHost±ðÃû´úÌæÔ­ÏȵÄgithub.com¡£ÀýÈ磬²âÊÔ±¾µØssh-agentÓëGitHub·þÎñÆ÷µÄÁ¬Í¨ÐÔʱ£¬¿É²ÉÓÃÈçÏ·½Ê½£º

? ssh -T git@debugtalk
Hi debugtalk! You have successfully authenticated, but GitHub does not provide shell access.
? ssh -T git@leolee
Hi leolee! You have successfully authenticated, but GitHub does not provide shell access.

¿ÉÒÔ¿´³ö£¬´ËʱÁ½¸öÕ˺Ÿ÷˾ÆäÖ°£¬²»»áÔÙ³öÏÖ»ìÏýµÄÇé¿ö¡£

²»¹ý£¬ÎÒÃÇ»¹ÒÅ©Á˺ÜÖØÒªµÄÒ»µã¡£ÔÚ±¾µØ´úÂë²Ö¿âÖÐÖ´ÐÐpush/pull/fetchµÈ²Ù×÷µÄʱºò£¬ÃüÁîÖв¢²»»á°üº¬HostÐÅÏ¢£¬ÄÇϵͳÔõô֪µÀÎÒÃÇÒª²ÉÓÃÄĸöGitHubÕ˺ŽøÐвÙ×÷ÄØ£¿

´ð°¸ÊÇ£¬ÏµÍ³»¹ÊÇû·¨Åжϣ¬ÐèÒªÎÒÃǽøÐÐÅäÖÃÖ¸¶¨¡£

ÏÔÈ»£¬²»Í¬µÄ²Ö¿â¿ÉÄܶÔÓ¦×Ų»Í¬µÄGitHubÕ˺ţ¬Òò´ËÕâ¸öÅäÖò»ÄÜÅäÖóÉÈ«¾ÖµÄ£¬¶øÖ»ÄÜÔÚ¸÷¸öÏîÄ¿Öзֱð½øÐÐÅäÖ㬼´repo/.git/configÎļþ¡£

ÅäÖõķ½Ê½ÈçÏ£º

ÔÚdebugtalk/DroidMeter²Ö¿âÖУº

? git remote add origin git@debugtalk:debugtalk/DroidMeter.git

ÔÚDebugTalk/MobileStore.git²Ö¿âÖУº

? git remote add origin git@leolee:DebugTalk/MobileStore.git

ÅäÖõÄÔ­ÀíÒ²ºÜÈÝÒ×Àí½â£¬¾ÍÊǽ«²Ö¿âµÄHost¸ü»»ÎªÖ®Ç°ÉèÖõıðÃû¡£Ìí¼ÓÍê±Ïºó£¬ºóÐøÔÙÔÚÁ½¸ö²Ö¿âÖÐÖ´ÐÐÈκÎgit²Ù×÷ʱ£¬ÏµÍ³¾Í¿ÉÒÔÑ¡ÔñÕýÈ·µÄSSH-keyÓëGitHub·þÎñÆ÷½øÐн»»¥ÁË¡£

»ùÓÚHTTPSЭÒéʵÏÖ¶àÕ˺ʲ´æ

ÔÙÀ´¿´ÏÂÈçºÎ²ÉÓÃHTTPS URLsʵÏÖÎÒÃǵÄÐèÇó¡£

ÓÐÁËÇ°ÃæµÄ¾­Ñ飬ÎÒÃǵÄ˼·¾ÍÇåÎúÁËÐí¶à¡£²ÉÓÃHTTPS URLsµÄ·½Ê½½øÐÐGitȨÏÞУÑéºó£¬ÏµÍ³»á½«GitHubÕ˺ÅÃÜÂë´æ´¢µ½KeychainÖУ¨Macϵͳ£©£¬»òÕß´æ´¢µ½~/.git-credentialsÎļþÖУ¨Git credential helper£©¡£

²»¹ÜÊÇ´æ´¢µ½ÄÄÀÎÒÃÇÃæÁÙµÄÎÊÌâ¶¼ÊÇÏàͬµÄ£¬¼´ÈçºÎÔÚ´úÂë²Ö¿âÖÐÇø·Ö²ÉÓÃÄĸöGitHubÕ˺š£

ÅäÖõķ½Ê½ÆäʵҲºÜ¼òµ¥£º

ÔÚdebugtalk/DroidMeter²Ö¿âÖУº

? git remote add origin https://debugtalk@github.com/debugtalk/DroidMeter.git

ÔÚDebugTalk/MobileStore.git²Ö¿âÖУº

? git remote add origin https://leolee@github.com/DebugTalk/MobileStore.git

ÅäÖõÄÔ­ÀíÒ²ºÜÈÝÒ×Àí½â£¬½«GitHubÓû§ÃûÌí¼Óµ½²Ö¿âµÄGitµØÖ·ÖУ¬ÕâÑùÔÚÖ´ÐÐgitÃüÁîµÄʱºò£¬ÏµÍ³¾Í»á²ÉÓÃÖ¸¶¨µÄGitHubÓû§ÃûÈ¥Keychain»ò~/.git-credentialsÖÐѰÕÒ¶ÔÓ¦µÄÈÏÖ¤ÐÅÏ¢£¬Õ˺ÅʹÓôíÂÒµÄÎÊÌâÒ²¾Í²»¸´´æÔÚÁË¡£

   
2505 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÿÈÕ¹¹½¨½â¾ö·½°¸
ÈçºÎÖÆ¶¨ÓÐЧµÄÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀíÖ÷Òª»î¶¯¼°ÊµÏÖ·½·¨
¹¹½¨¹ÜÀíÈëÃÅ
Ïà¹ØÎĵµ

ÅäÖùÜÀíÁ÷³Ì
ÅäÖùÜÀí°×ƤÊé
CM09_CÅäÖùÜÀí±ê×¼
ʹÓÃSVN½øÐа汾¿ØÖÆ
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀíʵ¼ù
ÅäÖùÜÀí·½·¨¡¢¹¤¾ßÓëÓ¦ÓÃ
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
²úÆ··¢²¼¹ÜÀí
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Èí¼þÅäÖùÜÀíµÄÎÊÌ⡢ĿµÄ
Èí¼þÅäÖùÜÀí¹æ·¶
CQWeb 7.1ÐÔÄܲâÊÔÓëµ÷ÓÅÖ¸ÄÏ
ΪʲôÐèҪʹÓÃClearCase
ClearCaseÓëRTCµÄ¼¯³É
ÀûÓÃClearQuest ½øÐвâÊÔ¹ÜÀí

²úÆ··¢²¼¹ÜÀí
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ß
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
ʹÓÃCCÓëCQ½øÐÐÏîĿʵ¼ù
CVSÓëÅäÖùÜÀí
Subversion¹ÜÀíÔ±

ÅäÖùÜÀíʵ¼ù£¨´Ó×éÖ¯¼¶µ½ÏîÄ¿¼¶£©
ͨºÅÔº ÅäÖùÜÀí¹æ·¶ÓëÓ¦ÓÃ
ÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¤·ð˹ ClearCaseÓëÅäÖùÜÀí
ÖйúÒÆ¶¯ Èí¼þÅäÖùÜÀí
ÖйúÒøÐÐ Èí¼þÅäÖùÜÀí
Ìì½ò»ªÒíÀ¶Ìì¿Æ¼¼ ÅäÖùÜÀíÓëPvcs