# 是什么
# 基本操作
命令 | 解释 |
---|---|
git commit | 进行快照保存 |
git branch <branch_name> | 创建一个分支,名称为 <branch_name> |
git checkout <branch_name> | 切换到分支 <branch_name> |
git remote -v | 查看远程仓库地址 |
# 命令行代理问题
之前 github 在命令行中的操作总是时断时续。最后发现是梯子不能代理命令行,因为端口不一样。在 Windows 中,更改设置其实很简单:
git config --global http.proxy 127.0.0.1:10809 | |
git config --global https.proxy 127.0.0.1:10809 |
关于后面的端口,实际上是在 设置->网络和Internet->代理->手动设置代理
中的 端口
中查询到的。
在 Linux 命令行环境中,如果使用 clash-for-linux 进行系统代理,那么一个可能出现的问题是代理仅对 http/https 有效,对于 git 的 ssh 代理无效。因此,需要将远程连接方式从 ssh 更改为 https, 这里首先使用
git remote -v |
查看远程仓库的连接方式,如果连接方式为 ssh,即输出类似:
origin git@github.com:username/repo.git (fetch) | |
origin git@github.com:username/repo.git (push) |
那么需要使用
git remote set-url origin https://github.com/username/repo.git |
将连接方式更改为 https。
这里似乎还需要将 ~/.ssh/config
文件中的 git 端口更改为 443,即:
Host github.com | |
HostName github.com | |
User username | |
Port 443 | |
IdentityFile ~/.ssh/id_rsa_github |
不过这里使用 https 连接 GitHub 似乎就没必要修改 ssh 连接的设置了诶。所以可能是多改的内容。
随后使用 git push
命令检测是否能连接上 GitHub.
# GitHub PAT
现在如果使用 https 连接 GitHub,那么还需要在 GitHub 中生成一个 Personal Access Token (PAT),而不是使用 GitHub 的登陆密码。PAT 是一个自动生成的不规则 token, 因此如果每次提交都需要输入 PAT, 会非常麻烦。因此需要将 PAT 记录下来。使用
git config --global credential.helper store |
即可。
需要注意的是,这里将 PAT 存储到本地是明文存储的!因此如果需要考虑代码的安全性,那么还需要对 PAT 进行加密保护。(不过需要安全性的代码大概也不会放到 GitHub 上去罢
# gitignore 使用
使用 .gitignore
文件可以忽略一些不需要提交的文件,比如编译生成的文件、IDE 生成的配置文件等。
# 创建 gitignore 文件
.gitignore
文件需要创建于根目录下。创建文件后,可以在 .gitignore
文件中加入不需要提交到 git 的文件名或文件类型,每类文件占一行。
# 移除现有版本控制中的文件
如果(很不幸地)已经在远程仓库中提交了相应文件,那么可以使用下面的命令删去本地的 git 缓存中的相应文件,然后再提交到远程。
git rm --cached -r <your_files> |
如果不加 --cached
那就把本地文件删掉啦!一定要慎重。
# Ref
- gitignore
- .gitignore 的用法 - CSDN