mac下使用git推荐两种方式,一种是安装command line tools,另一种是在git官网下载dmg安装
1、command line tools在mac osx 10.9之后就可以脱离Xcode单独安装了,其中有常用的命令行工具(gcc、make、git等等)。直接在命令行中输入git,就会弹出对话框,有下载Xcode和安装command line tools的两个按钮,直接安装就会安在/usr/bin中,大约两百mb,下载很快。
2、官网的dmp会安装到/usr/local/git/bin中,因此需要添加PATH(下载缓慢)
PS:command line tools安装的git会默认使用钥匙链记住使用的github账号密码,所以使用https推送到github不需要输入账号密码。
通过git config -l可以看到这一配置信息,但是在git (--system,--global,--local) -l都没有这一配置,也就是/etc/gitconfig、~/.config和git库中.git/config这三个配置文件中都没有这一配置,在stackoverflow中发现有人和我有一样的疑问,通过git config --show-origin --get credential.helper可以查看credential.helper这一选项是在哪配置的、被配置成了什么:
/Library/Developer/CommandLineTools/usr/share/git-core/gitconfig osxkeychain,在/Library/Developer/CommandLineTools/usr/share/git-core/config中果然可以看到:
[credential]
helper = osxkeychain
想要关闭的话,删掉就可以,Windows和linux上是没有osxkeychain的,可以配置成store存储账号密码
可以看git-book中的详细说明:工具-凭证存储#_credential_caching
git同github通信可以使用https和ssh两种协议,https的push操作需要输入github的账号密码来验证权限,clone不需要。如果没把ssh公钥添加到github账号中,使用ssh协议对远程库做不了任何操作,clone都不行。
当A的一个库将B添加到了合作者列表中,则B可以通过https操作A的库。B使用ssh协议操作A的库则必须保证公钥添加到了B的账号中。github应该能够通过ssh公钥确定用户是谁。
如果本地库和远程库使用的是https关联,想要修改为ssh,可以:
git remote rm origin
git remote add origin git@github.com:username/repository.git
或者修改配置文件:
[remote "origin"]
url = username/repository.git
阅读(4233) | 评论(0) | 转发(0) |