首页 > 其他分享 >git常见概念&命令

git常见概念&命令

时间:2024-12-29 14:13:25浏览次数:1  
标签:git 快照 -- 常见 命令 master 指针 分支

官方文档
廖雪峰git教程

概念

分支
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,master分支指向这条时间线.这块概念还不明确,目前的理解就是git里有一个时间线,这条线就是一个个的快照串起来的线,还可以有很多分支,每个分支实际上就是一个指针,默认的使用的是master指针,移动的也是这条指针,当创建并使用其他分支时,就是master指针还指向原来的快照点上,保持不动,然后移动其他分支指针指向最新的快照,仅此而已,因此删除分支实际上就是删除快照和指针,合并分支就是移动指针,新建分支就是新建指针.

工作区,暂存区,head指针
git主要负责管理的就是这三个区,暂存区又叫statge或index,其中暂存区的版本是执行git commit后将要生成的快照的版本.head指针就是一个指针,指向当前分支,当前分支实际上也是个指针,指向自己所管理一段时间线的某个快照点,
因此head指针指向当前分支所指向的某个版本.工作区实际上就是一个即时修改的所有文件,即用ide可以查看和修改的文件,按照官方文档的描述类似一个沙盘.

git的正常工作流程
1.git init让某个目录成为一个git管理的项目
2.修改完成后,git add . 将当前目录中的所有内容添加至工作区,此时当前目录中所有文件的工作区版本和缓存区的版本完全一致.
3.再次修改并添加到暂存后,决定提交当前快照到分支中,使用git commit.
4.此时执行gitstatus,发现提示working tree clean, 此时三个区的版本完全一致.

merge和rebase的区别
Git - merge和rebase的区别 - 李若盛开 - 博客园

常用命令

更新.gitignore后立即生效,需要清理暂存中的缓存

git rm -r --cached

设置git中的用户信息,不加--global仅设置仓库级

git config --global user.name
git config --global user.email

管理远程仓库

git remote -v

# origin2为远程仓库的别名
git remote add origin2 https://github.com/user/repo2.git
git remote rm origin2

# 拉取和提交时指定远程仓库
git push origin2 master
git pull origin2 master

回滚到某个提交

git reflog
git reset ${commidId} --hard

删除分支

git branch -d feature-branch
git push origin --delete feature-branch

标签:git,快照,--,常见,命令,master,指针,分支
From: https://www.cnblogs.com/lshao/p/10345090.html

相关文章

  • Linux OS下增加实时记录用户执行的命令
    目录声明Linux OS下增加实时记录用户执行的命令添加方法应用场景日志记录设置定时任务删除一年之前的历史命令记录声明非原创,参考文章不记得连接了,仅供记录作为笔记使用Linux OS下增加实时记录用户执行的命令Linux是一种支持多用户操作的OS,经常OS文件做出了一些更改,......
  • git--patch
    hello.txt应该杜绝文章中的错别子。但是无论使用*全拼,双拼*还是五笔是人就有可能犯错,软件更是如此。犯了错,就要扣工资!改正的成本可能会很高。world.txt应该杜绝文章中的错别字。但是无论使用*全拼,双拼*还是五笔是人就有可能犯错,软件更是如此。改正的成本可......
  • GitHub 汉化插件,GitHub 中文化界面安装全教程
    概述GitHub作为全球最大的代码托管平台,拥有庞大的用户群体。对于中文用户来说,如果能将GitHub界面汉化,将大大提高使用体验和工作效率。本文将详细介绍如何通过安装汉化插件,实现GitHub界面的中文化。感谢maboloshi作者的无私奉献.GitHub汉化插件,GitHub中文化界面安装......
  • kubectl 命令行快速操作-2
    9、对外暴露服务参考:详解kubernetes五种暴露服务的方式-滴滴滴-博客园前面只介绍了Nodeport方式,还有NodePort、LoadBalancer、ExternalName、Ingress方式,重点讲解Ingress方式。nginx-ingress:GitHub-kubernetes/ingress-nginx:IngressNGINXControllerforKubernetes,,,官......
  • git提交时如何强制检测规范?
    在前端开发中,强制检测Git提交规范通常涉及使用特定的工具和配置。以下是一些步骤和工具,可以帮助你在Git提交时强制检测规范:使用Commitizen和cz-customizable规范提交信息:安装Commitizen和cz-customizable。这些工具可以帮助你通过交互式命令行来规范化Git提交信息。在packag......
  • 个人关于git版本分支管理使用的一些总结
    最近进行多人项目协作,尝试了Vscode自带的LiveShare,但是无法分屏不太好用,于是对于git的分支管理进行了一些简单的研究,上手之后还是挺方便的关于分支命名master分支一般用于作为线上分支,即需要应用的项目版本develop/dev分支一般用于作为开发分支,用于修改开发使用,最后需要mer......
  • free version GitHub Copilot All In One
    freeversionGitHubCopilotAllInOneAI编程编码助手GitHubCopilotfreeResponsesarelimitedto2,000codecompletionsand50chatmessagespermonth.https://github.com/settings/copilotGitHubCopilotProhttps://github.com/github-copilot/signup/copi......
  • Yarn工作空间和高级命令
    目录工作空间高级命令性能优化错误处理与调试工作空间Monorepo概念Monorepo(单仓库)是一种软件工程实践,它将多个相关的项目或包存储在一个单一的Git仓库中。这种做法有多个好处:简化依赖管理:共享依赖可以避免重复安装和版本冲突。统一构建和测试:所有项目都可以使用相......
  • 常见的PDF标准
    PDF文件作为最常用的文件格式之一,可能有很多人不知道它还拥有三种不同的PDF标准。PDF/A、PDF/X和PDF/E标准是由国际标准化组织(ISO)定义的[1]。PDF/APDF/A标准应用于电子文档的长期归档,基本上就是屏蔽了一些不适合的功能,如Javascript,音频、视频等等。PDF/XPDF/X标准应......
  • Java笔记——Java命令大全
    文章目录常用Java命令javacjavac命令用于将Java源代码编译成Java字节码文件(.class文件),以便在Java虚拟机(JVM)上运行。基本语法javac[options]source_file(s)javac[options]source_file(s)使用示例javacHelloWorld.javajavacHelloWorld.java参数说明optio......