当前位置: 首页 > news >正文

git -学习笔记

目录

基本操作语法 

设置用户和邮箱

版本回退

工作区和暂存区 

撤销修改

删除与恢复

一工作区删除了,但是暂存区没删除

 二工作区误删了,暂存区还有

github-Git 连接

报错解决-push远程仓库被拒绝

远程库

分支

分支冲突

储藏分支

回到当前分支恢复现场

bug分支

协作

查看commit版本号

 标签管理

操作标签


基本操作语法 

设置用户和邮箱

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

git init  初始化仓库

git add  + 文件名,添加到仓库

git commit  -m "信息"提交到仓库

git status 查看仓库状态

git diff + 文件名  看看修改了什么内容

版本回退

git log 查看以往的提交 加上 --pretty=oneline 省略查看

git reset --hard HEAD^  HEAD表示当前的提交状态

git reset --hard  1094a  后面的1904a表示提交的版本号,可以返回指定状态

git reflog  记录每次提交的命令

工作区和暂存区 

工作区就是电脑里能看见的目录,版本库 .git文件

撤销修改

git checkout -- 文件名  撤销修改

删除与恢复

有两种情况

一工作区删除了,但是暂存区没删除

删除工作区  rm test.txt   然后删除暂存区  git rm test.txt 最后commit。

 二工作区误删了,暂存区还有

git checkout -- text.txt

github-Git 连接

ssh key https://blog.csdn.net/qq_33442844/article/details/78491777

生成密钥  ssh-keygen -t rsa -C "youremail@example.com"

报错解决-push远程仓库被拒绝

ssh: connect to host github.com port 22: Connection refused 原因22端口被防了,需要在.ssh文件里的config文件里修改端口

touch config

vim config
 

Host github.com
  Hostname ssh.github.com
  Port 443
  User git

ssh -T git@github.com

远程库

添加远程库 git remote add origin git@server-name:path/repo-name.git

推送远程库  git push origin master

查看远程库 git remote -v

解除远程库 git remote rm origin

克隆仓库 git clone git@github.com:michaelliao/gitskills.git

分支

查看分支 git branch 历史提交分支  git log --graph --pretty=oneline --abbrev-commit

创建分支 git branch +分支名  git checkout +分支名 git switch -c +分支名

切换分支  git checkout +分支名  git switch +分支名

合并分支到当前分支  git merge +分支名

合并分支并创建分支树  git merge --no-ff -m "  " +分支名

删除分支 git branch -d +分支名

分支冲突

当两个分支对同一个文件不同修改并合并时,会发生冲突,要先解决冲突再合并

储藏分支

当你在本分支上有操作时,想要去另一个分支解决bug,又希望不会被提交,工作树是干净的

git stash 

查看储藏分支 git stash list

回到当前分支恢复现场

        1.恢复后还保存保存现场 git stash apply 可以用 给git stash drop删除

        2.恢复的同时删除现场 git  stash pop

恢复指定的现场 git stash apply stash@{0}

bug分支

另一个分支解决后,想要 合并解决的bug的地方,不想全部merge

git log 拿到提交版本号  然后  git cherry-pick +版本号

协作

推送main   git push origin main

git push origin master

你的小伙伴要在dev分支上开发,就必须创建远程origindev分支到本地,于是他用这个命令创建本地dev分支:$ git checkout -b dev origin/dev

先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送: 

git pull 失败

git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置devorigin/dev的链接: 

git branch --set-upstream-to=origin/dev dev

查看commit版本号

git log --pretty=oneline --abbrev-commit

 标签管理

创建标签 git tag  v1.0  带有说明的标签  git tag -a v1.0 -m "asd" +版本号

查看标签  git tag 

对特定的提交打标签 git tag v1.1  +commit版本号

查看标签信息 git tag show v1.1

操作标签

删除标签 git tag  -d v1.0 

删除远程标签 git push origin :refs/tags/v1.0

推送标签  git push origin 标签名称

一次性全部推送标签  git push origin --tags

本地库和Gitee远程关联

相关文章:

  • vscode下载安装教程(附安装包)vscode图文安装教程最新版
  • leetcode707----设计链表【链表增删改打印等操作】
  • 深入理解Java反射机制:从基础到高级应用
  • vue3表单验证的时候访问接口如果有值就通过否则不通过.主动去触发校验
  • MySQL分库分表之带来查询相关问题
  • 【洛谷贪心算法题】P2240部分背包问题
  • JavaScript遍历方式总结
  • 【AI+智造】用DeepSeek支持设备温度、振动、速度、加速度量化数据的应用方案——以常州新能源动力电池制造企业为例
  • 实践教程:使用DeepSeek实现PDF转Word的高效方案
  • DeepSeek 开源狂欢周(二)DeepEP深度技术解析 | 解锁 MoE 模型并行加速
  • IXI MEGA M1和M2 Plus DAW和跳线盘设置
  • 验证环境中为什么要用virtual interface
  • 【Go】十八、http 调用服务的编写
  • webstorm的Live Edit插件配合chrome扩展程序JetBrains IDE Support实现实时预览html效果
  • 深度剖析设备预测性维护系统有必要吗?
  • Sqlserver安全篇之_启用TLS即配置SQL Server 数据库引擎以加密连接
  • Idea 和 Pycharm 快捷键
  • Docker部署ZLMediaKit流媒体服务器并自定义配置指南
  • Java内存的堆(堆内、堆外)、栈含义理解笔记
  • 实时记录SQL注入靶场心得(labs1-10)
  • 去年上海全市博物馆接待观众约4087万人次,同比增31.9%
  • 纪念|脖子上挂着红领巾的陈逸飞
  • 戛纳打破“疑罪从无”惯例,一法国男演员被拒之门外
  • 广西壮族自治区党委副书记、自治区政府主席蓝天立接受审查调查
  • 俄外交部:俄乌伊斯坦布尔谈判改在当地时间15日下午举行
  • 商务部回应美方加严限制中国芯片:敦促美方立即纠正错误做法