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

git 介绍+常用命令

一、介绍

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是创始人 Linus Torvalds,这个人是Linux系统的创始人,超级大佬),他是为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,git它采用了分布式版本库的方式,其他软件是集中式的。

二、常用命令

0、git clone:克隆一个仓库

一般接手一个新项目,会先克隆这个项目的完整代码,git clone   https://www.xxx./yyy/zz/aaa.git

1、git init :初始化仓库

进入到某个目录,执行,就可以把这个目录作为一个仓库来初始化

初始化和克隆命令,只执行一个就行,之前有代码,就克隆过来;之前没代码,你是新建的仓库,才会初始化。

2、git add :添加文件到暂存区

git add .  点,表示添加全部文件

git add xxx.py 表示添加指定的某个文件

3、git commit:将暂存区内容添加到仓库中

提交时候,可以-m备注文字,方便查看,git commit -m'备注的一些文字'

4、git push:将本地的分支版本上传到远程并合并

将代码推送到git服务器

git push 地址 你的分支

5、git pull:从git服务器拉取最新代码

每次push自己代码之前,要先pull一下,不然会出现代码冲突

6、git rm:删除

7、git branch:查看所有分支

8、git switch、git checkout:切换分支

这两个命令都可以切换分支,git switch是新的功能,老版本git没有

9、git merge:合并分支

10、git reset :版本回退

如果想回退到之前的版本,可以参考如下

git reset --hard HEAD^ #回退到上一个版本

git reset --hard HEAD^^ #回退到上上一个版本

git reset --hard HEAD~3 #回退到往上3个版本

git reset --hard HEAD~10 #回退到往上10个版本

我们还可以用git log或者git reflog 查看版本的记录,用版本号来恢复到指定的版本。如

git reset --hard 710ae83 其中710ae83是版本号;

三、 Git 工作区、暂存区和版本库概念

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中
  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

四、git 、github、gitee 这三个咋区分?

git是基础,其他都是基于git开发的代码托管服务平台

github:是一个基于git的代码托管服务平台,全球知名流行,前几年被微软收购了。国内访问速度慢,但是里面仓库代码非常非常多,质量高。

gitee:也是一个基于git的代码托管服务平台,由中国公司经营维护,只在中国大陆流行。国内访问速度快,可惜仓库代码少,质量也低。


http://www.kler.cn/a/316184.html

相关文章:

  • 844.比较含退格的字符串
  • Java面向对象高级2
  • Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现(含Diff-Control、ControlNet详解)
  • 关于GCC内联汇编(也可以叫内嵌汇编)的简单学习
  • Qt_day4_Qt_UI设计
  • 每日一练:二分查找-搜索插入位置
  • LeetCode 2374.边积分最高的节点:模拟
  • Git 推送更改到远程仓库
  • 什么是量化交易,纸质股票现在还能交易吗?怎么交易
  • 基于机器学习的注意力缺陷/多动障碍 (ADHD)(python论文+代码)HYPERAKTIV
  • 路径处理 | 关键点提取之Douglas–Peucker算法(附ROS C++/Python实现)
  • 分布式锁的几种方案对比?你了解多少种呢?
  • vscode关闭git的提交提示
  • 【计算机网络篇】数据链路层 功能|组帧|流量控制与可靠传输机制
  • 视频理解大模型最新进展
  • python定时发送邮件的功能如何实现自动化?
  • 使用库函数点亮一个LED灯
  • Python知识点:如何使用Python进行医学图像处理
  • javase笔记4----常用类型
  • 怎么使用Chrome与C++实现高效自动化测试
  • 软件架构的演变与趋势(软件架构演变的阶段、综合案例分析:在线电商平台架构演变、开发补充)
  • lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了,为什么?
  • ArcGIS核密度分析(栅格处理范围与掩膜分析)
  • mysql性能优化-延迟写和异步写优化
  • 算法之逻辑斯蒂回归(Logistic regression)
  • 计量校准中测量溯源性是什么?已校准设备要怎么处理?