一、Git下载安装
可直接到Git官网下载需要的安装包
git官网地址:https://git-scm.com/download
选择需要的版本进行下载
二、Git默认全局以及优化配置
要设置 Git 的默认全局信息,并进行一些优化设置,可以按照以下步骤操作:
1、 设置默认全局用户名和电子邮件
Git 需要你配置用户名和电子邮件,作为提交时的身份信息。你可以通过以下命令设置全局配置:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
这会设置全局的用户名和电子邮件,适用于所有的 Git 仓库。如果你只想为某个仓库设置特定的用户名和电子邮件,可以进入该仓库目录,然后执行不带 --global
选项的命令。
2、 设置默认编辑器
Git 默认使用 Vim 作为编辑器。如果你希望使用其他编辑器(例如 VSCode 或 Sublime Text),可以通过以下命令进行设置:
git config --global core.editor "code --wait" # 使用 VSCode
git config --global core.editor "subl -n -w" # 使用 Sublime Text
3、 设置默认合并工具
如果你使用 Git 进行合并时遇到冲突,可以设置一个默认的合并工具来简化解决冲突的过程。例如:
git config --global merge.tool vimdiff # 使用 Vimdiff 作为合并工具
4、优化 Git 设置
你可以通过以下设置来提高 Git 的性能和便捷性:
- 启用 Git 自动压缩:这个设置帮助 Git 在提交时自动压缩对象以节省空间。
git config --global gc.auto 256
- 启用
color.ui
:让 Git 输出的命令行信息更加美观和易读。
git config --global color.ui auto
- 启用
credential.helper
:保存凭据,避免每次操作时都需要输入用户名和密码。
git config --global credential.helper cache # 缓存凭据
git config --global credential.helper store # 永久存储凭据
- 启用
diff
设置:提高git diff
的性能。
git config --global diff.algorithm patience
- 设置 HTTP 请求的超时: 使用以下命令设置 HTTP 请求的超时时间(单位为秒)。
git config --global http.timeout <秒数>
例如,将超时时间设置为 300 秒:
git config --global http.timeout 300
- 设置 HTTP 上传的缓冲区大小: 还可以增加 HTTP 上传的缓冲区大小,以避免大文件传输时超时问题。
git config --global http.postBuffer <字节数>
例如,将缓冲区设置为 500MB:
git config --global http.postBuffer 524288000
- 强制使用 HTTP/1.1 协议: 而不是 HTTP/2。有时在某些网络环境下,使用 HTTP/2 可能会遇到问题,切换到 HTTP/1.1 可以提高稳定性。
git config --global http.version HTTP/1.1
- 设置 Git 网络操作的最小速度限制为 0: 这意味着没有网络速度限制,Git 不会因网络速度过慢而中断操作。
git config --global http.lowSpeedLimit 0
- 设置 Git 在低速下允许的时间为一个非常大的值: (999999 秒),这使得即使网络速度很慢,也不会因为超时而中断操作。
git config --global http.lowSpeedTime 999999
这些设置可以帮助你解决与 HTTP 请求超时相关的问题,特别是在推送或拉取大型文件时。
5、查看 Git 配置
你可以通过以下命令查看当前的配置:
git config --list
这样可以查看所有当前的 Git 配置项。希望这些设置能帮助你更高效地使用 Git!
6、Git init
git init
是一个 Git 命令,用于在当前目录下初始化一个新的 Git 仓库。执行这个命令后,Git 会在当前目录创建一个 .git
子目录,所有的版本控制数据将保存在这个目录中。
具体用法:
- 打开终端或命令行。
- 切换到你想要初始化 Git 仓库的项目目录。
- 运行
git init
:
git init
执行后,你会看到一个新创建的 .git
目录,表示该目录已经是一个 Git 仓库。之后,你可以使用 git add
、git commit
等命令进行版本控制操作。
7、Git 认证方式变更:使用访问令牌或 SSH 密钥
在使用 Git 进行操作时,如果你遇到错误信息 remote: password authentication in git is no longer supported. you must use a user access token or an ssh key instead.
,这意味着 Git 不再支持密码认证。你需要使用个人访问令牌或 SSH 密钥来进行认证。
示例
$ git push origin main
remote: password authentication in git is no longer supported
you must use a user access token or an ssh key instead
使用个人访问令牌
生成访问令牌: 登录 GitHub,进入设置页面。 在左侧边栏中,点击
Developer settings
。 点击Personal access tokens
,然后点击Generate new token
。 设置名称、过期日期和权限,然后生成令牌。更新 Git 仓库 URL:
$ git remote set-url origin https://<user_name>:<token>@github.com/<user_name>/<repo_name>
$ git pull origin main
使用 SSH 密钥
- 生成 SSH 密钥: 打开终端,输入以下命令生成 SSH 密钥:
$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
按提示操作,生成的密钥会保存在 ~/.ssh 目录下。
- 添加 SSH 密钥到 GitHub:
复制公钥内容:
$ cat ~/.ssh/id_rsa.pub
登录 GitHub,进入设置页面,点击 SSH and GPG keys
,然后点击 New SSH key
,粘贴公钥内容并保存。
- 更新 Git 仓库 URL:
$ git remote set-url origin [email protected]:<user_name>/<repo_name>.git
$ git pull origin main
通过以上步骤,你可以成功地使用个人访问令牌或 SSH 密钥进行 Git 操作,从而避免密码认证带来的问题.
参考链接
https://huggingface.co/blog/zh/password-git-deprecation
https://blog.csdn.net/qq_31055729/article/details/121800703
https://blog.csdn.net/qingyang0320/article/details/123266543
三、Git常用操作
在 Git 中,常用的操作包括分支管理、版本控制、远程操作等。以下是一些常见的 Git 操作以及如何自动删除无用分支的方法:
1、Git 常用操作命令
1. 克隆远程仓库
git clone <repository_url>
用于从远程仓库克隆一个本地副本。
2. 检查仓库状态
git status
查看当前工作目录的状态,包括未提交的更改和新添加的文件。
3. 提交更改
git add <file> #指定文件
git add . #所有修改的文件
将文件添加到暂存区。
git commit -m "message"
提交暂存区的更改并附带提交信息。
4. 查看提交历史
git log
显示提交历史记录。
5. 创建分支
git branch <branch_name>
创建一个新的分支。
6. 切换分支
git checkout <branch_name>
切换到指定分支。
7. 合并分支
git merge <branch_name>
将指定分支合并到当前分支。
8. 删除分支
git branch -d <branch_name>
删除本地分支(如果该分支已经合并到当前分支)。
git branch -D <branch_name>
强制删除本地分支。
9. 拉取最新远程仓库的更改
git pull
获取远程仓库的更新并合并到当前分支。
10. 推送更改到远程仓库
git push
将本地提交推送到远程仓库。
2、自动删除无用分支
在 Git 中,删除无用分支通常是手动操作,但可以通过以下方法自动删除本地和远程的无用分支。
1. 删除已合并的本地分支
如果分支已经被合并到主分支(如 main
或 master
),可以使用以下命令删除它:
git branch --merged main # 显示所有已经合并到 main 的本地分支
git branch -d <branch_name> # 删除已合并的分支
如果你想删除所有已合并的本地分支(除了当前分支),可以使用以下命令:
git branch --merged main | grep -v '\*' | xargs git branch -d
2. 删除远程无用分支
删除远程分支时,需要先从远程仓库获取最新信息,然后使用 git push
删除远程分支:
git fetch -p # 更新远程信息并删除无用的远程跟踪分支
git push origin --delete <branch_name> # 删除远程分支
3. 自动化清理分支
你可以在 Git 中配置定期自动清理无用的分支。一般可以通过脚本或者 Git 钩子来自动化这个过程,以下是一个例子,可以定期运行来删除已经合并到 main
的本地分支。
#!/bin/bash
git fetch --prune
git branch --merged main | grep -v '\*' | xargs git branch -d
git push origin --prune # 清理远程无用分支
将该脚本设置为定时任务,定期执行,可以帮助保持分支的整洁。