前言: 本文主要是总结在java开发过程中,最常用git命令使用场景,这篇文章适合对git有一定了解的后浪们,狐狸将自己的笔记都整理下来,此文章仅代表鄙人的总结和理解,如有错漏,欢迎指正...
一、git命令的目录基础使用
1、cd .. 【返回上一级目录(cd与 .. 之间有一空格)】
2、cd git 【进入git目录】
3、pwd 【显示当前路径】
二、GIT中的子模块基础使用
在spring cloud微服务项目中,往往有很多子模块,所以需要单独的拉取子模块最新的代码
git clone <repository> --recursive 【递归的方式克隆整个项目】
git submodule add <repository> <path> 【添加子模块】
git submodule init 【初始化子模块】
git submodule update 【更新子模块】
git submodule foreach git pull 【拉取所有子模块】
详细的git子模块操作,可参考博客 : Git Submodule管理项目子模块
三、将本地仓库的代码合并到远程仓库
假设自己的本地使用git init新建了个本地仓库,然后自己又在码云上手动建了个仓库,那么这两个仓库是不能直接拉取或者推送的,因为还没有关联在一起,理论上仍是两个不同的仓库。
四、GIT强制推送
有时候使用git的时候往往出现一些匪夷所思的事情导致不能顺利的push,那么可以使用强制推送,但是要注意,只能在实在没办法的情况下使用,因为会把很多无关紧要的文件也一并推送了。
1、git add . 【提交到本地仓库】
2、git commit -m "your comment" 【提交你的本次Push信息】
3、git push -u origin master -f 【强制推送到远程master分支】
五:更新分支、列出分支、选择分支
有时候开发过程中,新建了分支或者删除了分支,IDEA开发工具上没办法立刻发现变化,所以需要手动的去更新一下分支,才能看得到变化
1、git fetch origin --prune 【更新一下分支信息】
2、git branch -a 【就能看到新的分支了】
3、git checkout 分支名 【选择分支】
idea中配置git忽略文件的时候,如果已经add过了,那么文件将会进入缓存区,所以要执行git reset . 命令,将缓存清除,那么.ignore的文件才会真正的忽略文件
六、git删除本地分支和删除远程分支
1、git checkout dev_20180927 【切换到dev_20180927分支】
2、git branch -d dev_20181018 【删除本地dev_20181018分支】
3、git branch -D dev_20181018 【如果删除不了可以强制删除dev_20181018分支】
4、git push origin --delete dev_20181018 【有必要的情况下,删除远程dev_20181018分支】
5、git fetch origin dev20181018:dev_20181018 【从公用的仓库fetch拉取代码】
【必须注意 git fetch 命令只会将数据下载到你的本地仓库——它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。】
6、git checkout dev_20181018 【然后切换分支即可】
注:上述操作是删除个人本地和个人远程分支,如果只删除个人本地,请忽略第4步
七、IDEA Git回退到指定历史版本
1、找到要回退的版本号
(右击项目--> Git --> Show History -->选中要回退的版本-->Copy Revision Number)
2、打开idea的Terminal 输入命令
git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 (后面为版本号)
3、把修改推到远程服务器,这一步使用IDEA自带的push没用。要用命令去执行才行
git push -f -u origin master(master为指定分支) --关键步骤
注意:要用IDEA里面的Terminal 去执行比较好,不然的话,回滚过后第二次提交还是把老的恢复了,没卵用
ok,以上的git使用已经算得上是开发过程中最常用的了,一些不常用的狐狸就不写了,博客就要写得言简意赅嘛...
结语:以往都是看别人的博客进行学习技术,其中不乏有精华博客也有吊儿郎当的CV大法文章,所以决定将自己所学所用所整理的知识分享给大家,主要还是想为了后浪们少走些弯路,多些正能量的博客,如有错漏,欢迎指正,仅希望大家能在我的博客中学到知识,解决到问题,那么就足够了。谢谢大家!(转载请注明原文出处)