实用盘点那些开发中最常用的git命令

IT学习日记 IT学习日记     2023-03-27     392

关键词:



  • 💂 个人网站: IT知识小屋
  • 🤟 版权: 本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主
  • 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦

文章目录

前言

  Git作为目前世界上最先进的分布式版本控制系统,在国内外备受欢迎,基本上科技公司的项目都或多或少使用到Git进行版本管理,然而,Git命令繁多,许多使用者在使用命令过程中会遇到一些问题 ,本文就日常开发工作中常用的Git命令以及相关问题做了整理,给Git使用者进行参考。


本地项目推送到Gitee、Github、Gitlab

  场景:许多时候我们在本地搭建好的项目想跟远端仓库的项目关联并推送到远端仓库中,这时候就需要使用Git的相关命令来实现。

  实现步骤:

  • 进入到项目所在的目录下,打开Git命令窗口,执行: git init命令将项目初始化为git项目

  • 执行【git add . 】将代码添加到暂存区

  • 执行【git commit -m ‘提交注释’ . 】将代码提交到本地仓库

  • 在远端仓库如Gitlab、Github上复制项目的url,使用命令:【git remote add origin 仓库地址】,将本地仓库和远端仓库建立关联

  • 执行【git pull origin 远端仓库分支名称】命令拉取远端仓库上的文件到本地

  • 如果有拉取到新文件则重新执行git commit命令将新文件添加到本地仓库

  • 执行【git push --set-upstream origin 远端分支名称】将本地代码推送到远端仓库


使用该命令常遇到的问题

  问题1、 Git push:unable to access Could not resolve host

  主要原因是没有推送到远端仓库的权限,需要找管理员开权限,然后重新执行Git push命令进行推送即可。

  问题2、 执行git push --set-upstream origin master或者Git push出现: The project you were looking for could not be found

  解决:在执行git clone或者git push添加上用户名即可,如:git clone https://用户名@gitee.com/it-learning-diary/it-wheels-king.git

  查看当前Git的用户名和邮箱的命令:git config user.name/email

  问题3、 如果已经使用了git remote add origin命令关联远程仓库后发现Url错了或者出现问题2需要在url加上用户名,想重新关联时出现: fatal: remote origin already exists

  解决:使用git remote rm origin(删除关联的origin的远程库)

  问题4、 git push时出现remote: XX: Incorrect username or password (access token)

  解决:将提交的git的名称修改成和github或者Gitee仓库中名称一样的,修改命令:git config user.name “用户名称”

  问题5、 拉取远端推送时出现:Git :fatal: refusing to merge unrelated histories解决

  原因:是因为本地仓库和远端仓库两个分支是两个不同的版本,具有不同的提交历史,需要将他们合并并解决冲突。

  解决:git pull origin 分支名称如master --allow-unrelated-histories


创建本地分支并推送到远端

  场景:许多时候,我们可能需要根据远端某一分支创建新的分支进行开发,此时就需要进行分支创建并推送操作。

  方式、使用git checkout命令创建,步骤如下:

  步骤1、以远端某一个分支为参照物,创建一个本地分支且切换到该本地分支,命令:git checkout -b 本地分支名称 origin/远端分支名称

  步骤2、将新创建的本地分支推送到远端仓库(此时会在远端仓库创建对应的分支),命令:git push origin 远端分支的名称

  步骤3、将本地分支和远端分支绑定,方便后续push代码,命令:git push --set-upsteam origin 远端需要绑定的分支名称

  相关命令

  • 查看本地分支名称:git branch

  • 查看本地和远端所有分支名称: git branch -a


删除分支

  场景:有些时候,我们需要删除本地或者远端仓库中一些已经不必要或者无用的分支,此时则使用到了git branch命令。

  删除本地分支:git branch -d 分支名称

  删除未合并的本地分支:git branch -D 分支名称

  删除远端仓库分支:git branch origin -d 远端分支名称


