Mac下git配置
下载安装
- GUI和命令行。前者推荐,后者安装使用命令行。推荐后者。
- git版本:截至2016.11.1,最新为2.10.1
- 安装::其实是权限不足,方式是按住control键之后,再点击pkg文件。
安装成功,测试
Last login: Mon Oct 31 21:48:49 on consolebogon:~ kangcunhua$ git --versiongit version 2.10.1
小知识:主机名连WiFi后,主机名被改为bogon[^hostname]
配置全局用户信息
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录[^注释]
[^注释]: 详见
ChinaDreams:~ kangcunhua$ git config --global user.name "Kang.Cunhua"ChinaDreams:~ kangcunhua$ git config --global user.email kang.cunhua@qq.comChinaDreams:~ kangcunhua$ git config user.nameKang.CunhuaChinaDreams:~ kangcunhua$ git config user.emailkang.cunhua@qq.com
配置git认证
-
认证有啥好处:不用再提交代码的时候重复输入用户名密码
-
认证方式两种:HTTPS和SSH;专业程序猿喜欢SSH,同步大量代码时,SSH更稳定;
-
HTTPS:git credential-osxkeychain
-
SSH:ssh-keygen -t rsa -C
-
输入命令,敲两个回车即可,查看生成的公钥
-
ChinaDreams:~ kangcunhua$ ssh-keygen -t rsa -b 4096 -C "kang.cunhua@qq.com"ChinaDreams:~ kangcunhua$ $ cat .ssh/id_rsa.pub
-
打开github,oschina或其他你喜欢的代码托管服务器,添加公钥id_ras.pub的内容
-
测试是否添加成功:ssh
-
ChinaDreams:~ kangcunhua$ ssh git@git.oschina.netThe authenticity of host 'git.oschina.net (218.11.0.86)' can't be established.ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.Are you sure you want to continue connecting (yes/no)? y Please type 'yes' or 'no': yesWarning: Permanently added 'git.oschina.net,218.11.0.86' (ECDSA) to the list of known hosts.PTY allocation request failed on channel 0Welcome to Git@OSC, 蛮大人!Connection to git.oschina.net closed.ChinaDreams:~ kangcunhua$ ssh git@github.comThe authenticity of host 'github.com (192.30.253.112)' can't be established.RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts.PTY allocation request failed on channel 0Hi AnInputForce! You've successfully authenticated, but GitHub does not provide shell access.Connection to github.com closed.
从git服务器clone代码
-
git clone git@git.oschina.net:mdr/Python_OpsDev2.git
其他基础操作
- 创建分支
- 最佳实践Git Flow
[^hostname]: : Mac 下的终端经常有时候前面的计算机名会错误的显示成 bogon. 这是因为终端会先向 DNS 请求查询当前 IP 的反向域名解析的结果,如果查询不到再显示我们设置的计算机名。而由于我们的 DNS 错误地将保留地址反向的 NS 查询结果返回了 bogon. 其中 bogon 本应该用来指虚假的 IP 地址,而非保留 IP 地址。因此就出现了会时不时地打印 bogon 这种奇怪名字作为计算机名的现象了。那么如何让终端只显示我们想要的计算机名而不总是从 DNS 返回结果呢?使用这三条命令即可:sudo hostname ChinaDreams,sudo scutil --set LocalHostName $(hostname),sudo scutil --set HostName $(hostname)