尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

记录:git

记录:git
📅 发布时间:2026/6/20 16:30:50

记录:Git

.gitignore文件

    
    介绍
  • 一个纯文本文件,包含了项目中所有指定的文件和文件夹的列表,这些文件和文件夹是 Git 应该忽略和不追踪的
  • 一个 .gitignore 文件会被放在仓库的根目录下
    使用文档
  • /test/text.txt 或test/text.txt忽略一个位于根目录下的 test 目录中的 text.txt 文件
  • text.txt忽略位于项目中任何地方的具有该特定名称的所有文件
  • test/忽略位于你的项目中任何地方的名为 test 的目录
  • test匹配任何带有这个名字的文件或目录
  • img*忽略所有名字以 img 开头的文件和目录
  • *.md忽略所有以特定文件扩展名结尾的文件
  • !README.md排除一个本来会被忽略的文件(忽略了整个目录,这个模式就不起作用)
    忽略以往仓库文件
  • echo ".env" >> .gitignore为.gitignore添加.env文件
  • git rm --cached .env从Git索引中删除
  • git add .gitignore添加.gitignore进入暂存区
  • git commit -m "update ignored files"提交.gitignore文件

git 删除命令

    
    git rm --cached
  • --cached 选项使得 Git 仅从版本控制中移除文件
      撤销更改
    • git status查看工作目录和暂存区的状态
    • git reset撤销对暂存区中文件的更改
    • git reset 恢复某个特定文件的更改
    • git checkout -- 将指定文件恢复到最后一次提交时的状态
    • Powershell:Remove-Item -Recurse -Force .git删除本地仓库

git初始化配置

    
    git config --list
  • 可查看设置的user.name与user.email
  • git config --global user.name "<用户名>"
  • git config --global user.email"<电子邮件>"
    邮箱选择使用基于ID的GitHub-provided no-reply邮箱github->setting->email->Keep my email addresses private
  • cd 进入项目目录
  • git init 初始化git仓库
  • git add . 添加该文件夹下文件到git缓冲区
  • git commit -m "提交说明" 提交缓冲区文件到本地仓库
  • git diff <文件名> 查看differerce
  • git status 查看仓库状态

git更新

查看版本:  git --version
2.17.1之后:git update-git-for-windows
2.17.1之前:git update

git版本回退

  • git log 查看历史版本
    • git log --pretty=oneline --abbrev-commit --graph
    • --pretty=oneline提交显示为一行,<哈希值> <信息>
    • --abbrev-commit缩短显示的哈希值
    • --graph显示分支图
  • git reset --hard HEAD^ 回退到上一个版本
  • git reset --hard 4b7afa6bb7ad775d239e 回退到指定版本
  • hard 已提交状态 soft 未提交状态 mixed 已添加但未提交状态
  • 注:回退到往期版本,执行git log将无法现版本之后的日志,如需取消回退,可以在term中找到上次执行git log显示的commit id

git管理修改

  • git diff HEAD -- <文件名> 查看未提交文件与版本库中的difference
  • 注:在未提交之前,add多次同一文件,结果覆盖

撤销修改

  • git checkout -- <文件名> 撤销修改
  • 注:在为add之前,回退到版本库状态,add之后,回退到add时缓存区最新最近一次add状态
  • git reset HEAD <文件名> 撤销缓存区

删除文件

  • 先删除本地文件
  • git rm <文件名> git add <文件名> 添加修改,效果一样
  • commit 提交修改到版本库
  • git checkout -- <文件名> 撤销删除
  • 注:git checkout 使用版本库里版本替代工作区版本

远程仓库

  • 生成本地SSH密钥 ssh-keygen -t rsa -C "your@email.com" 有三次提问
    • 密钥生成目录地址
    • 使用密钥密码
    • 确认密码注:可Enter跳过设置,若设置密码,使用git指令使会提示输入密码
    • .ssh目录,id_rsa为私钥,id_rsa.pub为公钥
  • github仓库
    • Setting -> SSH and GPG keys -> New SSH key ->title不影响,types:Authentication keys,输入公钥
    • Creat new repository
      • 已有本地仓库
        • git remote add origin git@github.com:GitHub名称/仓库名.git建立本地仓库与github远程仓库关联,即远程仓库别名origin
        • git push -u origin master推送并建立master分支与origin仓库的关联,即master分支默认推送到origin
      • 克隆远程仓库
        • git clone git@github.com:GitHub名称/仓库名.git
  • 删除远程仓库
    • git remote -v可查看远程库信息,fetch:拉取地址 push:推送地址
    • git remote rm 别名解除本地仓库与远程库关联

