首页 > 其他分享 >【Git学习】概念+原理+常用命令(简洁,快速上手)

【Git学习】概念+原理+常用命令(简洁,快速上手)

时间:2024-07-26 16:54:22浏览次数:12  
标签:文件 git 仓库 版本号 Git 版本 常用命令 简洁 分支

本篇文章是我看完尚硅谷视频后作的总结,分享一下学习笔记。

        软件配置管理 (SCM) 是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护

        版本控制:软件版本,文件版本

版本控制软件的基础功能:

  1. 保存和管理文件

  2. 提供客户端工具进行访问

  3. 提供不同版本文件的比对功能

集中式版本控制:加锁,或者人工

分布式版本控制:本地仓库(git 的方式)

使用 GitHubDesktop 进行操作,不如命令行直接,功能较少

40 个 16 进制数字组成版本号,也叫做提交码,类似 0fe76556c1ec1c9125b8b20e0e0134e8f83daece

使用 SHA-1 算法,用于定位仓库种的文件,前 2 位作为文件夹,后 38 位作为文件名

        版本号的文件关联,一次操作产生多个版本号(使用 “git cat-file -p 版本号” 来安全查看文件内容)

        图中的箭头表示版本之间的关联,每一次操作都会产生新版本的文件,初始表示 .gitattributes 文件

        分支选择后,HEAD 文件自动更新,不同分支对应不同版本

        三个区域之间的简单关系

        命令大全:

配置

  • git -v:查看 git 的版本

  • git init:新建本地仓库,只有空的结构,不会新建 main 分支

    如果使用工具创建,会有默认的初始化提交,有 .gitattributes 文件

  • git clone 地址 (新名字):克隆远程仓库到本地,版本等完全一致(换名字)

  • git config (--global) user.name 名字:配置当前用户名(全局,config 文件)

  • git config (--global) user.email 邮箱:配置当前邮箱名(.gitconfig 文件)

区域

  • git status:查看暂存区的状态

  • git add 文件名:将文件从工作区添加到暂存区(未追踪 -> 暂存)

  • git rm --cached 文件名:将文件取消暂存,从暂存区移回工作区

  • git commit -m 描述:将文件从暂存区添加到存储区,也就是仓库中(暂存 -> 存储)

  • git log (--oneline):显示 commit 提交信息

恢复

  • git restore 文件名:恢复工作区中的文件,使其与暂存区的内容一致

  • git reset --hard 版本:重置暂存区和工作区,从存储区恢复到某个版本,其他全丢失

  • git revert 版本:还原到某个版本之前,那么这个版本号以及之后的提交都不会丢失

分支

  • git branch -v:查看所有分支,带*的是当前分支

  • git branch 分支名:前提是当前分支有内容,然后基于提交创建新分支

  • git checkout 分支名:切换分支

  • git checkout -b 分支名:将上述两步合并,创建分支并切换到它

  • git checkout -d 分支名:删除分支

  • git merge 分支名:必须先切换到主分支,将其他分支合并到当前分支

    此时产生冲突,就手动修改冲突文件,然后提交

标签

  • git tag 名称 版本号:为某次提交增加别名,也就是标签,替代版本号,更容易理解

  • git tag -d 名称:删除标签

远程仓库

  • git remote -v:显示所有远程仓库的简写名称以及对应的 URL

  • git remote add 名称 地址:把远程仓库添加到本地 Git 配置中,参数:远程仓库起名以及 url

  • git remote remove 名称:从本地 Git 配置中删除一个远程仓库

  • git remote rename 旧名称 新名称: 改变远程仓库的别名

  • git push 名称:将本地的提交推送到远程仓库,这里的名称是自己起的名

    如果使用 SSH,需要安全认证,那就上网查阅解决方案

  • git pull 名称:拉取远程仓库的内容

