【Git】常见命令的使用

Git

  • 介绍
  • 流程
  • 安装
  • 常见命令
  • 本地仓与远程仓关联

介绍

Git、Svn:版本控制器(用于多人团队协作)

Svn:集中式版本控制器;版本库集中放在中央服务器,操作非常简单,鼠标右键提交、新增、下载

Git:分布式版本控制器;并非将所有版本放在中央服务器,它将每一个人的电脑都看做是一个服务器,不需要联网也可以提交;目前最先进主流的版本控制器,Git相对于SVN会复杂一些,因为它有很多命令

流程

->工作区 :自己电脑上项目所在目录
-> 暂存区 :通常放在当前目录 .git目录下
-> 本地仓库(本地版本库):同样在 .git目录下
-> 远程仓库(远程端版本库):将代码放在服务器上

Alt

安装

1)去下载"https://git-scm.com" => 选择"Downloads" => 选择"Window系统的下载" => 选择"64-bit Git for Windows Setup"
2)双击下载好的.exe文件 => 默认选项不改,直接next直到install,整个过程都不需要手动选择,直接采用默认选项

常见命令

安装好Git之后,对着项目根目录点击右键会有"Git Bash Here"的选项,选择之后可以直接进入项目命令行或终端弹窗

1)配置命令安装完Git之后必须先设置全局的用户名和邮箱地址=> git config --global user.name '你的用户名' (必须英文,执行成功没有提示,错误会有提示)=> git config --global user.email '你的邮箱'如果仅仅是为了当前项目单独设置用户名,那么需要去掉global执行命令git config user.name '你的用户名'查看当前配置git config --list
2)仓库初始化新项目的仓库创建(首先进入到你准备创建项目的目录下)=> mkdir mygit (英文,自定义文件夹的名字;执行后指定的目录下就会出现文件夹mygit)=> cd mygit (进入创建的项目目录中)仓库初始化=> git init (会在当前目录下创建一个.git的隐藏目录,不要再电脑里去显示隐藏文件,不许碰)/* 执行结果:Initialized empty Git repository in E:/前端/code/git/mygit/.git/ */
3)查看当前项目状态可以看到有没有文件的变动,新的文件,文件的改变等等=> git status/* 执行结果:On branch masterNo commits yetnothing to commit (create/copy files and use "git add" to track) */在项目mygit中新建index.html,再次执行git status/* 执行结果:On branch masterNo commits yetUntracked files:(use "git add <file>..." to include in what will be committed)index.htmlnothing added to commit but untracked files present (use "git add" to track) */
4)文件跟踪 -> 工作区提交到暂存区将工作区的文件(例:index.html)提交到暂存区=> git add index.html
5)文件跟踪 -> 暂存区提交到本地仓库=> git commit -m '本次提交说明文字'/* 执行结果:[master (root-commit) 095d7dd] 新建了一个index.html1 file changed, 10 insertions(+)create mode 100644 index.html */
6)新增文件(修改文件之后重新更新 | 提交文件)操作:index.html新增了内容,并且创建了css文件夹和index.css文件如果添加的文件和文件夹比较多的情况下,我们每次执行git add 文件名(暂存区),git commit -m '本次提交说明'(本地仓库),可以这样一个文件一个文件的提交操作,但是会很麻烦。可以通过一个指令将所有都包含进去(根据情况选用以下两个指令中的一项执行)=> git add . (新增、修改的都添加到暂存区,但不包含删除的文件)=> git add -A (添加所有变化,新增、修改、删除)注意:并非只要执行了git add之后就必须git commit -m 'xxx',可以多次add之后再git commit到本地仓库执行顺序:当有文件发生变动,不能直接执行git commit,必须首先执行git add新增完毕之后再提交到本地仓库=> git commit -m '修改了index.html文件和新增了index.css文件'
7)可通过代码编辑器完成之前的操作补充:Sourcetree: https://www.sourcetreeapp.com   可视化工具WebStorm:不同版本的编辑器,有稍许差异看具体情况操作(当前使用的2021.3.3版本在左下角、左上角操作)VSCode:下载安装插件(Git History、GitLens — Git supercharged)后即可使用HBuilderX:官方插件商城下载安装(easy-git Git源代码管理工具),另外要去下载Git插件依赖的(TortoiseGit)工具
8)历史记录查看版本历史记录(最新提交的记录前会有 HEAD -> master 的标记)=> git log查看历史操作记录=> git reflog
9)文件删除手动将工作区的index.css文件删除=> git status(提示有文件被删除了,但这里的删除并没有在本地仓库中删除index.css文件)/* 执行结果:On branch masterChanges to be committed:(use "git restore --staged <file>..." to unstage)deleted:    css/index.css */怎样删除本地仓库中的文件?因为这个操作也算是在修改文件,所以同样提交暂存 ->修改本地仓库=> git add .=> git commit -m '删除css文件'/* 执行结果:[master 2a7f5cd] 删除css文件1 file changed, 3 deletions(-)delete mode 100644 css/index.css */或也可不用以上两步操作,直接使用指令git rm 文件名(删除工作区文件,并且也从暂存区删除对应记录)=> git rm index.html=> git commit -m '删除index.html文件'
10)停止跟踪操作:新建了test.html文件以下两步操作完成后,文件就会一直处于被跟踪状态,一旦文件发生变化就会被发现=> git add . (提交到暂存区)=> git commit -m '新增test.html文件' (提交到本地仓库)指定某个文件停止跟踪(文件变更的内容将停留在停止跟踪之前)=> git rm --cached test.html如果停止跟踪之后,又希望再次跟踪(文件内容为最新的文件内容)=> git add .=> git commit -m '提交test.html文件'
11)版本回退每次提交之后就会生成当前版本,如果出现错误,可以回退到指定版本(但会导致在它之后提交的记录都消失)语法:git reset 版本号git reset --hard 版本号 (不加hard回退的时候,仅回到暂存区;加上hard回到工作区)操作:查看当前提交的记录,选择回退到哪个版本=> git reflog=> git reset --hard 3bd00d8
12)可以仅仅撤销某一次版本的操作(最好是最近一次)创建1.html -> git add -A -> git commit -m '添加1.html文件'创建2.html -> git add -A -> git commit -m '添加2.html文件'创建3.html -> git add -A -> git commit -m '添加3.html文件'查看操作记录,将要撤销的版本号复制(前7位:5c43a43)=> git reflog撤销某次版本的操作(结果就是将第三步创建的3.html删除)=> git revert 5c43a43其它指令(撤销指定版本,撤销上一次,撤销上上次,撤销上上上次)=> git revert 版本号=> git revert HEAD=> git revert HEAD^=> git revert HEAD~3

