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

git操作

    1. git仓库的工作流程

从一般开发者的角度来看,使用Git的工作流程是:

  1. 克隆远程库:从远程库上克隆完整的Git仓库(包括代码和版本信息)到本地;
  2. 在本地库上修改代码:在本地库上根据不同的开发目的,创建分支,修改代码;
  3. 提交到分支:在本地分支上提交代码;
  4. 把修改合并到本地主分支:在本地库上提交更新,也就是说,把修改合并到本地主分支;
  5. 把远程库合并到本地主分支:把远程库上的最新代码fetch下来,跟本地主分支合并,如果存在冲突,那么解决冲突。
  6. 把本地主分支提交到远程库:生成补丁(patch),把补丁发送给远程库。

  1. Git的命令
    1. 创建版本库

创建一个版本库也非常简单,如下我是D盘下 目录下新建一个testGit版本库。

右键通过命令行的方式打开窗口

pwd 命令是用于显示当前的目录。

通过命令 git init 把这个目录变成git可以管理的仓库,如下

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。.git里面内容如下:

    1. 添加文件和修改提交文件

首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

  1. 创建文件readme.txt, 此刻文件在工作区(WorkSpace)

通过git status可以查看文件追踪的情况

  1. 使用命令 git add readme.txt添加到暂存区里面去。

我们发现添加到暂存区的时候会有警告出现。不过没关系,是换行符的警告。

我们可以看到readme.txt目前处于暂存区。

如果要提交多个文件

我们可以在add后面指定文件的列表

git add test2.txt test3.txt

如果想要添加工作区所有文件到暂存区

git add .

我们可以通过提示的话来撤销回工作区

git rm --cached readme.txt

  1. 提交文件到主分支

git commit -m 'first commit'

现在我们已经提交了一个readme.txt文件了,我们下面可以通过命令git status来查看是否还有文件未提交

注意:注释是必须要写的。

  1. 修改文件,在文件中加入一行。查看git的状态

我们发现文件进入到工作区

最新版本改成了

git restore test3.txt

此刻我们发现界面上有两个提示:

    1. 提交修改后的文件

    1. 通过checkout上一个版本的文件来覆盖修改后的文件

git checkout -- readme.txt

  注意 :--后面要有空格

http://www.dtcms.com/a/63311.html

相关文章:

  • MAC查看自己真实IP命令
  • LINUX网络基础 [九] - IP协议
  • C语言_数据结构总结5:顺序栈
  • vue3自定义hooks遇到的问题
  • AIOPS架构师路径
  • Maven 私服 Nexus 简单使用
  • SSH 安全致命漏洞:渗透路径与防御策略
  • Python的文件
  • 使用dockerfile创建镜像
  • Ray|RLLib|Tune学习笔记
  • Windows10下docker desktop命令行操作指南(大部分也适用于Linux)
  • cu118 安装vllm 极简教程 踩坑笔记
  • PostgreSQL_安装部署
  • 基于ShuffleNet的雷达辐射源信号识别
  • 2.1 掌握XML基础知识
  • ASE5N20-ASEMI智能家居专用ASE5N20
  • 机器人交互系统 部署构建
  • 《苍穹外卖》SpringBoot后端开发项目核心知识点整理(DAY1 to DAY3)
  • 怎么删除百度搜索下拉框里的搜索引导词
  • 如何像Manus一样构建智能体
  • 【Spring】基础/体系结构/核心模块
  • Oracle比较好的几本书籍
  • Java网络编程初阶
  • 解决jsch远程sftp连接报错:Exception:Algorithm negotiation fail
  • 通过 ElasticSearch的Python API和`curl` 命令获取Elasticsearch 所有索引名称
  • 大模型开源的工具包有哪些特殊符号可以使用;SEP 是什么
  • GitLab的Dockerfile 追踪
  • linunx ubuntu24.04.02装libfuse2导致无法开机进不了桌面解决办法
  • 版本控制器Git(1)
  • 虚幻C++插件胚胎级入门 | Slate Widget开发