git学习记录

本文详细介绍了Git的工作原理和基本语法,包括设置用户签名、工作区、暂存区、本地库和远程库操作、分支管理、存储和撤销操作、变基及回滚。此外,还讲解了标签的创建、查看、推送和删除,以及处理常见问题的技巧,是Git初学者和进阶用户的实用参考。
摘要由CSDN通过智能技术生成

1.工作原理

在这里插入图片描述

  • Workspace:工作区
  • Index/Stage:暂存区
  • Repository:仓库区
  • Remote:远程仓库

2.基本语法

2.1 设置用户签名

  • 设置本地用户名
git config --global user.name
  • 设置本地邮箱
git config --global user.email

2.2工作区操作

  • 初始化本地库
git init
  • 查看本地库状态
git status
  • 克隆仓库
git clone <URL>

2.3暂存区操作

  • 添加到暂存区
git add <文件名>
  • 将文件从暂存区和工作区中删除
git rm <filename>

2.4本地库操作

  • 从暂存区添加到本地库
git commit -m "提交信息" <文件名>
  • 同时将未提交到暂存区的文件先加入到暂存区中
git commit -m -a "提交信息" <文件名>
  • **feat:**提交新功能
  • fix:修复了bug
  • docs:只修改了文档
  • style:调整代码格式,未修改代码逻辑(比如修改空格、格式化、缺少分号等)
  • refactor:代码重构,既没修复bug也没有添加新功能
  • perf:性能优化,提高性能的代码更改
  • test:添加或修改代码测试
  • chore:对构建流程或辅助工具和依赖库(如文档生成等)的更改

2.5远程库操作

  • 查看远程仓库
git remote
  • 添加远程仓库
git remote add <仓库名> <URL>
  • 修改远程仓库的名字
git remote rename <old name> <new name>
  • 本地提交到远程仓库
git push <remote repository name> <local branch name>
// 如果远程分支名和本地分支不一样,需要使用以下格式
git push <remote repository name> <本地分支名:远端分支名>
  • 如果不想提交的时候输入远程仓库名和分支名可以使用如下命令,以后的提交就可以直接用:git push
git push -u <reomte name> <local brach name>
  • 创建并切换到远程分支
git checkout -b 本地分支名 远程仓库名/远程分支名
  • git指定库URL
git remote set-url origin [url]
  • 删除远程仓库
git remote remove <远程仓库名>

2.6分支操作

  • 查看本地分支
git branch
  • 创建分支
git branch <branch name> //创建本地分支,不关联远程分支
git checkout -b <本地分支名> origin/<远程分支名> //创建本地分支,关联远程分支
  • 切换分支
git checkout <branch name>
  • 合并分支到当前分支
git merge <merged branch name>
  • 强制删除分支
git branch -d <branch name>
  • 查看所有的远程分支
git branch -r
  • 更改本地分支名称
git branch -m 旧名称 新名称
  • git fetch操作

FETCH_HEAD: 是一个版本链接,记录在本地的一个文件中,指向目前已经从远程仓库取下来的分支的末端版本

git fetch  更新所有远程仓库包含分支的最新commit-id,将其记录到.git/FETCH_HEAD文件中
git fetch remote_repository 这将更新名称为remote_repository 的远程repository上的所有branch的最新commit-id,将其记录。
git fetch remote_repository remote_branch_name 这将更新名称为remote_repository 的远程repository上的分支: remote_branch_name
git fetch remote_repository remote_branch_name:local_branch_name 这将更新名称为remote_repository 的远程repository上的分支: remote_branch_name ,并在本地创建local_branch_name 本地分支保存远端分支的所有数据。

2.7存储操作

  • 但是需要注意的是在Window PowelSheel中花括号在 PowerShell 中被认为是代码块执行标识符,若想正常使用,可用反引号 ` 进行转义
  • 查看储藏
git stash list
  • 存储当前代码
git stash push(简写git stash)
  • 恢复修改:
git stash apply stash@`{储存的次数`} //取出指定存储,取出后需要删除存储
git stash pop //取出最近的存储
  • 删除存储:
git stash drop stash@`{储存的次数`}

2.8撤销操作

  • 撤销上次提交
git rest head~
  • 撤销倒数第n次提交
git rest head~
  • 撤销但是文件保留到暂存区中
git rest head~ --soft
  • 文件中的内容也撤销
git rest head~ --hard

2.9变基操作

  • 将当前分支的操作移动到分支b上
git rebase 分支b
  • 交互式操作
git rebase -i 分支b

2.10回滚操作

  • 回滚到某个版本
git reset --hard 日志号
git reset --hard HAED^ 回滚到上个版本

2.11标签

2.11.1创建标签

git tag 标签名称 为当前提交打标签
git tag -a 标签名称 -m 备注信息 为当前提交打注释标签
git tag -a 标签名称 -m 备注信息 commitID 为指定的提交创建注释标签 

2.11.2查看标签

git tag 查看所有标签
git log --oneline 查看所有标签
git tag -l 'v1*' 列出匹配标签
git show 标签名称 显示特定标签的细节

2.11.3推送标签

git push 远程仓库名称 标签名1 标签名2 推送多个标签
git push origin --tags 推送所有biao'qian

2.11.4删除标签

git tag -d 标签名称 删除未提交的标签
git push origin -d tag 标签名称1 标签名称2 删除远程标签

3.注意

  • git不能识别压缩文件
  • 如何修改了信息导致代码无法提交,可以修改删除电脑中的windows凭证

4.问题清单

  • 修改.gitignore文件失效
// 文件已被更新,需要取消文件跟踪
git rm -r --cached .
  • Total 94 (delta 25), reused 22 (delta 6), pack-reused 0 error: RPC failed; curl 56 HTTP/2 stream 7 was reset send-pack: unexpected disconnect while reading sideband packet fatal: the remote end hung up unexpectedly
// 放弃上一个版本的提交
git reset --soft HEAD~1
// 增加缓存
git config --global http.postBuffer 120000000
// 重新提交
git commit -m 'message'
git push origin <branch-name>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值