Git使用笔记

  Git 是当之无愧的最流行版本控制软件,虽然相比 SVN 有一些复杂,但是也有很多优点。本篇用于记录在使用 Git 中的心得。

设置代理

  在 github 设置部署代码的时候,会非常非常慢,成功率完全随缘。Git 支持针对指定网站的代理设置,非常方便。

HTTPS 协议

  不管在 Windows 还是 Linux 下,都可以通过在用户目录的根目录下,创建一个 .gitconfig 的文件来配置 Git 的代理。

1
2
3
[http]
[http "https://github.com"]
    proxy = http://x.x.x.x:xxx

SSH 协议

  如果使用 SSH 协议进行 git 操作的话,则需要设置 ssh 程序的代理。在用户的根目录下,ssh 程序会创建一个 .ssh 目录,在 Linux 下是隐藏的。其中的 config 是 ssh 客户端的配置文件,可以增加配置对指定主机设置是否使用代理。

1
2
3
Host github.com
    User git
    ProxyCommand connect -H xxx.xxx.xxx.xxx:1234 %h %p

  上面是 Windows 平台下的配置,但是 Linux 下没有 connect 这个程序,应该使用 nc 程序来连接代理服务。

1
2
3
Host github.com
  User git
  ProxyCommand nc -X 5 -x xxx.xxx.xxx.xxx:1234 %h %p

  -X 5 表示使用了 socks 5 版本的代理协议。

设置用户

  Git 可以在配置中指定当前使用的用户名和电子邮箱地址,设置过以后就不需要每次操作的时候都输入了,设置的位置同样是在用户根目录下的 .gitconfig 中。

1
2
3
[user]
    name = xxx
    email = xxx@xxx.com

Github

配置密钥

  通过在 setting → SSH and GPG keys 中增加一个 ssh 的公钥即可实现密钥的配置。如果 ssh 本身的密钥配置没有问题的话,在设置过 Git 的用户以后,即可顺利实现对 Github 仓库的无密码访问。

默认分支

  由于国外轰轰烈烈的 Black Lives Matter 运动,导致了 Github 将自己默认仓库的分支从 master 改为了 main,但是 Git 本身继续使用 master 作为默认分支。
  这就导致了一个问题,如果是在本地通过 git init 创建的分支,又关联了 Github 上创建好的一个远程仓库,就会发现这两个仓库的默认分支不一样,需要把本地的仓库默认分支从 master 改为 main 来适应 Github 的修改。
  也可以在 Github 的 setting → repositories 中设置默认分支的名字。

TortoiseGit

配置 ssh 工具

  Git 的 GUI 工具里,Win 平台下最好用的就是小乌龟了。不过小乌龟有个问题,它是用的自带的 ssh 工具,这样没办法使用配置好的 ssh 密钥,必须再使用它自带的工具生成一个 ppk 格式的密钥来专门给它自己用,比较麻烦。
  可以通过修改小乌龟的设置,让它使用自带的 ssh 软件,这样可以直接用上命令行配置好的密钥。通过修改 setting → network → ssh client 的软件指向已经安装的 git → usr → bin → ssh.exe 即可完成设置。

Licensed under CC BY-NC-SA 4.0
Built with Hugo
主题 StackJimmy 设计