Git基本操作与分支

server/2024/10/11 3:02:50/

一、操作入门

先看大屏幕:先背过

再来操作

初始化

刚入门的小朋友可能出现这种问题:

原因是:需要自己创建一个记事本文件

add的作用是添加指定文件到暂存区。

commit是提交暂存区到仓库区,此处的仓库是本地仓库,本地仓库也是版本库

版本库:

what:包含项目所有的版本历史

where:存储在 .git 目录中,它包含了所有提交的对象和引用

为什么要add到暂存区?

第一次查看status,显示有变更的文件。

在对文件增加第二行后,status,出现了修改的提示,是未被提交的修改。

这里的操作是:

  1. 修改完文件后,先status查看,发现修改了

  2. 忽略了add

  3. 直接commit

  4. 再次status查看

结果是文本已更新,但是显示暂存区没有东西提交

直接执行 git commit,Git 会检查暂存区。此时的暂存区是空的,返回一个错误

工作目录是干净的,没有未提交的更改,因为没有文件被添加到暂存区。有未跟踪的文件存在,你需要使用 git add 命令来跟踪这些文件。

那么,什么是暂存区呢?为什么会出现暂存区呢?

暂存区——在对项目文件进行修改后,这些修改并不会立即被提交到版本库中。

存在的目的,是你需要将这些修改先添加到暂存区,出去暂存区的文件可以及时进行修改删除,回退,经过检查后将其作为一个整体提交到版本库中。

添加指定文件到暂存区

git add [file1] [file2] ...

添加指定目录到暂存区,包括子目录

git add [dir]

添加当前目录的所有文件到暂存区

git add .

添加每个变化前,都会要求确认

对于同一个文件的多处变化,可以实现分次提交

git add -p

删除工作区文件,并且将这次删除放入暂存区

git rm [file1] [file2] ...

停止追踪指定文件,但该文件会保留在工作区

git rm --cached [file]

改名文件,并且将这个改名放入暂存区

git mv [file-original] [file-renamed]

添加了第三行后,status

提交成功。

我们要把修改的内容提交到版本库

what:版本库是做什么的,受版本控制的所有文件修订历史的共享数据库

tip:

修订(Revision)
表示代码的一个版本状态。Git通过用SHA1 hash算法表示的ID来标识不同的版本

why:这里涉及一个Git的版本控制

二、通观全局识Git

这是Git在本地仓库的基本操作过程。

 

三、分支

分支中,我们主要进行一下几个操作

创建/切换分支

 git branch [branch-name] 

 git checkout [branch-name] 

 合并分支

 git merge [branch-name] 

删除分支

 git branch -d [branch-name] 

查看分支

 git branch 

实践一下——关于分支冲突

  1. 创建见一个分支
  2. 查看所有分支——*代表当前分支

后面蓝色括号里也是当前分支

  1. 在dev分支上操作(注意在修改完文件后,一定要记得保存。)

  1. 在master分支上操作

  1. 合并分支产生了冲突

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>dev 是指分支上修改的内容

  1. 运行git add命令,将修改后的文件添加到暂存区;在使用git commit -m"解决合并冲突"命令提交合并。若有多个分支,采取逐个合并,逐个解决冲突的方式。

  1. 合并被提交后,使用git push origin推送到远程仓库。

 

总结 

        林林总总大概花了一周的时间,算是把Git学完了,其实Git不是很难,大家不要把他想得很复杂,弄清楚他的底层原理,明白他是要干什么,为什么会有这个东西,他和谁一起在使用,以及我们要达成什么样的目的,就清晰明了了。

        建议大家边操作,边学习,一个部分学习完了,自己做一下思维导图,就十分清晰了,我相信这个三天就可以学完了。

好久没有写博客了,这次的开始,很激动!


http://www.ppmy.cn/server/129909.html

相关文章

Word页眉内容自动填充为章节标题

Word页眉内容自动填充为章节标题 在写毕业论文的过程中&#xff0c;通常要求将页眉设置为章节标题&#xff0c;例如这样 通常&#xff0c;页眉内容我们都是手敲上去的&#xff0c;其实在Word中可以设置为自动引用章节标题&#xff0c;以下为设置方法&#xff0c;仅供参考&…

【华为HCIP实战课程七】OSPF邻居关系排错MTU问题,网络工程师

一、MTU MUT默认1500,最大传输单元,一致性检测 [R3-GigabitEthernet0/0/1]mtu 1503//更改R3的MTU为1503 查看R3和SW1之间的OSPF邻居关系正常: 默认华为设备没有开启MTU一致性检测! [R3-GigabitEthernet0/0/1]ospf mtu-enable //手动开启MTU检测 [SW1-Vlanif30]ospf mtu…

JSONL 文件的检查和修订器

下面是一个JSONL 文件的检查和修订器,代码如下: import json import tkinter as tk from tkinter import filedialog, messageboxdef check_jsonl_file(input_file, log_file, output_file=None):errors = []valid_lines = []with open(input_file, r, encoding=utf-8) as in…

360 度评估的优缺点

什么是 360 度评估&#xff1f; “360 度评估是一种人才培养工具&#xff0c;用于为接受者提供全方位的反馈&#xff0c;这通常包括来自他们直接下属的向上反馈、来自与他们密切合作的同事的反馈&#xff0c;以及来自他们经理的向下反馈。” 通常&#xff0c;360 度评估是匿名…

JavaScript中的with语句详解

参考链接&#xff1a;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/with 注&#xff1a;该属性已被W3C废弃&#xff0c;请谨慎使用。 作用 当我们想快速访问一个对象上的属性时&#xff0c;可以简化代码 语法 with (expression) statem…

SQL自学:什么是SQL的聚集函数,如何利用它们汇总表的数据

在 SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;中&#xff0c;聚集函数也称为聚合函数&#xff0c;是对一组值进行计算并返回单一值的函数。 一、常见的聚集函数及功能 1. AVG()&#xff1a;用于计算某一列的平均值。 例如&#xff0c;…

JavaGuide(3)

一、项目背景与简介 JavaGuide由GitHub用户Snailclimb开发并维护&#xff0c;是一个全面而深入的Java学习资源库。它旨在为Java初学者和有经验的开发者提供一个系统的学习路径和丰富的资源&#xff0c;帮助他们系统地学习和巩固Java及相关技术知识。 二、项目内容与特点 Jav…

jmeter学习(4)提取器

同线程组https://blog.csdn.net/vikeyyyy/article/details/80437530 不同线程组 在JMeter中&#xff0c;正则表达式提取的参数可以跨线程组使用。 通过使用Beanshell后置处理器和属性设置函数&#xff0c;可以将提取的参数设置为全局变量&#xff0c;从而在多个线程组之间共享…