git -学习笔记

目录

基本操作语法

设置用户和邮箱

版本回退

工作区和暂存区

撤销修改

删除与恢复

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

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

[github-Git 连接](#github-Git 连接)

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

远程库

分支

分支冲突

储藏分支

回到当前分支恢复现场

bug分支

协作

查看commit版本号

标签管理

操作标签


基本操作语法

设置用户和邮箱

复制代码
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

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 "[email protected]"

报错解决-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 [email protected]

远程库

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

推送远程库 git push origin master

查看远程库 git remote -v

解除远程库 git remote rm origin

克隆仓库 git clone [email protected]: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远程关联

相关推荐
咖啡教室12 小时前
日常开发中常用的git操作命令和使用技巧
git
云上艺旅15 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得20515 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
A旧城以西16 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ16 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL0007516 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆16 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone17 小时前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦17 小时前
HTML 音频(Audio)学习笔记
学习
V---scwantop---信17 小时前
英文字体:大胆都市街头Y2Y涂鸦风格品牌海报专辑封面服装字体 Chrome TM – Graffiti Font
笔记·字体