打标签

  场景:在开发好新功能或者修复了紧急bug后,我们需要将最新的代码进行发布,通常的方式就是在测试好的分支上进行tag打包并发布,具体步骤如下:

  • 查看项目的tag版本:git tag

  • 打新的tag包:git tag -a tab版本名(如V-1.0.0.prod.202206012211) -m ‘备注’

  • 推送指定名称tag包到仓库:git push origin tag包名称

  • 推送所有tag到仓库:git push origin -tags

  Tag和Branch的区别

  • tag可以看做是版本库中的一个标记,指向某一commit的指针,主要用于发布版本的管理,它指向的commit是固定的,无法移动。

  • branch则是由一系列的commit组成,由的多个点连成的一个提交线,通过HEAD指针进行commit点移动。

  • tag通常用于版本发布,branch通常用于业务开发


存储/更改缓存

  场景:你有没有遇到过这样一个情况,功能开发或bug修复到一半时,临时来了一个紧急需求需要处理,此时的代码无法提交,否则其他人拉取可能会出现问题,此时你就需要git stash的帮忙了。

  git stash命令允许你将当前进度(工作区和暂存区)的内容保存起来,方便切换到其他分支处理紧急事情,后续可以再回复当前进度,具体用法如下。

  1、存储工作区和缓冲区

  • git stash 或者 git stash save ‘缓冲区名称’

  2、查询缓存列表

  • git stash list

  3、恢复缓冲区内容

  • git stash pop [stash_id]:默认恢复最新缓存进度,同时删除该缓存

  • git stash apply [stash_id]:恢复指定缓存版本内容,并不删除堆栈中的内容

  4、删除缓存进度

  • git stash drop [stash_id]:删除指定的缓存进度,如果不指定stashId,则默认删除最新的存储进度

  5、清空整个堆栈

  • git stash clear

  6、查看缓存进度和当前目录差异

  • git stash show [stash_id],如:git stash show stash@1

  7、以最新缓存进度为依照,创建最新分支

  • git stash branch 分支名称


查看当前相同同步的远程库列表

  场景:有时候,一个项目可能多同时同步多个远程库如gitee、github等,此时可以借助remote命令查看仓库同步的列表

  • git remote -v


写在最后

  虽然现在市面上有图形化的Git操作工具,但是更多时候通过命令行的方式是一种更好的方式,一个是在出现问题时能够尽快定位,很多图形化工具操作差异,导致出现问题时不好排查,另外一个是面试中也会有遇到Git相关的题目,可以更好为面试做准备。

  如果文章对你有帮助,欢迎给我点赞、关注。如有疑问,欢迎添加博主进行交流。

👇【社区交流、学习资料、面试真题】点击下方卡片 一起学习交流!👇

实用盘点那些开发中最常用的git命令

💂个人网站:IT知识小屋🤟版权:本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主💬如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦文章目录前言本地项目推送到Gitee、Github、Gitlab使... 查看详情

工作中最常用的git命令(代码片段)

最常用的git命令Git指令参考Git指令1、初始化仓库gitinit2、克隆一个项目代码gitclone[url]3、新建一个分支,并切换到该分支gitcheckout-b[branch]处理bug时可以先创建一个分支,然后add-commit-merge,最后删除该分支图片说明:$gitc... 查看详情

三万字盘点springboot的那些常用扩展点

...来说肯定不陌生,日常开发和面试必备的。本文就来盘点Spring/SpringBoot常见的扩展点,同时也来看看常见的开源框架是如何基于这些扩展点跟Spring/SpringBoot整合的。话不多说,直接进入正题。FactoryBean提起FactoryBean,... 查看详情

盘点spring/boot的那些常用扩展点(代码片段)

...来说肯定不陌生,日常开发和面试必备的。本文就来盘点Spring/SpringBoot常见的扩展点,同时也来看看常见的开源框架是如何基于这些扩展点跟Spring/SpringBoot整合的。话不多说,直接进入正题。FactoryBean提起FactoryBean,... 查看详情

