Git 安装和用法
Git 安装和用法
Windows 安装 Git
点击查看教程
1、下载软件包安装 Git
Windows 安装 Git 一直下一步就好
2、命令行安装 Git
- 在命令提示符或 Powershell 中键入此命令。
1 | winget install --id Git.Git -e --source winget |
功能:安装 Git 的最新版本。
来源:从 winget(Windows 包管理器)的官方源获取 Git 包。
- Debian12 安装 Git
1 | sudo apt update && sudo apt install git && git --version |
3、查看 Git 版本
1 | git --version |
Git 的全局配置
点击查看教程
- 第一件事是设置您的用户名和电子邮件地址。这很重要,因为每个 Git 提交都会使用此信息,并且它会不可改变地嵌入到您开始创建的提交中:
1、设置用户信息
1 | # 设置用户名 |
2、Git 添加代理
1 | git config --global http.proxy 127.0.0.1:7890 |
- 如果你之前git中已经设置过上述配置,则使用如下命令取消再进行配置即可:
1 | git config --global --unset http.proxy |
3、增加 Git 的超时时间
1 | git config --global http.lowSpeedLimit 0 |
4、查看当前配置
1 | git config --list --show-origin |
切换到SSH密钥(推荐)
点击查看教程
1、检是查否已经有SSH密钥
输入以下令命来检查.ssh录目下的文件:
1 | dir %USERPROFILE%\.ssh |
2、 如果没有SSH密钥,创建新的SSH密钥
输以入下命令生成SSH钥密对:
1 | ssh-keygen -t rsa -b 4096 -C "your_email@example.com" |
3、一键复制公钥文件到剪切板
1 | type %USERPROFILE%\.ssh\id_rsa.pub | clip |
4、 将钥公添加到GitHub账户
- 登录你到的GitHub账户。
- 点击右上角的头像,选择
Settings
。 - 在侧左菜单中选择
SSH and GPG keys
。 - 点击
New SSH key
按钮。 - 在
Title
字段中输一入个名称(例如,你的电脑名称), - 在 “Key” 字段中粘贴刚才制复的公钥内容,
- 然后点击 “Add SSH key” 按钮。
5、修改远程仓库URL为SSH格式
1 | git remote set-url origin git@github.com:meimolihan/sh.git |
GitHub新建项目并发布
点击查看教程
1、进入【GitHub官网】–>点击个人头像–>点击Your repositories
-->点击New
2、输入项目名称music-lrc
–>Public
【公开】–>Create repository
【创建存储库】
3、将本地仓库与 GitHub 上的远程仓库关联并推送代码
1 | # 在README.md文件中追加一行"# music-lrc" |
4、将本地仓库推送到 GitHub (更新仓库)
branch 'main' set up to track 'origin/main'.
说明本地的 main 分支已经设置为跟踪远程仓库 origin 的 main 分支。后续再使用 git push
或 git pull
时,如果不指定分支,Git 就会默认操作这个跟踪关系对应的分支。
1 | # 将所有修改、新增或删除的文件添加到暂存区 |
5、查看状态
1 | git status |
查看当前工作区和暂存区的状态,了解哪些文件已修改、新增或删除。
Git 克隆项目
点击查看教程
1、Git http克隆项目
1 | git clone https://github.com/meimolihan/music.git |
2、Git SSH克隆项目
1 | git clone git@github.com:meimolihan/music.git |
提示:
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
创建或编辑 config 文件,
CMD命令
:
1 | if not exist "%USERPROFILE%\.ssh" mkdir "%USERPROFILE%\.ssh" |
- 预先添加 GitHub 主机信息
- 若解决
.ssh
目录问题后仍不想每次手动确认,可预先将 GitHub 的主机信息添加到known_hosts
文件中。 - 获取 GitHub 的 SSH 指纹:
1 | ssh-keyscan -t ed25519 github.com |
该命令会输出 GitHub 的 ED25519 密钥指纹信息。
- 将指纹信息添加到
known_hosts
文件:
1 | ssh-keyscan -t ed25519 github.com >> ~/.ssh/known_hosts |
此命令会把 GitHub 的 SSH 指纹信息追加到 known_hosts
文件中。之后再进行克隆操作时,就不会再提示你确认主机信息了。
忽略文件
点击查看教程
1、创建 .gitignore 文件
1 | echo "" > .gitignore |
2、指定不需要被 Git 跟踪的文件或目录。例如:
1 | # 忽略所有 .log 文件 |
Git 仓库合并
点击查看教程
1 、将【本地仓库】的更改合到并【程远仓库】
- 查看是否有未提交的修改
1 | git status |
- 更新本地分支到最新状态
1 | git pull origin main |
- 提交本地更改
1 | git add . |
- 推送更改到远程仓库
1 | git push origin main |
2 、将【程远仓库】的更改合到并【本地仓库】
- 查看当前分支
首先,确认你当所前在的分支。如果你打将算远程改更合并到 main 分支,确保你在该分支上。
1 | git branch -a |
- 切换到目标分支
1 | git checkout main |
- 直接获并取合并远更程改
1 | git pull origin main |
- 查最看新提交记录
查看新最的提交记录,确远认程仓库的更是改否已经正确合到并本地。
1 | git log --oneline |
清理仓库并优化存储
点击查看教程
1、检查仓库大小
你可以使用以下命令检查仓库的大小变化:
1 | git count-objects -v |
2、清理仓库并优化存储
1 | git gc |
git gc 的主要功能是清理本地仓库中的无用对象(如未引用的提交、树对象、blob 对象等),并优化存储结构(如压缩对象、优化 packfile 等)。
这些操作不会改变你的代码内容、分支结构或提交历史。因此,远程仓库的内容不会因为本地执行 git gc 而发生变化。
3、自动维护
1 | git config --global gc.auto 250 |
4、检查 Git 仓库的完整性
1 | git fsck |
建议定期运行 git gc 和 git fsck,以保持仓库的整洁和健康。可以设置 gc.auto 参数来自动触发垃圾回收:
这表示当仓库中的松散对象数量达到 250 时,Git 会自动运行 git gc。
git 分支操作
点击查看教程
1、 查看分支
- 查看所有分支(包括本地和远程分支):
1 | git branch -a |
- 查看本地分支
git branch
,查看远程分支git branch -r
2、 创建分支
- 创建一个新的分支(但不切换到该分支):
1 | git branch <branch-name> |
- 切换分支
1 | git switch <branch-name> |
- 创建并切换到新分支:
1 | git switch -c <branch-name> |
3、 删除分支
- 删除本地分支:
1 | git branch -d <branch-name> |
- (如果分支未合并,会提示错误;强制删除用 -D)
1 | git branch -D <branch-name> |
- 删除远程分支:
1 | git push origin --delete <branch-name> |
4、 重命名分支
- 重命名当前分支:
1 | git branch -m <new-branch-name> |
- 重命名其他分支:
1 | git branch -m <old-branch-name> <new-branch-name> |
5、 推送分支
- 推送本地分支到远程仓库:
1 | git push origin <branch-name> |
- 设置上游分支(关联本地分支与远程分支):
1 | git push -u origin <branch-name> |
6、 拉取分支
1 | git pull origin <branch-name> |
7、 跟踪远程分支
- 查看本地分支是否跟踪远程分支:
1 | git branch -vv |
- 设置本地分支跟踪远程分支:
1 | git branch --set-upstream-to=origin/<branch-name> |
8、 解决冲突
- 在合并或 rebase 时可能会出现冲突,解决冲突后需要手动标记文件为已解决:
1 | git add <file-with-conflict> |
Git 使用 ssh 密钥连接 GitHub
点击查看教程
1、 生成个人访问令牌
- 登录到你的GitHub账户。
- 点击上右角的头像,选择
Settings
。 - 在左侧菜中单选择
Developer settings
。 - 在左菜侧单中选择
Personal access tokens
。 - 点击
Generate new token
按钮。 - 给令牌命名(例如
Git-Push-Token
),然后根据你需的求选择权限范围。对于简单推的送操作,通常只需要repo
权限即可。 - 点击
Generate token
按钮,然后制复生成的令牌。
2、 使用个人访问牌令进行推送
- 当执行
git push
命令时,在提示输密入码的地方,输刚入刚生成的人个访问令牌。
3、检是查否已经有SSH密钥
输入以下令命来检查.ssh录目下的文件:
1 | dir %USERPROFILE%\.ssh |
4、 如果没有SSH密钥,创建新的SSH密钥
输以入下命令生成SSH钥密对:
1 | ssh-keygen -t rsa -b 4096 -C "your_email@example.com" |
5、一键复制公钥文件到剪切板
1 | type %USERPROFILE%\.ssh\id_rsa.pub | clip |
6、 将钥公添加到GitHub账户
- 登录你到的GitHub账户。
- 点击右上角的头像,选择
Settings
。 - 在侧左菜单中选择
SSH and GPG keys
。 - 点击
New SSH key
按钮。 - 在
Title
字段中输一入个名称(例如,你的电脑名称), - 在 “Key” 字段中粘贴刚才制复的公钥内容,
- 然后点击 “Add SSH key” 按钮。
7、修改远程仓库URL为SSH格式
1 | git remote set-url origin git@github.com:meimolihan/sh.git |
- 在项目录目下执行以下命令,查看程远仓库URL:
1 | git remote -v |
- 返回结果如下,说明修改成功
1 | C:\Users\Administrator\Desktop\Git\sh>git remote -v |
8、使用SSH进推行送
1 | git push -u origin main |
- 再次执行
git push -u origin main
命令,此时应该以可成功推送。
Git Tags 常用命令指南
点击查看教程
git tag
用于标记特定的提交,通常用于版本发布。以下是常用的 git tag
相关命令:
1、 查看所有标签
1 | git tag |
列出所有已创建的标签。
2、 创建标签
- 轻量标签(Lightweight Tag)
1 | git tag <tagname> |
示例:git tag v1.0
- 带注释的标签(Annotated Tag)
1 | git tag -a <tagname> -m "Tag message" |
示例:git tag -a v1.0 -m “Release version 1.0”
带注释的标签会存储更多信息,如标签创建者、创建日期和注释消息。
- 创建标签并指定提交
1 | git tag -a <tagname> <commit-hash> -m "Tag message" |
示例:git tag -a v1.0 abc1234 -m “Release version 1.0”
指定某个历史提交作为标签。
3、 查看标签详情
1 | git show <tagname> |
示例:git show v1.0
查看标签的详细信息,包括注释。
4、 删除本地标签
1 | git tag -d <tagname> |
示例:git tag -d v1.0
5、 删除远程标签
1 | git push origin --delete <tagname> |
示例:git push origin --delete v1.0
6、 推送标签到远程仓库
- 推送单个标签
1 | git push origin <tagname> |
示例:git push origin v1.0
- 推送所有标签
1 | git push origin --tags |
7、 检出标签
1 | git checkout <tagname> |
示例:git checkout v1.0
检出标签对应的代码(进入“分离 HEAD”状态)。
- 创建分支检出标签
1 | git checkout -b <branch-name> <tagname> |
示例:git checkout -b release-v1 v1.0
从标签创建一个新分支。
8、 标签排序
按创建时间排序(倒序):
1 | git tag --sort=-creatordate |
9、 查找特定标签
1 | git tag -l "v1.*" |
列出符合模式的标签(如 v1.0, v1.1 等)。
10、 将更新推送到历史标签的windows批处理文件
1 | @echo off |
Git下载GitHub文件
点击查看教程
获取下载链接
- 点击要下载的文件
linux-check.sh
- 点击
Raw
按钮
- 复制下载链接
https://raw.githubusercontent.com/meimolihan/sh/refs/heads/main/linux-check.sh
2、 linux 下载命令
1 | wget -c -O /etc/profile.d/linux-check.sh https://raw.githubusercontent.com/meimolihan/sh/refs/heads/main/linux-check.sh && chmod +x /etc/profile.d/linux-check.sh && ln -sf /etc/profile.d/linux-check.sh /usr/local/bin/m && /etc/profile.d/linux-check.sh |
/etc/profile.d
目录是一个用于存放 shell 脚本的目录,这些脚本会在用户登录系统并启动一个交互式登录 shell 时被自动执行。ln -sf /etc/profile.d/linux-check.sh /usr/local/bin/m
执行这条命令后,会在/usr/local/bin
目录下创建一个名为 m 的符号链接,- 该符号链接指向
/etc/profile.d/linux-check.sh
文件。这样,当你在终端中输入m
并按下回车键时,实际上就相当于执行了/etc/profile.d/linux-check.sh
脚本。
Git 解决 .gitignore 文件不起作用
点击查看教程
注意:以下命令需在要你项目中右键点击 Git Bash Here
进行命令口窗输入:
移除 public 目录的跟踪
1 | # 移除 public 目录的跟踪 |
将Git缓存的所文有件都除清掉,再重新添并加提交.gitignore文件。
1 | # 将Git缓存的所文有件都除清掉,再重新添并加提交.gitignore文件。 |