Git使用详细教程

news2024/11/27 17:53:20

1. cmd面板的常用命令

  • clear:清屏
  • cd 文件夹名称----进入文件夹
  • cd … 进入上一级目录(两个点)
  • dir 查看当前目录下的文件和文件夹(全拼:directory)
  • Is 查看当前目录下的文件和文件夹
  • touch 文件名----创建文件
  • echo 内容 > 创建文件名----创建文件并写入内容
  • rm 文件名----删除文件
  • mkdir 文件夹名称----创建文件夹 mk:make
  • rmdir 文件夹名称----删除文件夹 rm:remove
  • cat 文件名----查看文件内容 :cat .git/HEAD
  • cat 1.txt >> 2.txt 将文件1.txt内容写入到2.txt

2. VIM常用命令

  • i 表示编辑模式
  • esc键 表示退出编辑模式
  • :wq! 表示保存文件并关闭文件
  • vim 文件名 打开文件

git的流程图

请添加图片描述

3. Git和GitHub基础操作(参考资料)

git入门
git常用命令大全
git原理及使用
git工作开发流程
Git Code Review设置与使用
腾讯工工蜂使用文档

4. git安装

1.在终端,检查git是否安装
git --version
2.没有安装的话去,官网,下载git
3.一直点下一步即可
4.安装后在终端检查git是否安装好
5.设置用户名和邮件地址(最好和GitHub的用户名/邮箱保持一致)
git config --global user.name “自己的用户名”
git config --global user.email “自己的邮箱”
#检查是否配置成功
git config --global --list

5. git工作流程图

请添加图片描述

6. 仓库的概念以及如何创建

概念:仓库是源代码的管理中心,每一个项目都会存入对应的仓库,该仓库会对源代码进行管理以及对项目进度进行管理

创建仓库:
1.登录GitHub
2.登录后,页面右上角点击头像
请添加图片描述
3.进入仓库首页,在右上角点击new按钮
请添加图片描述
4.进入新仓库创建页面(仓库命名要求:不能使用中文 ,不能使用大写字母 ,复杂名称使用中横线连接)
请添加图片描述

7. 如何上传代码到GitHub

1.在本地创建项目文件夹test-demo
2.在test-demo文件夹下,创建demo.html/demo.css/demo.js请添加图片描述
3.在根目录下,创建.gitignore文件,用于设置忽略文件,不需要git管理的文件

#直接书写需要被忽略的文件名或者文件夹名称
1.txt

4.打开终端,进行git仓库初始化

git init

请添加图片描述
5.在终端,添加git仓库追踪文件

git add .

6.在终端,提交本地源代码到本地仓库

git commit -m “第一次提交git测试代码”

7.查看本地仓库状态

git status

8.通过https协议,将 本地仓库(在自己电脑上) 和 远程仓库(在github网站上) 进行连接

git remote add origin https://github.com/Ocean490724726/test-demo.git
#查看远程分支
git remote -v
#删除远程分支
git remote rm origin

9.将本地仓库代码 push到 远程仓库(此时可能提示输入用户名和密码:指的是github上的)

git push -u origin master
#以上完整写法:git push --set-upstream origin master:master
#表示1.将代码从本地下流master分支 推送到 远程上流分支master
#表示2:下流master和上流master建立连接,以后直接使用git push即可,默认推送到上流master分支

第一次push之后,输入远程仓库的用户名和密码提示(之后就不会提醒了)请添加图片描述
代码push远程仓库成功提示请添加图片描述

8. 如何将远程仓库代码拉到本地

1.克隆

git clone 远程仓库地址 【本地仓库名称】
git clone https://git.code.tencent.com/git-class-001/git-test.git

9.独自使用git的基本操作

查看提交记录
  • git status 查看当前分支状态
  • git log 查看当前提交记录
  • 结束git log命令:英文状态下按Q就可以了

10.想要修改项目中的文件时,如何进行操作?

