git--❤️这些最基本和最常用的命令,你学废了吗?(新手必备❤️)(代码片段)

JustinQin JustinQin     2022-12-18     642

关键词:

学习背景

Git作为目前很多代码服务器(GitHub/GitLab/Gitee码云等)推行的版本控制工具,大大提高团队的开发效率,那么作为职场新人,有一些最基本和最常用的命令,是需要我们去掌握和了解一下的!!!
有些小伙伴说了IDEA和Eclipse集成的可视化Git它不香吗? 确实平时开发中很多最基本的可视化操作还是很高效的,但可视化操作也是基于git本命令来实现的,所以还是有必要来了解一波Git命令~
以下是我个人平时工作所做的笔记,记录了一些比较常用Git命令,这里发布出来,希望对大家有帮助。

进入正文~

一、配置用户名密码

1.1 添加用户名/邮箱名

git config --global user.name "your_username"
git config --global user.email "your_email@example.com"

这里定义的用户名作为你提交代码是的一个标识
邮箱一般对应代码服务器上配置
获取邮箱示例:GitHub ->个人中心 ->Settings ->Profile ->email获取email对应的邮箱

1.2 保存用户名密码

使用git clone + url服务器代码时,主要有HTTPS-urlSSH-url两种url

git clone SSH-url因为配置了key公钥,因此不需要输入用户密码确认,但是git clone HTTPS-url每次都提示输入用户密码
示例:

git clone https://github.com/JustinJava/pwd-encrypt-decrypt.git

为了方便开发,需要设置为保存用户密码,不用每次都需要手动确认~
(1)方法一
打开git命令窗口,直接通过命令配置credential凭证的缓存时间
默认缓存(15分钟)

git config --global credential.helper cache

缓存(1小时):

git config --global credential.helper 'cache --timeout=3600

缓存(永久):

git config --global credential.helper store

(2)方法二
打开git命令窗口,通过修改.gitconfig文件设置credential凭证的缓存时间

cd ~
ls -a
vim .gitconfig

按实际需要,添加以下内容:
默认缓存(15分钟)

[credential]
helper = cache

缓存(1小时)

[credential]
helper = 'cache --timeout=3600'

缓存(永久)

[credential]
helper = store

二、下载代码

在本地指定目录下,右键->Git Bash Here打开git命令窗,执行git clone 命令下载服务器源码,格式:git clone url
示例:

git clone https://github.com/JustinJava/pwd-encrypt-decrypt.git

三、操作文件

3.1 查看文件状态

git status 可查看本地变更文件(新增/修改/删除)的状态~

3.2 更新文件

git pull 拉取服务器最新文件内容~

3.3 提交变更文件

变更文件主要包括新增/修改/删除文件,每次需要提交变更文件前,一般都需要先git pull拉取最新代码,检查是否与自己本地变更文件冲突,养成良好习惯,尽可能的避免代码冲突,提高开发效率~
git pull正常更新代码后,git status查看本地文件状态
commit提交变更文件前,需要先add添加变更文件提交到本地仓库(Local Repository)

3.3.1 提交变更(新增/修改)文件

添加指定变更(新增/修改)文件

git add [filename1] [filename2]

添加所有变更(新增/修改)文件

git add .

.表示一次性添加所有变更(新增/修改)文件,不包括变更(删除)文件。

添加所有变更(新增/修改/删除)文件

git add -A .

注意-A后面有一个.,表示一次性添加所有变更(新增/修改/删除)文件

提交指定变更文件

git commit [filename1] -m "提交指定文件(新增)--filename1"
git commit [filename2] -m "提交指定文件(新增)--filename2"

-m表示提交注释说明~

提交所有变更文件

git commit -m "注释说明--提交所有变更文件"

推送提交的变更内容到远程

git push origin 远程分支名

3.3.1 提交(修改/删除)文件

删除文件–指定文件

rm [filename1] [filename2]

删除目录–指定目录

rm -f [dirname]

添加注释–指定被删除的文件/目录

git commit [filename1] -am "添加注释--指定被删除的文件/目录"

添加注释–所有被删除文件/目录

git commit -am "删除注释--所有被删除文件/目录"

推送提交的变更内容到远程

git push origin 远程分支名

3.3.3 撤销提交文件

