git的基础操作

news2024/12/26 10:50:48

git的基础操作

一、Git理论

(一)工作区域

基本概念:

  • 工作区:平时存放项目代码的地方。

  • 暂存区(Stage/Index):暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到 文件列 表信息

  • 版本库:又称本地仓库,这个不算工作区,而是 Git 的版本库,里面有你提交到所有版本的数据。

  • 远程仓库:托管代码的服务器


(二)工作流程

  1. 在工作目录中添加、修改文件;

  2. 将需要进行版本管理的文件放入暂存区域;

  3. 将暂存区域的文件提交到git仓库。 因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed


二、基础操作

日常使用命令:

在这里插入图片描述

  1. 先更新远程仓库 (防止其他人更新过项目)

  2. 把本地修改好的文件推送到本地仓库

  3. 再把本地仓库推送到远程仓库


(一)Git基础配置

  1. 生成公钥

    设置绑定SSH公钥,实现免密码登录!

    # 进入 C:\Users\自己的用户名\.ssh   目录
    ssh-keygen -t rsa
    

在这里插入图片描述

#在成功后在终端输入
ssh -T git@gitee.com

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。


  1. 将公钥信息public key 添加到Gitee账户中即可!

在这里插入图片描述


(二)项目上传

  1. 初始化仓库

去到项目的位置,右键选择 Git Bash Here 能快速打开。

# 使用项目目录作为 Git 仓库,我们只需使它初始化。
#该命令执行完后会在当前目录生成一个 .git 目录
git init

  1. 关联远程仓库地址(需要创建在远程仓库上面创建一个空白库存)
#添加远程仓库
git remote add origin 远程仓库链接

# 设置本地分支和远程分支对应上,其中 master是本地分支(默认)
git branch --set-upstream-to=origin/master master

# 更新版本,获取远程仓库的项目新的版本
git pull

在这里插入图片描述



  1. 将本项目本上传到远程仓库

    #提交项目到本地缓存区
    git add .
    
    #提交项目到本地仓库中,并添加提交信息
    git commit -m "第一次提交"
    
    #表示将远程origin主机的master分支拉取过来和本地的当前分支进行合并
    #git pull <远程主机名> <本地分支名>
    git push origin master
    

(三)其它基础命令

#克隆远程仓库项目
git clone  远程仓库链接

#回退版本
git reset

#下载远程代码并合并
git pull 

#提交到远程代码并合并
git push

#强制提交到远程仓库
git push -f origin master

三、分支操作

可以理解多线程:主线程在走,不影响子影响。 它们是平行,互不影响。 但是,他们可以进行合并。 在合并的时候就需要做一些处理了。

master主分支应该非常稳定,用来发布新版本, 一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,代码稳定了,再合 并到主分支上来。 比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。


(一)git分支中常用指令

# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
git merge [branch]
# 删除分支
git branch -d [branch-name]
# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

(二)如果同一个文件在合并分支时都被修改了则会引起冲突

解决引起冲突办法:

  1. 把本地冲突文件另保存起来

  2. 还原本地文件版本。

  3. 修改冲突文件后重新提交!

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

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

相关文章

(四)DepthAI-python相关接口:OAK Messages

消息快播&#xff1a;OpenCV众筹了一款ROS2机器人rae&#xff0c;开源、功能强、上手简单。来瞅瞅~ 编辑&#xff1a;OAK中国 首发&#xff1a;oakchina.cn 喜欢的话&#xff0c;请多多&#x1f44d;⭐️✍ 内容可能会不定期更新&#xff0c;官网内容都是最新的&#xff0c;请查…

mapstruct常见错误及解决方案

1 问题集合 mapstruct-jdk8 编译报错 我以前项目使用的是mapstruct-jdk8<1.3.1.Final &#xff0c;现在做改造升级&#xff0c;比如springboot升级等&#xff0c;但是报错了 我们去mvn仓库去看下&#xff1a; Deprecated MapStruct artifact containing annotations to …

Postman之CSV或JOSN文件实现数据驱动

目录 一、适用场景 二、接口信息 三、数据驱动实现 3.1.data.文件设置 3.1.1.data.csv文件设置 3.1.2.data.json文件设置 3.3.接口传参设置 3.4.断言设置 四、执行结果 4.1.data.csv执行脚本上传设置 4.2.data.json执行脚本上传设置​ 4.3.执行结果展示 一、适用场…

12 【操作mongodb数据库】

12 【操作mongodb数据库】 1.简介 1.Mongoose是一个让我们可以通过Node来操作MongoDB的模块。2.Mongoose是一个对象文档模型(ODM)库,它对Node原生的MongoDB模块进行了进一步的优化封装&#xff0c;并提供了更多的功能。在大多数情况下&#xff0c;它被用来把结构化的模式应用…

Stable Diffusion 关键词tag语法教程

Stable Diffusion 关键词tag语法教程 AI绘图在线体验 二次元绘图 在线体验地址:Stable Diffusion 模型包括&#xff1a; NovelAI&#xff0c;NovelAI的模型训练使用了数千个网站的数十亿张图片&#xff0c;包括 Pixiv、Twitter、DeviantArt、Tumblr等网站的作品。 Waifu&am…

Flink系列之大数据分布式计算引擎设计实现剖析