1.查看当前分支状态
2.根据两种情况:

  如果都在工作区,未被追踪,
  或者有些在工作区,有些在暂存区(add了)
   git add .

3.此时都在暂存区

  git commit -m “”

4.如果都在本地仓库

  git push -u origin master

11.删除不需要的文件时,如何操作

1.查看当前分支状态

  git status

2.手动删除或者命令行删除文件

  #手动删除:
  命名行删除文件,可以直接进入git commit -m “”
  git rm 文件名

3.查看当前分支状态

  git status

4.追踪修改(命令行删除文件可以跳过该步骤)

  git add .

5.查看当前分支状态

  git status

6.提交修改

  git commit -m “”

7.查看当前分支状态

  git status

12.想要给文件重命名时,如何操作?

  手动重命名

1.查看分支状态

  git status

2.删除重命名前的文件名

  git rm test1.html

3.追踪重命名后的文件名

  git add demo.html

4.查看状态

  git status

5.提交

  git commit -m “手动重命名”

6.查看提交记录

   git log
——————————————————————————————————
  命令行重命名(推荐)

1.重命名

  git mv 原文件名 新文件名
  git mv demo.html test1.html

2.查看状态

  git status

3.提交

  git commit -m “命令行重命名”

4.查看提交记录

  git log

13.想要移动文件到其他位置时候,如何操作

  移动文件,并重命名

1.查看状态

  git status

2.移动文件,并重命名

  git mv 原文件名称 文件夹名/新文件名
  git mv ./test2.html ./home/home2.html

3.查看状态

  git status

4.提交

  git commit -m “移动文件,并重命名”

5.查看状态和提交记录

  git status
  git log
//结束查看log
  q

14. 独自使用git的常见问题及解决方法

文件有变化时,如何查看文件前后变化
方式一:

1.查看指定文件的所有被修改记录

  git log --pretty=oneline home/home2.html

2.根据上面返回的commitId,查看某一次修改详情

  #git show 上面获取的commitid
  git show c1b64f1eb07c3a024957156fc7590fda7676996d

方式二:直接查看

git log -p home/home2.html
q

15.操作失误的情况下,如何实现一键还原到上一次提交状态

所有修改文件都是工作区状态下,撤销修改操作,一键还原

1.查看当前文件状态

  git status

2.一键还原操作失误文件

  git checkout – 文件名
  git checkout – * 一键还原所有文件的操作
  git checkout – test.html test3.html home/test1.html

16. 不再追踪时如何实现撤销追踪操作

当文件已经被add了,处于暂存区,撤销追踪操作

1.查看当前文件状态

  git status

2.撤销追踪操作

  git reset HEAD 文件名
  git reset HEAD test3.html
  本次add的文件撤销到工作区
  git reset HEAD *

3.一键还原到上次提交状态

  git checkout – test3.html

17. 想要回到上一版本或者指定版本时如何进行操作

1.在根目录下,创建version.html 和 v.html两个文件,添加内容(h1 版本1 /h1)视为”版本1“,并提交

  git add .
  git commit -m “版本1”
  git status
  git log --pretty=oneline

2.将内容改为“版本2”,追踪并提交

  git commit -am “版本2”
  git status
  git log --pretty=oneline
执行git commit -am "提交描述"即可将add和commit操作合并, 不需要先git add file 再 git commit -m “提交描述” 了

3.按照第二步骤,继续提交版本3,版本4,版本5

  不要忘记修改h1标签里的内容

4.查看所有历史记录

git log --pretty=oneline

5.回到上一版本,已经提交,没有push

#git reset --soft 上一个commitID 撤销commit
  git reset --soft 版本4的commitID # 撤销版本5的commit

#git reset --mixed 上一个commitID 两个动作
  git reset --mixed 版本4的commitID 撤销版本5的commit和add两个动作