实际开发中,因多人开发无法确保每次都能拉取最新的服务器内容到本地后,再推送变更内容到服务器
因此最经常出现的问题是,push推送变更内容到远程分支时,提示代码冲突的报错~
此时commit提交到本地仓库(Local Repository)的内容已经被保存到暂存区
这时想要撤销push推送,恢复到push前的commit状态,但是不能影响自己本地做的所有修改,可以通过git reset --mixed命令来实现~

重置push

git reset --mixed 版本号(最新历史commit的版本号)

可通过git log查看日志,查看最新历史commit的版本号

四、操作分支

4.1 查看分支

查看本地分支

git branch

查看本地+远程分支

git branch -va

4.2、创建分支

创建本地分支

git branch 本地分支名

创建本地分支并切换到该分支

git checkout -b 本地分支名

创建远程分支

git push origin 已有分支名(本地):分支名(远程)

4.3 切换分支

切换本地分支

git checkout 本地分支名

切换远程分支

git checkout -b 本地分支名 origin/远程分支名

4.4 删除分支

删除本地分支

git branch -d 本地分支名

-d表示强行删除,如果删除报错:error:Cannot deletge branch ‘本地分支名’ checked out at ‘C:******’
原因是:该分支正在使用,先切换到其他分支,再删除dev分支

删除远程分支
方式一:push推送一个空分支替换为远程分支

git push origin:远程分支名

方式二:直接delete删除

git push origin --delete 远程分支名

4.5 合并分支

合并本地分支(场景):将dev合并到master分支中
**第一步:**将当前分支切换为master

git checkout master

**第二步:**合并dev分支到当前master分支

git merge dev

第三步:push推送合并后的当前本地分支master到远程分支master

git push origin master

五、配置SSH密钥

5.1 获取邮箱

示例:GitHub ->个人中心 ->Settings ->Profile ->email获取email对应的邮箱

5.2 生成SSH密钥

桌面 ->右键Git Bash Here 打开git命令窗口,执行命令:

ssh-keygen -o -t rsa -b 4096 -C "your_email@example.com"


5.3 查看SSH密钥

生成SSH公钥文件保存在~/.ssh/id_rsa.pub这个公钥文件中,查看公钥内容命令:
cd ~/.ssh
cat id_rsa.pub

5.4 生成SSH密钥

将公钥~/.ssh/id_rsa.pub中的内容拷贝到服务器~
示例:GitHub ->个人中心 ->Settings ->SSH and keys ->New SSH Key

未知攻,焉知防黑客必学文件上传绕过的方式,你学废了吗?(代码片段)

一、%00绕过1、写一个get请求,可以显示提交的参数<?php$a=$_GET['id'];echo$a;?>2、查看效果192.168.139.12/?id=aiyoubucuo3、加入%00并转码,不转码没有效果,运行结果如下二、JS验证绕过1、选择文件aiyou.php,... 查看详情

linux安装配置mysql-你学废了吗?(代码片段)

...f1f;Apache安装配置(Windows和Linux)-有手就行Linux安装配置MySql-你学废了吗?PHP安装配置(Windows和Linux)-一篇就够了Nginx安装配置(Window和Linux)-包教包会Tomcat安装配置(Window和Linux)-保姆教程我知道有集成软件和宝塔什么的,但我想... 查看详情

三分钟撸完前后端crypto-js加解密,你学废了吗?(代码片段)

文章目录前言一、AES概念二、前端加密1.安装依赖库2.实现AES加密算法3.前端演示效果三、后端加密1.加密工具类2.加密测试四、Security实现密码加解密1、前台加密1、后台解密总结前言去年公司做了一个教育项目,该项目涉及... 查看详情

知乎爆赞!4504页《微信小程序零基础入门开发文档》+《小程序实战笔记》,你学废了吗?

前言微信小程序作为近几年“微服务”的杰出代表,应用十分广泛。小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。小程序作为... 查看详情

微信小程序实时定位的要做的那些事,你学废了吗?(代码片段)

...文章:1、微信小程序实时定位的要做的那些事,你学废了吗?2、微信小程序也可以实现定位打卡/签到打卡了开发框架:uniapp本片文章主要实现了微信小程序的实时定位功能的小组件实现。文章目录1、获取小程序... 查看详情

