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

git常用操作命令

本文介绍git常用的操作命令,供大家参考。

1、开始

# 初始化本地git
git init# 在初始化的目录中,创建readme.txt,添加到git库中
git add readme.txt
git commit -m "写了一个readme.txt文件"

2、版本回退

2.1、git reset

git log 
git log --pretty=oneline# 回退
git reset --hard HEAD^
  • –hard:回退到上个版本的已提交状态。
  • –soft:回退到上个版本的未提交状态。
  • –mixed:回退到上个版本已添加但未提交的状态。
# 回到指定版本,往前往后都可以
git reset --hard f060 # 查看提交的id,当用git log命令找不到你想要的id时使用。一般是先回退,后来又反悔了。
git reflog

2.2、git restore

相对于git reset命令,git restore更好用一些,这是新命令,需要在2.23版本以上使用。

## 恢复a.txt到最近的提交
git restore a.txt## 将b.txt从暂存区移除
git restore  --staged b.txt## 从指定提交回复文件
git restore --source=HEAD~1 c.txt

3、几个概念

  • 工作区:就是你电脑的某个初始化了git的文件夹。
  • 版本库:工作区有个.git文件夹,隐藏的,这就是git的版本库。
    • stage:暂存区,执行 git add 命令时,就是把文件添加到暂存区。
    • master:主分支,执行 git commit 命令时,实际是把暂存区的内容提交到master。

4、撤销修改

当你修改了文件,又想恢复到修改前的状态时,用下面的命令。用于恢复工作区和暂存区中的文件,也可以用于丢弃未提交的更改。

# 老命令,双横线不能少,否则就成了操作分支了
git checkout -- readme.txt# 新命令,用这个命令即可。
git restore readme.txt

5、远程仓库

5.1、生成ssh key

ssh-kengen -t rsa -C "你的邮箱"

找到.ssh目录,windows系统在:C:\Users\Administrator.ssh。如果你不是用Administator登录的,那就把Administrator换成你的用户名。
执行上面命令后,在.ssh目录下会生成两个文件,id_rsa和id_rsa.pub。其中id_rsa.pub 是公钥,如果你使用SSH key连接远程仓库时,把它的内容复制就行了,具体操作大家查一下。

5.2、使用gitee创建仓库

注册并登录gitee,右上角加号,创建仓库:
在这里插入图片描述

这是添加仓库截图,都很简单,大家自行操作。

在这里插入图片描述

5.3、关联本地仓库与远程仓库

在本地仓库目录下,执行:

git remote add origin git@gitee.com:maodou95838_admin/a-test.git

注意:后面的maodou95838_admin/a-test.git写成你自己的,否则是不能推送的。

5.4、推送

# 首次推送
# -u 关联本地master和远程master
git push -u origin master # 从第二次后就不用再加 -u 
git push origin master

5.5、取消关联

# 查看远程库的信息
git remote -v# 按照名字取消关联
git remote rm origin

5.6、从远程库clone

git clone git@gitee.com:maodou95838_admin/a-test.git

6、分支管理

到现在为止,我们都是在master分支上操作。

6.1、checkout命令

# 创建并切换到dev
git checkout -b dev# 切换到master
git checkout master# 合并dev到master分支,注意:当前分支是master
git merge dev# 删除dev分支
git branch -d dev

6.2、switch命令

# 创建并切换到dev分支
git switch -c dev# 切换到master
git switch master

6.3、stash

当你在分支上工作,工作没做完又不能提交,现在要去别的分支上工作,此时stash就用上了。

# stash 用于暂存工作区
git stash# 查看工作区
git stash list# 恢复工作区并删除stash的内容
git stash pop

6.4、rebase

git rebase
  • rebase操作可以把本地未push的分叉提交历史整理成直线。
  • rebase的目的是使我们在查看历史提交的变化时更容易。

7、标签管理

# 当前提交打成v1.0
git tag v1.0# 查看
git tag# 给f12345提交打v0.2
git tag v0.2 f12345

创建的标签只存储在本地,不会自动推送到远程。要推送某个标签,使用:

git push origin v1.0

8、忽略本地文件

在工作区根目录添加.gitignore文件,添加配置即可,github上也有现成的,拿下来修改就行了。
一个简单的例子:

# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

8.1、检查.gitignore

git check-ignore -v .idea/

8.2、强制添加文件

git add -f Abc.class

8.3、排查个别文件

# 排查所有.开头的文件
.*# 不排除.gitignore
!.gitignore

9、配置别名

# 用st代替status
git config --global alias.st status# 后面使用git st相当于使用git status
git st

好了,git常用的操作就说完了,大家根据自己工作中的需要各取所需。
:)~

http://www.xdnf.cn/news/625519.html

相关文章:

  • 用本地大模型解析智能家居语音指令:构建一个离线可用的文本控制助手
  • vitepress | 文档:展示与说明只写一次,使用vitepress-deme-preview插件
  • 力扣HOT100之回溯:46. 全排列
  • juc面试题
  • LumaDot (亮度可调的屏幕圆点)
  • 分布式消息中间件基础
  • 网络协议与通信安全
  • Oracle 19c DG备库报错ORA-00313、ORA-00312、ORA-27037
  • 【Linux仓库】权限的量子纠缠:用户/组/other如何编织Linux访问控制网?
  • el-form 使用el-row el-col对齐 注意事项
  • 从碎片化到集成化:Profibus转Profinet网关引领设备管理数字化转型
  • 【TypeScript】知识点梳理(四)
  • 5月24日day35打卡
  • qiankun解决的问题
  • ABC406E 题解
  • python中Web框架Flask vs FastAPI 对比分析
  • 一个开源的 Blazor 跨平台入门级实战项目
  • 红黑树简单模拟实现
  • 随机森林(Random Forest)学习
  • ES的Refresh、Flush、Merge操作对性能的影响? ES如何实现近实时(NRT)搜索? ES聚合查询的Terms和Cardinality区别?
  • R基于多元线性回归模型实现汽车燃油效率预测及SHAP值解释项目实战
  • TDengine 高可用——双活方案
  • 爬虫实战之爬微博图片:xpath的具体运用
  • maven 3.0多线程编译提高编译速度
  • C++类型转换
  • Flink运行架构及并行度设置
  • 9.4在 VS Code 中配置 Maven
  • [C++]洛谷B3626 跳跃机器人(题干 + 详细讲解, BFS练习题)
  • 安卓11 不带谷歌包默认桌面布局
  • android studio 开启无线调试