声明&#xff1a; 文章中代码及相关语句为自己根据相应理解编写&#xff0c;文章中出现的相关图片为自己实践中的截图和相关技术对应的图片&#xff0c;若有相关异议&#xff0c;请联系删除。感谢。转载请注明出处&#xff0c;感谢。 By luoyepiaoxue2014 B站&#xff…

MySQL基本语句操作

目录 一. MySQKL基本操作命令&#xff08;增&#xff0c;删&#xff0c;该&#xff0c;查&#xff09; 1.1 基本概述 1.2 查看当前服务器种的数据库 1.3 查看数据库结构​编辑 二.SQL语句 三. 创建及删除数据库和表 3.1 创建新的数据库 3.2 创建新的表 ​3.3 删除指…

c++随机数问题研究

1、问题背景 某项目中有个复杂的排序&#xff0c;先是各种规则依次排序&#xff0c;最后如果依然并列的话&#xff0c;那就随机位置&#xff0c;名次并列。测试中发现一个诡异现象&#xff0c;并列时随机排序但随机后2个case打印的顺序每次都一样&#xff0c;随机数没有起到任…

基于PHP+MySQL个人信息管理系统的设计与实现

随着现代工作的日趋繁忙,人们越来越意识到信息管理的重要性与必要性,而具有个性化特色的个人信息管理系统能够高速有效的管理个人信息,从而提升自己的工作效率。该系统的基本功能包括用户登录,个人信息管理,通信名录管理,日程备忘管理,财物管理,随手笔记管理,修改密码等功能。 …

html+css+javascript+jquery+bootstarp响应式旅行社旅游平台网站模板(14页)

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

[附源码]Python计算机毕业设计SSM考试排考系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

乾元通多卡聚合设备 消防行业应用解决方案

近年来,灭火救援工作呈现出突发性强、处置难度大、作战时间长等特点&#xff0c;如何获取灾害现场的第一手资料为救援行动提供决策依据&#xff0c;如何在处置灾害事故的过程中保证多个消防队伍协同配合、指令畅通&#xff0c;对室外无线环境下的视/音频即时通信&#xff0c;提…

深度学习——池化层笔记+代码

1.对于卷积层来说&#xff0c;卷积对位置比降敏感 ①检测垂直边缘 使用K[-1,1] 的卷积核进行卷积操作&#xff0c;实现垂直边缘信息的检测 如果因为抖动曝光啥的同一个物体&#xff0c;1像素可能往右移位了。K的卷积核就得不到相应位置的边缘信息。 ②需要一定程度的平移不变性…

代码随想录训练营第36天|LeetCode 435. 无重叠区间、763.划分字母区间、 56. 合并区间

参考 代码随想录 题目一&#xff1a;LeetCode 435.无重叠区间 怎么判断重叠 按照题目给出的示例&#xff0c;第一个区间的右边界与第二个区间的左边界重合不算重叠。对于区间问题&#xff0c;一般都要对区间进行排序&#xff0c;可以按照左边界或者右边界排序。按照个人习惯…

[附源码]Python计算机毕业设计Django二手书店设计论文

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

8. 抓到Netty一个隐藏很深的内存泄露Bug | 详解Recycler对象池的精妙设计与实现

抓到Netty一个隐藏很深的内存泄露Bug | 详解Recycler对象池的精妙设计与实现 本系列Netty源码解析文章基于 4.1.56.Final版本 最近在 Review Netty 代码的时候&#xff0c;不小心用我的肉眼抓到了一个隐藏很深很深的内存泄露 Bug。 于是笔者将这个故事....哦不 .....事故&#…

介绍一款特别好用的java反编译工具jd-gui

目录 写在前面 开始 写在前面 之前用过另一款java反编译工具jad 但是这个工具有个问题就是对于一些java8的新特性&#xff0c;比如lambda表达式是解析不出来的&#xff0c;更不用说java9和java17了。关于这款工具的使用方法就不再这里赘述了&#xff0c;如果你感兴趣可以在网…

【JVM】主要组成部分及其作用

大致结构 JVM包含两个子系统和两个组件&#xff0c;两个子系统为Class loader(类装载)、 Execution engine(执行引擎)&#xff1b;两个组件为Runtime data area(运行时数据 区)、Native Interface(本地接口)。 Class loader(类装载)&#xff1a;根据给定的全限定名类名(如&…

跳槽有技巧?超强测试开发面试经验等你pick

每一次跳槽&#xff0c;相信大家都有自己的一套方法论&#xff0c;一套准备和选择过程。当然面试也是一个双向选择&#xff0c;不排除有的时候看“缘分”。不管怎么说&#xff0c;这几年来&#xff0c;在面试过大大小小挺多家公司后&#xff0c;也算职场老鸟一枚了&#xff0c;…

论文浅尝 | Hybrid Transformer Fusion for Multimodal KG Completion

笔记整理&#xff1a;陈子强&#xff0c;天津大学硕士&#xff0c;研究方向为自然语言处理论文链接&#xff1a;https://arxiv.org/pdf/2205.02357.pdf动机尽管多模态知识图谱补全较单模态知识图谱补全已经有了很大的改进&#xff0c;但仍然存在两个限制。&#xff08;1&#x…