首页 > 其他分享 >Git笔记

Git笔记

时间:2023-10-15 22:15:36浏览次数:36  
标签:origin git dev Git 笔记 提交 branchName 分支

Git

打标签

git tag tagName -m "info"  # 打一个标签
git tag -d tagName  # 删除一个标签
git show  # 全部tag信息
git show tagName  # 查看一个tag
git tag  # 全部tag省略信息

回滚

git reset --hard "提交HASH值"  # 回退到指定版本
git push -f origin master  #强制提交

分支管理

git branch branchName  #创建分支
git checkout branchName  #切换分支
git checkout -b branchName  #创建并切换分支,相当于合并上面两条命令
git branch  #查看当前分支
	-r 远程分支
	-a 全部分支
git merge branchName  #合并指定分支到当前分支
git branch -d branchName  #删除分支

git switch -c branchName #创建并切换分支, 在新的版本中使用
git switch branchName  #直接切换到已有分支

解决冲突

# 当两个分支同时修改一个文件时、或者一个分支的两个开发者修改一个文件时
# 产生冲突
# 当两个分支产生冲突时
git merge branch  # 合并一个分支,并提示了冲突
git status  # 可以查看冲突的文件
# git 使用 <<<<<<<<< ========== >>>>>>>>>>>> 标记出不同分支的内容
# 解决冲突后在提交
git add xxxfile
git commit -m "xxx"
git push origin currentBranchName
git log --graph --pretty=oneline --abbrev-commit  # 查看分支合并情况
git log --graph  # 查看分支合并图

Bug分支

# 当需要临时修改代码,但是当前分支的代码并不能进行提交
git stash  # 保存当前工作现场
git stash list  # 查看保存的工作现场
git stash apply # 恢复一个工作现场,不会删除
git stash drop  # 删除一个工作现场
git stash pop   # 从保存的工作现状弹出一个最新的
git merge --no-ff -m "content" branchName  # 合并一个分支到当前分支,并保有记录
git cherry-pick <commit>  # 复制一个提交到那当前分支

多人协助

# 抓取分支, 当clone一个项目后默认是只有master分支的.
# 要在其他分支上开发, 必须创建远程origin的dev分支到本地
git checkout -b dev origin/dev
# 当本地dev的代码不是最新的时候提交会错误, 需要使用pull命令拉取最新的代码
git pull  # 如果失败,可能是没有指定本地dev分支与远程origin/dev分支的链接
# 可根据提示详情进行判断
git branch --set-upstream-to=origin/dev dev  # 设置dev和origin/dev的链接
# 然后在进行pull命令,拉取代码后解决冲突提交代码
git push origin dev  # 提交代码

rebase

# rebase操作可以把本地未push的分支提交历史整理成直线
# rebase的目的是使的我们在查看历史提交的变化时更容易,因为分支的提交西药三方对比

忽略特殊文件

有时候需要将某些文件放在工作区,而又不去提交它

这个时候可以在工作区创建一个.gitignoregit配置文件

具体配置可以查看官网

其他

Git快捷命令 建议下载下来已供参考

标签:origin,git,dev,Git,笔记,提交,branchName,分支
From: https://www.cnblogs.com/darkerKing/p/17766290.html

相关文章

  • Security Reduction学习笔记(1):密码系统与安全模型的定义
    课件地址:Book(uow.edu.au),原作者声明该课件对人类和外星人免费开放( ̄_ ̄||)现代密码学概念:现代密码学与经典密码学的区别在于它强调定义(definitions)、模型(models)和证明(proofs).定义澄清:密码学(Cryptology)=设计密码学(Cryptography)+分析密码学(Cryptanalysis)密码......
  • 学习笔记5
    关于知识点知识点归纳第十一章EXT2文件系统11.1EXT2文件系统EXT2(第二扩展文件系统)是一种用于Linux中的文件系统。文件系统结构:EXT2文件系统使用了多级的索引结构来组织文件和目录。它包括了超级块、inode、数据块、组描述符等数据结构。文件系统特性:EXT2文件系统支持文......
  • 学习笔记五
    EXT2文件系统EXT2文件系统多年来,Linux一直使用EXT2作为默认文件系统。EXT3相对于2,主要增加了一个日志文件;EXT4相对于3,主要是磁盘块的分配。 EXT2文件系统数据结构mkfs创建虚拟磁盘mke2fs[-bblksize-Nninodes]devicenblocks创建了一个带有nblocks个块(每个块大小blk......
  • C++学习笔记Day1
    有关const的一些事1.const对象必须初始化,因为const对象一旦创建,其值不能再被改变。2.const对象是常量,因此可以赋予其字面值。3.普通变量默认支持多文件下共享,而const默认不支持,需要在定义和声明是都加上关键字extern才能在多个文件中使用。4.所谓“常量引用”指的是“对const......
  • 学习笔记5
    EXT2文件系统EXT2文件系统数据结构通过mkfs创建虚拟磁盘命令:mke2fs[-bblsize-Nninodes]devicenblocks在设备上创建一个带有nblocks个块(每个块大小为blksize字节)和ninodes个索引节点的EXT2文件系统。在一个名为vdisk的虚拟磁盘文件上创建一个EXT2文件系统,有1440个大小......
  • 第十一章学习笔记
    第十一章:EXT2文件系统一、EXT2文件系统的数据结构 1.通过mkfs创建虚拟磁盘make2fs[-bblksize-Nninodes]devicenblocks:在设备上创建一个nblocks个块(每个块大小为blksize)和ninodes个索引节点的ext2文件系统 (未指定blksize则默认1kb,未指定ninodes价格根据nblocks计算......
  • 学习笔记5
    EXT2文件系统EXT2(TheSecondExtendedFileSystem)是Linux的标准文件系统,一直以来被广泛使用。EXT3是EXT2的扩展版本,增加了一个日志系统。文件系统背景Linux标准文件系统:EXT2是Linux的标准文件系统,多年来一直被广泛使用。EXT3的扩展:EXT3是EXT2的扩展版本,主要增加了一个日......
  • 学习笔记5
    知识点归纳EXT2文件系统EXT2文件系统是一种用于Linux操作系统的文件系统。它是EXT文件系统的第二个版本,与其前身相比具有许多改进和增强功能。EXT2文件系统提供了可靠的数据存储和管理,可以在硬盘上组织文件和目录,并提供了文件权限、访问控制、日志记录等功能。EXT2文件系统使用......
  • 学习笔记5
    第11章Diffle-Hellman协议  Diffle-Hellman协议主要用于密钥交换,使得在不安全线路上通信的两个人能够以这样的方式协商得到密钥:两个人都能得到相同的密钥,并且这个密钥不会泄露给监听二人会话的其他人。11.1群11.2基本的DH  在基本的DH协议中,首先选取一个大素数$p$和群$......
  • 第十一章学习笔记
    第十一章学习笔记一、课本知识1.EXT2文件系统TheSecondExtendedFileSystem(ext2)文件系统是Linux系统中的标准文件系统,是通过对Minix的文件系统进行扩展而得到的,其存取文件的性能极好。在ext2文件系统中,文件由inode(包含有文件的所有信息)进行唯一标识2.硬盘组成与分割磁......