本地仓与远程仓关联

仓库类型:
1)github(国外)
2)gitee(码云,国内,与github类似)
3)自建服务器(保密,可以上传机密文件)

1)直接克隆clone远程仓库中有的项目(语法:git clone 远程端url)拉取下来的文件有一个隐藏的.git文件夹,这是版本库,因此不需要再初始化=> git clone https://gitee.com/limengyue7/uni-demo.git
2)关联远程端与本地端可以在上传到远程仓库的时候最后检查一下是否还有需要提交的文件(=> git status)之后再进行下一步操作语法:git remote add remoteName(自定义的,通常是origin) url相关指令:git remote (查看本地仓库关联的远程仓库)git remote -v (列出关联的远程仓库详细信息)=> git remote add origin https://gitee.com/limengyue7/uni-demo.git
3)将远程仓库同步到本地git pull (拉取代码并和本地代码合并,一般直接使用git pull)语法:git pull 远程主机名 远程分支名:本地分支名还可以使用rebase模式进行合并,有更好的代码提交树语法:git pull --rebase 远程主机名 远程分支名:本地分支名拉取合并指令:git pull --rebase origin master (将远程端的master与当前本地的master合并)git pull --rebase origin master:dev (将远程端的origin的master分支拉取下来和本地的dev分支合并)(master)=> git pull --rebase origin master
4)将本地仓库推送到远程仓库语法:git push 远程主机名 本地分支名:远程分支名git push origin master (将本地master推送到远程的master上)git push origin dev:dev (将本地dev分支推送到远程端的dev上)git push -u origin master (一般第一次推送的时候加上 -u)-u是为了方便以后的推送只需要写git push不用写后面的origin master-u的意思是将本地的master和远程的master进行关联,关联一次就好了,以后直接git push=> git push -u origin master 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/406090.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言小tip之整型提升

