2063 字
10 分钟
Git常用操作笔记
2025-05-20

一、Git下载安装#

可直接到Git官网下载需要的安装包
git官网地址:https://git-scm.com/download
选择需要的版本进行下载

详细安装教程:WindowsMacLinux

二、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 子目录,所有的版本控制数据将保存在这个目录中。

具体用法:

  1. 打开终端或命令行。
  2. 切换到你想要初始化 Git 仓库的项目目录。
  3. 运行 git init
git init

执行后,你会看到一个新创建的 .git 目录,表示该目录已经是一个 Git 仓库。之后,你可以使用 git addgit 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

使用个人访问令牌

  1. 生成访问令牌: 登录 GitHub,进入设置页面。 在左侧边栏中,点击 Developer settings。 点击 Personal access tokens,然后点击 Generate new token。 设置名称、过期日期和权限,然后生成令牌。

  2. 更新 Git 仓库 URL:

$ git remote set-url origin https://<user_name>:<token>@github.com/<user_name>/<repo_name> 
$ git pull origin main

使用 SSH 密钥

  1. 生成 SSH 密钥: 打开终端,输入以下命令生成 SSH 密钥:
$ ssh-keygen -t rsa -b 4096 -C "[email protected]" 

按提示操作,生成的密钥会保存在 ~/.ssh 目录下。

  1. 添加 SSH 密钥到 GitHub:
    复制公钥内容:
$ cat ~/.ssh/id_rsa.pub

登录 GitHub,进入设置页面,点击 SSH and GPG keys,然后点击 New SSH key,粘贴公钥内容并保存。

  1. 更新 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. 删除已合并的本地分支#

如果分支已经被合并到主分支(如 mainmaster),可以使用以下命令删除它:

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  # 清理远程无用分支

将该脚本设置为定时任务,定期执行,可以帮助保持分支的整洁。

Git常用操作笔记
https://blog.imxizhen.asia/posts/笔记/git常用操作笔记/
作者
imxizhen
发布于
2025-05-20
许可协议
CC BY-NC-SA 4.0