git实用开发文档

git使用开发文档很多开发者工作一定年限后任然对git只是停留在基本使用层面。多人开发的时候,每次合并代码的时候都是忐忑,接下来一文帮组大家更深入的了解git的使用文章目录git工作流git工作原理git常用命令git默... 查看详情

开发工具的那些故事git跨代码仓库合并代码

 热门系列:【开发工具的那些故事】git常用命令,手把手教你配置多个git账号【开发工具的那些故事】git问题记录(一):Failedtoconnecttogithub.comport443:Timedout【开发工具的那些故事】git问题记录(二)&... 查看详情

开发工具的那些故事git跨代码仓库合并代码

 热门系列:【开发工具的那些故事】git常用命令,手把手教你配置多个git账号【开发工具的那些故事】git问题记录(一):Failedtoconnecttogithub.comport443:Timedout【开发工具的那些故事】git问题记录(二)&... 查看详情

那些年,我们向往使用的git命令git常用命令总结(代码片段)

0背景作为当前世界上最强大的代码管理工具Git相信大家都很熟悉,最近想总结Git的原因是笔者在带新人和项目工作中经常发现一些不了解Git或者只会进行基本的操作,面对合并、回退等操作就一脸蒙蔽。一旦发生冲突就... 查看详情

开发同事需要知道的linux实用的基本操作

Linux有复杂的体系,有很多的命令,开发同事日常开发时,不像运维同事需要熟练使用很多命令。下面记录下我在工作中,常用的基本命令:一日志查看对于开发同事来说,日常工作中,Linux中最常用到莫过于日志查看。1把日志d... 查看详情

盘点那些常用的linux指令(代码片段)

常用的Linux指令处理目录查看目录文件ls查看当前所在的路径pwd切换目录cd创建文件夹mkdir删除文件/目录rm复制文件/目录cp重命名/转移文件/目录mv处理文件创建文件touch编辑程序文件vi/vim查看文件cat、less、more、head、tail直接查看文... 查看详情

盘点python那些简单实用的第三方库(代码片段)

文章目录前言关于本文使用pip命令下载第三方库1、phone库(获取手机号码信息)2、geoip2库(IP检测功能)3、freegames库(免费小游戏)4、jionlp库(解析地址信息)5、pyqrcode库(生成二维码)6... 查看详情

盘点typescript中我们常用的那些神奇符号(代码片段)

?.可选链(OptionalChaining)ES11(ES2020)新增的特性,TypeScript3.7支持了这个特性TypeScript与标准同步发展,并推进了很多ECMAScripts语法提案,比如可选链操作符(?.)、空值合并操作符(??࿰ 查看详情

git常用命令一

...大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。尽管最初Git的开发是为了辅助Linux内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了Git。本文总结了一... 查看详情

常用git命令清单

...hub的随笔。不过言归正传,今天,我们要了解的是,一些实用的Git命令。先抛一张本地项目上传至github上的工作图看过工作图后,我想,大家应该有个大 查看详情

git常用命令

...的是注释。gitstatus查看仓库状态gitdiffXX查看XX文件修改了那些内容gitlog查看历史记录gitreset–hardHEA 查看详情

实用技巧盘点:python和excel交互的常用操作(代码片段)

大家好,在以前,商业分析对应的英文单词是BusinessAnalysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向python和R这样的分析工具了&#... 查看详情

git常用的命令

...Git的版本库。理解上述后,使用gitstatus查看当前状态,有那些文件(在工作区or暂存区or版本库)修改了 修改 查看详情

git团队开发常用命令

Git gitclone<项目地址,http(s)>把云端的项目克隆报本地   gitpull如果有冲突,就先保存本地代码gitstash暂时搁置当前已做的修改gitstashpop [email protected]{0}  还原暂存的内容查看搁置使用gitstashlist g... 查看详情