今天让我们来学习一下C语言中的一个小知识点-----整型提升 什么叫整型提升呢&#xff1f; C语言中整型算术运算总是至少以缺省&#xff08;默认&#xff09;整型类型的精度来进行的。​为了获得这个精度&#xff0c;表达式中的字符和短整型操作数在使用之前被转换为普通整型&a…

基于机器学习的二手房房价数据分析与价格预测模型

有需要本项目的可以私信博主&#xff0c;提供远程部署讲解 本研究聚焦重庆二手房市场&#xff0c;通过创新的数据采集和分析方法&#xff0c;深入探讨影响房价的关键因素&#xff0c;并开发了预测模型。 我们首先利用Python编写的爬虫程序&#xff0c;巧妙规避了链家网站的反…

环境配置1-MobaXterm服务器中Anaconda、Pytorch的安装

①登录 Login as 输入密码时密码不显示&#xff0c;正常输入即可 ②进入指定的下载目录 出现类似界面后&#xff0c;键盘操作Ctrlc即可进行输入 cd / …….(要下载到的目录名称)/ Anaconda的安装 ①输入wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux…

基于Java的小区物业管理系统设计与实现

TOC springboot596基于Java的小区物业管理系统设计与实现--论文 研究背景 小区物业管理系统主要通过计算机网络&#xff0c;对小区物业管理系统所需的信息进行统一管理&#xff0c;方便用户随时随地进行增添、修改、查询、删除各类信息。本系统极大的促进了系统与数据库管理…

【Kubernetes】k8s集群之包管理器Helm

目录 一.Helm概述 1.Helm的简介 2.Helm的三个重要概念 3.Helm2与Helm3的的区别 二.Helm 部署 1.安装 helm 2.使用 helm 安装 Chart 3.Helm 自定义模板 4.Helm 仓库 每个成功的软件平台都有一个优秀的打包系统&#xff0c;比如Debian、Ubuntu 的 apt&#xff0c;RedH…

如何构建和使用“无审查”模型

一些已经构建好的“无审查”模型 https://huggingface.co/ehartford/WizardLM-30B-Uncensored https://huggingface.co/ehartford/WizardLM-13B-Uncensored https://huggingface.co/ehartford/WizardLM-7B-Uncensored https://huggingface.co/ehartford/Wizard-Vicuna-13B-…

3.js - 使用着色器实现各种图形

有更多案例&#xff0c;私我 main.js import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls import * as dat from dat.gui import { GUI } from three/examples/jsm/libs/lil-gui.module.min.js// ts-ignore import basi…

Prometheus3: 监控CPU

1. 查看监控CPU所需的key [rootlocalhost node_exporter]# curl http://localhost:9100/metrics | grep -i node_cpu | head% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 …

03、Redis实战:商户查询缓存、缓存更新策略、缓存穿透、缓存雪崩、缓存击穿

2、商户查询缓存 2.1 什么是缓存? 什么是缓存? 就像自行车,越野车的避震器 举个例子:越野车,山地自行车,都拥有"避震器",防止车体加速后因惯性,在酷似"U"字母的地形上飞跃,硬着陆导致的损害,像个弹簧一样; 同样,实际开发中,系统也需要"避震器&qu…

初阶数据结构之计数排序

非比较排序 计数排序 计数排序⼜称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应⽤。 操作步骤&#xff1a; 1&#xff09;统计相同元素出现次数 2&#xff09;根据统计的结果将序列回收到原来的序列中 #include "CountSort.h" void Count(int* arr, int n)…