redis持久化aof与rdb全面解析(大厂面试必问,看完之后offer直接到手,你学废了吗?)(代码片段)

目录1、简介2、RDB2.1简介2.2Fork2.3自动触发2.2手动触发2.3RDB持久化文件的备份3、AOF3.1简介3.2AOF配置3.3AOF修复功能3.4AOF重写4、混合持久化5、总结1、简介Redis的非常快,很大一部分原因是因为Redis的数据存储在内存中,既然在... 查看详情

go-zerogo-zero架构逐一突破:go-zero超时timeout到底有几处可以设置?你学废了吗

历史go-zero篇章文章目录历史go-zero篇章前言一、go-zero中的timeout二、go-zero中有多少处Timeout?1、http请求即:apiTimeout2、Api请求Rpc即:请求rpcTimeout3、RpcTimeout总结前言这是根据go-zero在项目实战中,作者发掘的问题与技巧,希望能与... 查看详情

关于rocketmq事务消息的正确打开方式→你学废了吗

开心一刻  昨晚和一哥们一起吃夜宵,点了几瓶啤酒  不一会天空下起了小雨,哥们突然道:糟了  我:怎么了  哥们:外面下雨了,我老婆还在等着我去接她  他给了自己一巴掌,说道... 查看详情

去除多重共线性的5种方法,你学废了嘛?(代码片段)

什么是多重共线性呢?就是回归模型多个特征之间具有很强的相关性。多重共线性,听起来很就很严重,其实没有很大的危害,只是容易过拟合,或者导致模型无法解释。尤其是在实际项目中,我们需要解释模... 查看详情

去除多重共线性的5种方法,你学废了嘛?(代码片段)

什么是多重共线性呢?就是回归模型多个特征之间具有很强的相关性。多重共线性,听起来很就很严重,其实没有很大的危害,只是容易过拟合,或者导致模型无法解释。尤其是在实际项目中,我们需要解释模... 查看详情

知乎爆赞!4504页《微信小程序零基础入门开发文档》+《小程序实战笔记》,你学废了吗?

前言微信小程序作为近几年“微服务”的杰出代表,应用十分广泛。小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。小程序作为... 查看详情

您学废了吗?python也可以这么优雅地创建表格(代码片段)

如果能够将我们的无序数据快速组织成更易读的格式,对于数据分析非常有帮助。Python提供了将某些表格数据类型轻松转换为格式良好的纯文本表格的能力,这就是tabulate库。喜欢本文记得收藏、点赞、关注。推荐文章终... 查看详情

学废了系列(代码片段)

...有不足,这次分享的主要目的是科普一些在前端领域比较常用的WebGIS知识。另外,我之前的工作中积攒了一些从零开始搭建WebGL地图引擎的微薄经验,虽然最终遗憾没有上线,但在其中学到的一些WebGL知识还是值得分享一下。WebGL... 查看详情

linux最常用的指令大全!快看看你掌握了吗?

...多常用命令是必须掌握的,这里将分享linux入门时常用的基本命令,希望可以帮助你们。文件目录指令pwd指令基本语法:pwd用于显示当前目录的路径实操案例: ls指令基本语法:ls[选项][目录或是文件]常用选项-a:显示当前目... 查看详情

git工具

...工具。git在没有任何参数的情况下,此命令将列出其选项和最常用的命令。您可以通过帮助命令内联选项和命令来获取某个Git命令的帮助。githelp[comman 查看详情

【vue】~/.vuerc在哪里

...erc文件在这里:C:\Users\当前电脑登录账户名\vuerc你学废了吗?🤞 查看详情

20个最常用的git命令,你都会用吗?

在这篇文章中,我将介绍在使用Git时最常使用的20个命令。以下是这些Git命令:gitconfiggitinitgitclonegitaddgitcommitgitdiffgitresetgitstatusgitrmgitloggitshowgittaggitbranchgitcheckoutgitmergegitremotegitpushgitpullgitstash 查看详情

20个最常用的git命令,你都会用吗?

点击关注公众号,Java干货及时送达在这篇文章中,我将介绍在使用Git时最常使用的20个命令。以下是这些Git命令:gitconfiggitinitgitclonegitaddgitcommitgitdiffgitresetgitstatusgitrmgitloggitshowgittaggitbranchgitcheckoutgitmergegitrem 查看详情