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

举报
吾日三省贾斯汀 发表于 2021/09/27 18:35:20 2021/09/27
【摘要】 @TOC 学习背景Git作为目前很多代码服务器(GitHub/GitLab/Gitee码云等)推行的版本控制工具,大大提高团队的开发效率,那么作为职场新人,有一些最基本和最常用的命令,是需要我们去掌握和了解一下的!!!有些小伙伴说了IDEA和Eclipse集成的可视化Git它不香吗? 确实平时开发中很多最基本的可视化操作还是很高效的,但可视化操作也是基于git本命令来实现的,所以还是有必要来...

@TOC

学习背景

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的版本号
git log -oneline

四、操作分支

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
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。