线段树-点修区查

翻博客的时候突然发现线段树好像一个没有&#xff0c;我就准备把线段树给讲一下 分三个章节 点修区查 区修区查 区修区查&#xff08;带乘法&#xff09; 今天这一章比较简单&#xff0c;最多就区查稍微要动一点脑子 题目简介 输入n和m&#xff0c;n代表数的个数&#x…

读软件开发安全之道:概念、设计与实施05模式(上)

1. 模式 1.1. 模式分类 1.1.1. 设计属性 1.1.2. 暴露最少信息 1.1.3. 冗余 1.1.4. 强力执行 1.1.5. 信任与责任 1.1.6. 反模式 1.2. 模式可以缓解或者避免很多种类的风险&#xff0c;它们可以形成一个重要的工具箱&#xff0c;帮我们解决潜在的安全威胁 1.3. 不需要为…

学习设置echarts 折线图使用相关参数的方法整理

学习设置echarts 折线图使用相关参数的方法整理 折线图堆叠设置为不堆叠的方法 折线图堆叠设置为不堆叠的方法 官网是这样的&#xff0c;但是不需要这种堆叠形式的如下图&#xff1a; 第2条数据值 第1条数据值 第2条数据值 第3条数据值 第2条数据值 第3条数据值 需要改成…

C语言高手参考手册:函数进阶技巧

[大师C语言]合集&#xff3b;大师C语言(第一篇)&#xff3d;C语言栈溢出背后的秘密&#xff3b;大师C语言(第二十五篇)&#xff3d;C语言字符串探秘&#xff3b;大师C语言(第二篇)&#xff3d;C语言main函数背后的秘密&#xff3b;大师C语言(第二十六篇)&#xff3d;C语言结构体…

汽车管理 API 接口:开启高效车辆运营新时代

API&#xff08;Application Programming Interface&#xff09;是一种接口&#xff0c;用于不同软件之间的通信。在汽车管理领域&#xff0c;API的应用可以帮助提升车辆运营的效率&#xff0c;让车主和车辆管理者更方便地获取车辆相关信息&#xff0c;进行保养和维修等工作。本…

Linux yum提示Error downloading packages

很明显的错误&#xff0c;没有考虑过磁盘空间&#xff0c;记录一下。 Error downloading packages:gcc-4.8.5-44.el7.x86_64: Insufficient space in download directory /var/cache/yum/x86_64/7/base/packages* free 0 * needed 16 M使用du查看当前目录下所有文件大小 du …

黑马头条vue2.0项目实战(十一)——功能优化(组件缓存、响应拦截器、路由跳转与权限管理)

1. 组件缓存 1.1 介绍 先来看一个问题&#xff1f; 从首页切换到我的&#xff0c;再从我的回到首页&#xff0c;我们发现首页重新渲染原来的状态没有了。 首先&#xff0c;这是正常的状态&#xff0c;并非问题&#xff0c;路由在切换的时候会销毁切出去的页面组件&#xff…

HBase原理和操作

目录 一、HBase在Zookeeper中的存储元数据信息集群状态信息 二、HBase的操作Web Console命令行操作 三、HBase中数据的保存过程 一、HBase在Zookeeper中的存储 元数据信息 HBase的元数据信息是HBase集群运行所必需的关键数据&#xff0c;它存储在Zookeeper的"/hbase&quo…

数据结构——链式队列和循环队列

目录 引言 队列的定义 队列的分类 1.单链表实现 2.数组实现 队列的功能 队列的声明 1.链式队列 2.循环队列 队列的功能实现 1.队列初始化 (1)链式队列 (2)循环队列 (3)复杂度分析 2.判断队列是否为空 (1)链式队列 (2)循环队列 (3)复杂度分析 3.判断队列是否…

【具体数学 Concrete Mathematics】1.1.2 平面上的直线

【具体数学 Concrete Mathematics】1.1.2 平面上的直线