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

git的常用用法(最简精华版)

一、工作区域(工作区,暂存区,本地仓库)

1、工作区

当前正在使用的文件

2、暂存区 

已使用add命令提交的工作区的文件,会保存到暂存区

3、本地仓库 

 已使用commit命令提交的暂存区的文件,会保存到本地仓库。

4、远程仓库(这不属于工作区域)

已使用push命令提交的本地仓库的文件,会上传到远程仓库

二、回退版本的三种模式 

使用git reflog查看操作的历史记录和版本号

1、 git reset --soft 版本号

当回退到以前的版本后,工作区和暂存区的后版本文件还会保存 

2、git reset --mixed 版本号(默认)

 当回退到以前的版本后,工作区的后版本文件还会保存,暂存区的后版本文件被删除

3、git rest --hard 版本号

 当回退到以前的版本后,工作区和暂存区的后版本文件都被删除

注意:当回退版本后, 后版本文件就需要重新add或commit来转移区域

例如:file1被1版本commit,file2是2版本commit的文件,此时退回到1版本,虽然file2未被删除,但file2需要重新commit

三、删除文件 

git rm 文件名.后缀 

把工作区和暂存区的文件删除:

1、一般的删除:把需要删除的file1.txt文件通过rm命令(linux)或右键删除(windows),此时虽然file1.txt文件在工作区被删除了,此时的暂存区的file1.txt还是存在的,仍然需要通过git add file1.txt命令,把file1.txt重新更新到暂存区,此时的暂存区的file1.txt才被删除。

2、git的一键删除:使用git rm file1.txt,这个命令会把file1.txt从工作区和暂存区都删除。

git rm --cached 文件名.后缀名 

把暂存区的文件删除,但是保留工作区的文件,即本地的真实文件。

通过这个命令后,别忘了再commit提交到本地仓库。

这个命令一般用在:当文件已经被提交到本地仓库了,但是我现在想用.gitignore文件把它忽略,并不想真实的删除这个文件。用这个命令把暂存区的文件删除但保留工作区真实的文件,再通过commit提交到本地仓库,此时就会忽略这个文件,不再被提交到本地仓库,并且本地仓库的这个文件也没了。

注意:现在更新了工作区和暂存区了,别忘了commit提交到本地仓库,再push到远程仓库。 

四、.gitignore文件 

在这个文件里填写的文件,可以在commit时不被提交到本地仓库 

#忽略所有的.a文件

*.a
#虽然上面忽略了所有.a文件,但跟踪所有的lib.a文件
!lib.a
#只忽略当前目录下的TODO文件,而不忽略当前目录的子目录下的TODO文件

/TODO
#忽略任何目录下名为build 的文件夹

build/
#忽略 doc/*.txt,但不忽略doc/server/*.txt这种子目录下面的*.txt文件

doc/*.txt
#忽略doc/目录及其所有子目录下的.pdf 文件

doc/**/*.pdf

五、远程仓库  

1、添加一个远程仓库

git remote add origin git@github.com:geekhall-laoyang/first-repo.git

origin是这个远程仓库的别名,可以自己取一个名字

git@github.com:geekhall-laoyang/first-repo.git是这个远程仓库的地址,这个地址是在远程仓库(github、gitee等)创建仓库后,由官方提供的。

2、查看当前仓库的远程仓库地址和别名

 git remote -v

3、指定主分支的名字 

git branch -M main 

这里指定主分支的名字为main 

4、把本地仓库的main分支推送到远程仓库

git push -u origin main 

完整命令:git push -u origin main:main 前面的main是本地仓库名字,后面的main是远程仓库的名字,若相同则可以直接写一个main

5、拉取远程仓库的内容到本地 

git pull 拉取远程仓库并合并到本地(若文件没有冲突,即并没有同一个文件的同一部分不同的情况。若文件有冲突,则手动修改冲突的部分就行) 

完整命令:git pull 远程仓库名 远程分支名:本地分支名

六、分支 

1、 查看分支列表

git branch 

2、创建分支 

git branch 分支名

3、切换分支 

git checkout 分支名

git switch 分支名 

4、合并分支 

git merge 分支名

在当前分支下使用这个命令,会把这个分支合并到当前分支 

5、删除分支 

已合并:git branch -d 分支名

未合并:git branch -D 分支名 

 

http://www.lryc.cn/news/487291.html

相关文章:

  • 哥德巴赫猜想渐行渐远
  • Spring Boot应用开发实战:构建高效、可维护的Web应用
  • keep-alive多级页面缓存实现
  • ks 小程序sig3
  • 图论之构造完全图
  • RDD触发算子:一些常用的触发算子(count、foreach、saveAsTextFile、first)
  • 搭建RAGFlow
  • css中的box-sizing,记录
  • 使用useCallback引发对闭包的理解
  • gvim添加至右键、永久修改配置、放大缩小快捷键、ctrl + c ctrl +v 直接复制粘贴、右键和还原以前版本(V)冲突
  • 腾讯云-COS
  • 蓝桥杯每日真题 - 第16天
  • 基因组之全局互作热图可视化
  • 基于Lora通讯加STM32空气质量检测WIFI通讯
  • STM32 极速入门第一天基础拓展 驱动i2c屏幕 ( 使用PlatformIO开发STM32单片机 )
  • 【WPF】Prism学习(五)
  • RabbitMQ的基本概念和入门
  • Shell脚本6 -- 条件判断if
  • 经验笔记:从生成 SSH 密钥到成功连接测试(以Gitee为例)
  • Object.defineProperty和响应式
  • 前端web
  • DDNet 服务器配置教程 Linux 环境
  • Vue 2 —监视器实现动态切换表单属性值
  • Qt_day10_程序打包(完结)
  • golang通用后台管理系统09(系统操作日志记录)
  • 如何确保爬取的数据准确性和完整性?
  • 【java】JDK安装
  • 科技改变工作方式:群晖NAS安装内网穿透实现个性化办公office文档分享(1)
  • 基于Java Springboot甘肃旅游管理系统
  • 03-axios常用的请求方法、axios错误处理