#撤销并舍弃版本号之后的所有提交记录,使用需要谨慎!!!
#撤销后,工作区是版本4的代码,版本5丢失了,谨慎使用!!!
  git reset --hard HEAD^
#回到上两个版本
  git reset --hard HEAD^^
#回到上三个版本
  git reset --hard HEAD~3
#方式二:通过commit id的前7位,回到指定版本(往前/往后都可以)
  git reset --hard 473233

6.已经提交,且push

#由于远程仓库版本号为版本5 低于 本地仓库版本4 ,不需要push,拒绝push
  git reset --hard 版本4的commitID
#撤销,但是保存了提交记录
  git revert 当前的版本5的commitID # commitID是最新提交的commitID,
#再进行push到远程仓库
  git push

7.查看当前状态

git status

累了,明天再更新

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于udp实现回显服务器,翻译服务器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 udp socket 要掌握的类: 1.DatagramSocket 2.DatagramPacket 一、udp版本回显服务器 服务端: 完整代码 客户端: 完整代码 udp版本翻译…

Spring注入和生命周期

目录 获取Bean对象(对象装配) 属性注入 构造注入 Setter注入 三种注入的优缺点分析 注入的注解: 一个类型多个bean对象的注入方式 1.让变量名等于bean的id 2.用Resource注解(name“bean的id”) 3.用Qualif…

Java 核心技术 0 —— Class加载 和 运行时数据区域

JVM 是 字节码的运行环境,负责装载class到JVM内部,解释编译为对应平台的机器码指令进行执行,对于JVM设计有权威的定义规范,了解 JVM 类加载各部的主要功能 和 运行时数据区域组成 很有意义。 磁盘上有一个.java文件,通…

【目标检测】swin-transformer训练自己的数据集

文章目录1. 数据集的制作1.1. Labelme制作数据集1.2 COCO数据集格式2. 配置swin-transformer3. 训练自己的数据集4. 训练5.参考链接1. 数据集的制作 1.1. Labelme制作数据集 pip install labelme然后在桌面搜索框中找到labelme,然后打开,或者直接在命令…

Python 工匠 第一章 变量与注释

1.1 基础知识 1.1.1 变量常见用法 Python 是一门动态类型的语言,因此无须提前声明变量类型;并且由于其是弱类型语言,即可以更改其变量类型。动态类型语言/弱类型语言 a 10 # 不需要提前声明变量类型 a "a" # 可以更改其变量类…

【架构师】解决方案架构师常用的5种类型架构图

0. 背景 在给不同部门的同学讲解系统时,如果用手势解释解决方案,还有很多“这块和这块通过...”在解释复杂的概念时,大部分人都会晕。我们需要一个视觉效果。有人说一个架构图不就行了吗?但架构图不是一个“放之四海而皆准”的解决…

一、springcloud-eureka服务注册与发现

SpringCloud简介 Spring Cloud 为开发者提供了工具来快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话,集群状态)。分布式系统的协调导致了样板…

04 Vue属性配置

1、ref属性 App.vue代码&#xff1a; <template><div><h1 v-text"msg" ref"myTitle"></h1><button click"showDom">点我输出上方的DOM元素</button><school ref"school" id"sch"/&…

Node.js | Express+MongoDB 实现简易用户管理系统(一)(项目搭建 | RESTful API架构 | 前后端交互)

&#x1f5a5;️ NodeJS专栏&#xff1a;Node.js从入门到精通 &#x1f5a5;️ 博主的前端之路&#xff08;源创征文一等奖作品&#xff09;&#xff1a;前端之行&#xff0c;任重道远&#xff08;来自大三学长的万字自述&#xff09; &#x1f5a5;️ TypeScript知识总结&…

【javaEE】多线程进阶(Part1 锁策略、CAS、synchronized )

目录前言/补充4. 描述一下线程池的执行流程和拒绝策略有哪些&#xff1f;【面试题&#xff01;】一、常见锁策略一&#xff09;乐观锁VS悲观锁二&#xff09;读写锁VS普通互斥锁三&#xff09;重量级锁VS轻量级锁四&#xff09;自旋锁VS挂起等待锁五&#xff09;公平锁VS非公平…

