Git | 安装配置使用
更新: 4/21/2025 字数: 0 字 时长: 0 分钟
Git 安装
去官网下载,运行安装包后默认安装即可。
Git 配置
Git 的所有用户配置文件可以存在于以下几个地方,按照优先级从低到高排列。
当 Git 需要查找某个配置项的值时,它会按照 "Local > Global > System" 的顺序查找。
也就是说,Local 配置优先级最高,System 配置优先级最低。
System 配置
说明
位置:这个配置适用于系统上所有用户。它的位置取决于操作系统和 Git 的安装方式。
- Linux: 通常是
/etc/gitconfig
或/usr/etc/gitconfig
。 - Windows: 通常在 Git 的安装目录下,比如
C:\Program Files\Git\etc\gitconfig
。
作用:包含系统级别的默认配置。
- Linux: 通常是
Global 配置
说明
位置:这个配置只适用于当前用户。
- Linux: 通常是
~/.gitconfig
。你也可以使用$HOME/.gitconfig
。 - Windows: 通常是
~/.gitconfig
。你也可以使用%USERPROFILE%/.gitconfig
。
作用:包含用户级别的默认配置。这是最常用的配置文件。
- Linux: 通常是
Local 配置
说明
位置:这个配置只适用于当前 Git 仓库。
- 它位于仓库的
.git
目录下:.git/config
。注意.git
目录通常是隐藏的。
作用:包含仓库级别的配置,可以覆盖 Global 和 System 配置。
- 它位于仓库的
列出所有配置项
说明
虽然你知道了这些文件的位置,但有时你想确定 Git 正在使用的实际配置文件。可以使用以下命令:
bashgit config --list --show-origin
这个命令会列出所有配置项,以及它们来自哪个文件。这对于调试配置问题非常有用。
Git 使用
设置用户名和邮箱
说明
因为 Git 是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
bashgit config --global user.name "Your Name" # 用户名标识,实际也可以填写您的 github 仓库的名称 git config --global user.email "[email protected]" # 邮箱标识,可以填写 github 仓库的邮箱
--global
参数表示当前用户所有的 Git 仓库都会使用这个配置。也可以针对单个仓库单独配置,不加--global
参数即可。初始化本地仓库
说明
- 打开 Git Bash
- 使用
mkdir
新建一个文件夹 - 使用
cd
进入到新建的文件夹 - 使用
git init
初始化仓库
将 Git 默认分支从
master
修改为main
说明
修改初始化默认分支为
main
分支:bashgit config --global init.defaultBranch main
修改当前项目的分支为
main
:bashgit branch -M main
Git 传输协议
一般 Git 代码托管平台都支持两种传输协议 SSH 和 HTTPS
两种方式的区别
说明
SSH
- 使用 SSH 密钥对(公钥/私钥)进行身份验证。非对称加密,避免密码泄露。
- 配置一次后,后续操作无需重复输入用户名和密码。
- 需要生成 SSH 密钥对,并将公钥添加到 Git 托管服务账户。
HTTPS
- 通常需要输入 Git 托管服务的用户名和密码(或 token)。有些客户端支持凭据缓存。
- 无需设置 SSH 密钥,易于上手。
- 如果没有配置凭据缓存,则需要频繁输入密码。
如何选择
- 建议使用 SSH 连接,特别是对于经常需要进行代码推送的开发者来说,SSH 连接可以避免频繁输入密码,并且更安全。
- HTTPS 连接适用于你只需要进行代码拉取操作,而不需要推送代码。
查看当前仓库使用的传输协议
说明
使用以下方法查看:
- 如果 URL 以
git@
开头,则表示使用 SSH 协议。 - 如果 URL 以
https://
开头,则表示使用 HTTPS 协议。
- 如果 URL 以
方法一:列出远程仓库及其对应的 URL
bashgit remote -v
方法二:从 Git 配置文件中读取远程仓库的 URL
bashgit config --get remote.origin.url # 可以将 origin 替换为你想检查的远程仓库的名称
方法三:查看
.git/config
文件
关联远程仓库时选择传输协议
说明
在克隆、添加远程仓库时,你需要指定远程仓库的 URL,而这个 URL 就决定了使用的传输协议。
bash# 克隆远程仓库 git clone [url] # 添加远程仓库 git remote add [name] [url]
修改传输协议
说明
bashgit remote set-url [name] [new_url]
HTTPS 连接
需要个人访问令牌。即使没有配置个人访问令牌,也是可以
git clone
的,但是git push
的时候需要输入用户名和个人访问令牌。
由于网络审查和干扰,在国内使用 HTTPS 连接到 GitHub 时可能会非常慢或不稳定,甚至无法连接。
这是因为 GitHub 的服务器位于国外,经过国内网络访问时可能会受到限制。
解决方法
使用 SSH 连接:由于 SSH 连接使用不同的端口和协议,因此可能不容易受到防火墙的干扰。
使用 VPN 或代理:通过 VPN 或代理服务器,你可以绕过防火墙,访问 GitHub。
配置 Git 使用代理:即使你没有全局 VPN,也可以配置 Git 客户端使用代理服务器。
bashgit config --global http.proxy socks5://127.0.0.1:10808 git config --global https.proxy socks5://127.0.0.1:10808
SSH 连接
需要密钥对。如果没有配置密钥对,既不能
git clone
,也不能git push
。
生成 SSH 密钥
说明
打开 Git Bash,使用
cd
进入~/.ssh
目录,如果该目录不存在,则用mkdir
命令创建分别运行以下命令,生成用于连接 GitHub 和 Gitee 的 SSH 密钥对
bashssh-keygen -t rsa -f id_rsa_github -C "github" ssh-keygen -t rsa -f id_rsa_gitee -C "gitee"
连续按三次回车键,即可生成 SSH 密钥对
同时会在
.ssh
文件夹下生成对应的私钥id_rsa_xxxx
和公钥id_rsa_xxxx.pub
文件参数解释:
-t
:指定要创建的密钥的类型(type),默认是 RSA 可以省略,RSA 是一种常用的非对称加密算法,适合用于 SSH 密钥。-f
:指定要保存密钥的文件名(filename),选择一个有意义的文件名可以帮助你区分不同的密钥,尤其是在你有多个 SSH 密钥时。-C
:指定一个注释(comment),通常用来标识这个密钥是为哪个账户生成的,这只是一个标签,不影响密钥的功能,你可以使用任何你想要的注释。
配置 SSH 配置文件
说明
在
~/.ssh
目录下打开 config 文件,若没有则新建一个名为 config(不带扩展名)的文件,然后添加以下内容ini# GitHub Host github.com User git Port 22 HostName %h IdentityFile ~/.ssh/id_rsa_github ProxyCommand connect -S 127.0.0.1:10808 %h %p # 按需配置代理,请根据自己使用的代理软件配置对应的地址和端口 # Gitee Host gitee.com User git Port 22 HostName %h IdentityFile ~/.ssh/id_rsa_gitee
添加公钥到 GitHub 和 Gitee
测试是否添加成功
说明
依次在 Git Bash 中输入
bashssh -T [email protected] # 测试 GitHub ssh -T [email protected] # 测试 Gitee
第一次连接会让输入 yes/no,输入 yes 即可。
Git 代码同步
方法一:克隆远程仓库到本地
说明
在 GitHub 创建空仓库,然后克隆到本地
- 创建空仓库
- 在 GitHub 网站上手动创建一个新的仓库。创建一个空的仓库,不要初始化任何文件(例如
README.md
或.gitignore
)。 - 这样做是为了确保你的本地仓库和远程仓库的初始状态完全一致。
- 在 GitHub 网站上手动创建一个新的仓库。创建一个空的仓库,不要初始化任何文件(例如
- 克隆到本地
- 使用
git clone [url]
命令将 GitHub 上的空仓库克隆到你的本地计算机上。[url]
是你在 GitHub 上创建的仓库的 URL。 git clone
命令会自动创建一个名为 origin 的远程仓库,并将其指向你克隆的仓库的 URL。- 克隆下来的本地仓库已经与远程仓库 origin 建立了连接。
- 使用
- 创建空仓库
方法二:为本地仓库添加远程仓库
说明
在 GitHub 创建空仓库,然后在本地创建空仓库,使用
git remote
将本地和远程两个仓库关联- 在 GitHub 上创建空仓库:同样,你需要在 GitHub 网站上手动创建一个空的仓库,不初始化任何文件。
- 在本地创建空仓库:使用
git init
命令在你的本地初始化一个新的、空的 Git 仓库。 - 将本地和远程两个仓库关联:使用
git remote add origin [url]
命令将你的本地仓库连接到你在 GitHub 上创建的仓库。origin
是你为远程仓库指定的名称。[url]
是你在 GitHub 上创建的仓库的 URL。
两种方法的比较
说明
克隆的优点:
- 更简单:只需一个命令
git clone
即可完成所有设置。 - 自动配置:自动设置了远程仓库
origin
,你无需手动添加。 - 更常用:克隆是开始使用现有仓库的常见方式。
- 更简单:只需一个命令
手动添加
remote
的优点:- 更灵活:可以让你更清晰地了解每个步骤的作用。
- 适用于特殊情况:当你需要将本地仓库连接到多个远程仓库,或者需要使用不同的远程仓库名称时,手动添加
remote
更加灵活。