分支管理

  • git branch查看分支
  • git checkout -b <分支>创建并切换一个分支
    • git branch <分支>创建分支
    • git checkout <分支>切换分支
  • git switch -c <分支>switch命令替换checkout
  • git merge <分支>合并分支到当前分支
  • git branch -d <分支>删除分支
  • git branch -D <分支>未合并的分支,需使用强制删除,-D

冲突处理

    在dev分支上修改readme.txt文件提交,切换到main分支上修改readme.txt提交,此时合并dev到main会出现冲突,git会将冲突内容标记在文件内,主动确认修改readme.txt文件后,再次add,commit即可
  • git log可查看分支合并信息
  • git log --graph分支合并图

合并策略

  • git merge <分支>合并记录为一条直线
  • git merge --no-ff -m "" <分支>合并记录有分支,保留分支

stash

  • 注:测试中发现,分支中缓存区的文件在其他分支可见;分支中修改,未添加进缓存区,则无法切换分支
    • git stash清空工作区,备份一份数据
    • git stash list可查看备份
    • git stash apply 'stash@{ }'恢复指定备份
    • git stash pop 'stash@{ }'恢复并删除指定备份,有冲突则保留
    • git stash drop 'stash@{ }'删除指定备份
    • git cherry-pick <提交>合并指定提交到当前分支
  • 多人协作

  • git push <别名> <分支>推送分支到远程库
  • git checkout -b <本地分支> <别名>/<分支>创建并切换远程库的分支到本地
    • 分支会与远程库分支关联
    • git push <别名> <本地分支> 即可推送到远程库分支
  • git pull拉取最新的提交,在远程库的版本要新于本地分支,需要这么做
  • git branch --set-upstream-to=<别名/分支> <本地分支>建立本地分支于远程库分支的关联,在没有关联时使用
  • 注:pull有冲突的可能,在处理冲突后,push即可
  • rebase

  • git branch -vv可查看分支的上游分支
  • git rebase变基当前分支,会使用默认的上游分支
    • git checkout <当前分支>
    • git rebase <目标分支>将提交重新提交到目标分支
  • 标签管理

  • git tag查看标签
  • git show <标签名>查看指定标签的提交
  • git tag <标签名>为当前分支的最新修改打上标签
  • git tag <标签名> <哈希值>为指定commit打上标签
  • git tag -a <标签名> -m "" <哈希值>
    • -a创建一个带注释的标签
    • -m注释信息
  • git push <别名> <标签名>推送指定标签到远程
  • git push <别名> --tags推送全部尚未推送远程的本地标签
  • git tag -d <标签名>删除指定标签
  • git push <别名> :refs/tags/<标签名>删除远程库中指定标签注:refs/tags存在于.git目录中
  • 参与github开源项目指南

  • fork项目,会克隆一个远程库
  • 在github上发起pull request,将修改发向官方库
  • gitee使用参考github

    相关新闻

    • 2025年10月门窗十大品牌最新推荐榜单,十大品牌测评排名与选择指南
    • CF60E Mushroom Gnomes
    • LCPC12E - Johnnys Empire 题解

    最新新闻

    • GLM-5.1开源实战:本地部署、量化推理与VS Code集成指南
    • 嵌入式开发板电压与时钟配置:从原理到实战排查指南
    • 终极FGO自动化战斗解决方案:Fate/Grand Automata深度使用指南
    • Hermes本地AI Agent架构升级实战:模块化、持久化与沙箱化
    • Kimi Work:面向知识工作者的本地化AI工作台与智能体实践指南
    • 手把手教你学Simulink——基于晶闸管(SCR/Thyristor)的三相可控整流器相位控制(α 角控制)仿真

    日新闻

    • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
    • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
    • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

    周新闻

    • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
    • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
    • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

    月新闻

    • 【总结】入门篇:50句话让你记住架构核心概念
    • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
    • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

    关于尧图

    • 公司简介
    • 团队介绍
    • 企业文化
    • 荣誉资质

    服务项目

    • 定制开发
    • 电商建站
    • UI 设计
    • 运维服务

    快速链接

    • 案例展示
    • 建站流程
    • 常见问题
    • 资讯中心

    联系方式

    • 📍北京市朝阳区互联网产业园 A 座 10 层
    • 📞400-888-8888
    • ✉️contact@rkmt.cn
    • 🕐周一至周日 9:00-21:00

    © 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号