Vue框架背后的故事

文章目录前言Vue萌芽Vue名字的由来因着Vue免试进入MeteorVue逐步完善Taylor推荐VueVue因受质疑发布1.0LinusBorg加入萌生全职做Vue想法Vue在恰到好处的时机出现探索经济来源Serah Drasner加入全职投入Vue建设Vue引入国内Vue受拥国内Vue在决策背景方面的独有优势总结本期推荐前言…

JVM垃圾回收系列之垃圾收集器二

随笔 最近两个星期因为要忙公司项目上线的事情以至于发表的文章会显得碌碌庸流&#xff0c;在此以示歉意 引言 本文将介绍HotSpot中的G1GC 参考书籍&#xff1a;“深入理解Java虚拟机” 个人java知识分享项目——gitee地址 个人java知识分享项目——github地址 G1GC 介…

双向链表的操作

什么是双向链表&#xff1f; 指针域&#xff1a;用于指向当前节点的直接前驱节点&#xff1b; 数据域&#xff1a;用于存储数据元素。 指针域&#xff1a;用于指向当前节点的直接后继节点&#xff1b; typedef struct line{struct line * prior; //指向直接前趋&#xff0c;结…

超级简单的机器学习入门

超级简单的机器学习入门 文章目录超级简单的机器学习入门0.写在前面1.机器学习基本概念2.机器学习算法的类型2.1 监督学习2.2 无监督学习2.3 监督学习和无监督学习的对比2.4 强化学习3.机器学习的三个基本要素3.1 模型3.2 学习准则3.2.1 损失函数3.2.2 欠拟合和过拟合&#xff…

MySQL数据库 || 增删改查操作详解

目录 前言&#xff1a; 插入数据 查询数据 全列查询 指定列查询 带表达式查询 去重查询 查询结果排序 条件查询 比较运算符 逻辑运算符 示例 模糊查询 示例 空值比较 分页查询 修改数据 删除数据 注意&#xff1a; 前言&#xff1a; &#x1f388;增删改查…

Flutter——常用布局

Flutter—常用布局效果图widget 树形图左布局Text评分条提示内容右布局应用Stack布局效果图释示例效果图释电影封面电影信息电影演员电影简介应用效果图 widget 树形图 整个界面由一行组成&#xff0c;分为两列&#xff1b;左列包括电影介绍&#xff0c;由上到下垂直排列&…

java计算机毕业设计ssm+jsp线上授课系统

项目介绍 通篇文章的撰写基础是实际的应用需要&#xff0c;然后在架构系统之前全面复习线上授课的相关知识以及网络提供的技术应用教程&#xff0c;以线上授课的实际应用需要出发&#xff0c;架构系统来改善现线上授课工作流程繁琐等问题。不仅如此以操作者的角度来说&#xf…

【JavaSE】关于数组

文章目录数组的创建与初始化数组的初始化静态初始化动态初始化数组的存储null打印数组的三种方式循环遍历打印foreach打印Arrays.toString()打印数组的练习冒泡排序常用的API数组拷贝Arrays.copyOf()数组排序Arrays.sort()数组的快速初始化Arrays.fill()二维数组数组的创建与初…

mysql之MHA的高可用

一、MHA概述 1.什么是 MHA&#xff1a; MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点故障的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作…

1分钟完成在线测试部署便捷收集班级同学文件的web管理系统

最近CSDN推出了一个新功能【云IDE】&#xff0c;个人对这个新功能(比赛奖金 )挺感兴趣的&#x1f92d;&#xff0c;于是瞬速地拿之前自己搞的一个便捷收集班级同学文件的web管理系统&#xff08;下面简称该项目为cfile&#xff09;体验了一下&#xff0c;发现功能还是挺好用的&…