搭建自己的代码托管平台——GitLab

        在 Linux 系统中安装后,使用浏览器访问,输入网址 http://linux1/users/sign_in。初始账号是 root,密码在 /etc/gitlab/initial_root _password 文件中。

        创建项目,就相当于创建仓库。

        本质与 git 相同,只不过这里的虚拟机充当服务器,其他操作都一样。

标签:文件,git,仓库,版本号,Git,版本,常用命令,简洁,分支
From: https://blog.csdn.net/m0_63566347/article/details/140685480

相关文章

  • Gitlab以及分支管理
    一、概述Git是一个分布式版本控制系统,用于跟踪文件的变化,尤其是源代码的变化。它由LinusTorvalds于2005年开发,旨在帮助管理大型软件项目的开发过程。二、Git的功能特性Git是关注于文件数据整体的变化,直接会将文件提交时的数据保存成快照,而非仅记录差异内容,并且使用S......
  • Git的一些基本用法
    本文分享自天翼云开发者社区《Git的一些基本用法》,作者:l****n基本操作gitbranch查看当前分支gitbranch-a查看所有分支gitpull更新当前分支gitcheckoutXXX切换到某分支gitcheckout.放弃所有更改gitlog--pretty=oneline查看当前分支的commitid(或者gitrev-......
  • 在KubeSphere 容器中快速部署使用 GitLab 并构建 DevOps 项目
    前提条件安装KubeSphere,认真阅读全文可免费领取PetaExpress云服务器一台。在KubeSphere中启用DevOps套件**参考:启用DevOps**https://kubesphere.io/zh/docs/v3.4/pluggable-components/devops/安装GitLabCE我们先这次的演练创建一个名为devops的企业空间,同时创建一个名为gi......
  • 魔术上网导致Github push 443 问题解决方法
    问题描述使用“kexue上网”工具后,在IDEA中push代码到github时,报错:Failedtoconnecttogithub.comport443:Operationtimedout。同时,使用浏览器访问github也会出现无法访问,偶尔能访问的情况。解决办法gitconfig--globalhttp.proxyhttp://127.0.0.1:1087git......
  • git--本地仓库修改同步到远程仓库
    尝试将本地分支推送到远程仓库时,出现一个非快速前进的错误。通常是因为远程仓库中的分支包含本地分支没有的提交。在推送之前,需要将远程仓库的更改合并到本地分支。解决步骤如下:切换到你的本地分支:确保处于想要推送的分支,例如xxxx:gitcheckoutxxxx拉取远程分支并进行......
  • Jenkins+Gitlab持续集成综合实战
    一、持续集成应用背景:DevOps:(英文Development(开发)和Operations(技术运营)的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工......
  • 远程git仓库,merge其他分支到master分支
    第一步,本地编辑器开发分支合到对应想merge的分支。比如把本地insure_gly,merge到dev分支并push到远程dev仓库 第二步,远程git仓库,选择对应项目,创建merge请求   ......
  • GitLab添加TortoiseGIT生成SSH Key
    文章目录前言一、PuTTYgen二、GitLab前言GitLab是一个用于托管代码仓库和项目管理的Web平台,公司搭建自己的gitlab来管理代码,我们在clone代码的时候可以选择http协议,也可以选择ssh协议来拉取代码。SSH(SecureShell)是一种通过网络进行加密通信的协议,它可以用于远......
  • Git版本管理及相关操作总结
    Git常用操作Git是开源的版本控制系统,常用于项目代码管理,文件管理等场景。Git的常见操作命令按照操作顺序介绍新建、管理远程仓库克隆、更新本地仓库副本上传本地修改、修改记录是每次上传更新的记录,一个修改记录可能包含多个文件的修改每个修改记录对应唯一的修改记录......
  • maven 工程pom依赖优化及常用命令
    maven工程pom依赖优化及常用命令1.​​mvndependency:list​​----列出项目的所有jar包登录后复制mvndependency:list-Dverbose1.该命令可以列出项目依赖的所有jar包,-Dverbose参数会把被忽略的jar,即相同jar包的不同版本引入也列出来。输出示例:2.​​mvndependency:......