项目工具|git相关

本博客暂时只作为个人资料,后续会进行完善,主要内容来自:
【【Git第一讲】:git分区与两个盒子的故事】

理解暂存区和未暂存区

git为什么要多一个暂存区?难道不能我把代码写完后就是未暂存区,然后直接提交到版本库吗?

比如说我现在开发了很多的代码,

比如说在file1中,我们开发完成了功能A、功能B的50%和功能C,

然后我们在file2中完成了功能B的另外50%。

我们现在如果想直接提交到版本库,在commit的时候,我们应该把所有的代码改动都应该说清楚,鉴于我们所改动的代码较多,一个commit感觉有点难说明白,因为我们在file1中开发了这老些功能,然后有的还没开发完,随后我们在file2中又开发完了a中没有完成的部分,你应该怎么描述这个commit呢?

如果我们一起行直接把所有代码全部提交到暂存区中,会导致我们的代码非常乱。

所以说:
如果没有暂存区,那么我们只能把多文件的,大量的代码进行一次性的提交

现在又了暂存区,我们可以选择暂存部分、单独的文件,甚至我们可以只暂存某些行甚至一行!!!!!

如果对于某一个功能,我们涉及到了数十个文件,并且在文件中互相参杂着别的功能的代码,这样我们就能非常清晰得完成功能B的上传,先单独把功能b上传到暂存区,然后commit信息“完成了功能B的开发”,随后把暂存区代码上传到版本库。

各操作解析:

在这里插入图片描述
最后在终端上我们可以使用:
git status 来查看:

  • 已暂存的梗菜(将要被提交)
  • 尚未暂存的更改(也就是已经修改但出于未暂存区)
  • 未跟踪的文件

示例输出如下:

On branch main
Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)new file:   file1.txtmodified:   file2.txtChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   file3.txtUntracked files:(use "git add <file>..." to include in what will be committed)file4.txt
  • Changes to be committed: 列出已经暂存的文件,这些文件将包含在下次提交中。可以使用 git restore --staged 来取消暂存。
  • Changes not staged for commit: 列出已经修改但尚未暂存的文件。可以使用 git add 将这些文件添加到暂存区。
  • Untracked files: 列出未被 Git 跟踪的文件。可以使用 git add 将这些文件添加到暂存区并开始跟踪

变基or合并、如何撤销变基和合并

其实合并和变基做的是一样的操作。

那么为什么我们应该选择变基而不是合并呢?

合并会让各个分叉做连线,非常丑,所以我们应该做变基。

自行到 gittree 实验即可

面对冲突要么妥协要么解决

只要修改不在同一个文件的同一个位置,就不会引起冲突。

当两个分支同时对某一个同一个位置的代码作出修改的时候,我们到底应该如何把两个分支代码合并到一起。

妥协

妥协指的是妥协于其中一个冲突

解决冲突

A分支和B分支同时修改了一个地方,他们两个代码都有用,但是我要重新调整一下组织形式,所以说我们就把代码改一改再提交。我们称为解决冲突。

git和github

  1. 如何将本地与远端建立联系:SSH
    1. 查看电脑中是否存在ssh的key ls -al ~/.ssh,应该关注
    2. 如果没有就进行创建:ssh-keygen -t rsa -b 4096 -C "caiziming0011@gmail.com"
    3. 添加ssh私钥到ssh代理(不添加也可以),启动ssh代理eval "$(ssh-agent -s)",然后将私钥添加到ssh代理ssh-add ~/.ssh/id_rsa
    4. 将公钥添加到 github 上。cat ~/.ssh/id_rsa.pub
    5. 验证是否连接成功:ssh -T git@github.com
    6. 如果失败:
  2. 将 git_study 仓库推到远端(origin是远端仓库名,可以起别的名字但是一般用这个)
    1. git remote add origin git@github.com:hong-kailin/git study.git 将名为 origin 的远程仓库与指定的 GitHub 仓库地址关联起来
    2. git remote set-url origin git@github.com:czm-tech1/guttest.git
    3. git branch -M master 将当前分支重命名(不是必须)
    4. git push -u origin master 将master分支关联到origin(master也可以是别的分支)
  3. 其他常用命令
    1. git remote -v查看远程连接
    2. git remote remove origin 取消与远程仓库的连接
    3. git push 将本地的提交推送(上传)到远程仓库
    4. git pull origin master从远程仓库拉取(下载)最新的提交到本地仓库,并自动合并到当前分支
    5. git fetch origin从远程仓库拉取最新的提交到本地仓库,但不会自动合并到当前分支。需要手动合并

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

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

相关文章

VS2015安装模块时报错:安装包丢失或损坏,,,,,无效的驱动器

解决&#xff1a; 1、解压.iso文件&#xff1b; 2、替换目录 替换为解压后的对应的目录&#xff0c;点击重试即可。

Mysql学习(三)——SQL通用语法之DML

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 DML添加数据修改数据删除数据 总结 DML DML用来对数据库中表的数据记录进行增删改操作。 添加数据 -- 给指定字段添加数据 insert into 表名(字段1&#xff0c;字…

关于调用百度AI开放平台短文本在线合成API接口 Open api characters limit reached 问题

官方示例代码中心&#xff1a; https://console.bce.baidu.com/support/?_1668482508529#/api?productAI&project语音技术&parent语音合成&apitext2audio&methodpost 一、调试时&#xff0c;若提示 16: Open api characters limit reached&#xff08;{"…

基于工业互联网打造敏捷供应链的实现方式:创新路径与实践应用

引言 工业互联网和敏捷供应链是当今制造业发展中的两个重要概念。工业互联网以数字化、网络化和智能化为核心&#xff0c;致力于将传统工业生产与互联网技术相融合&#xff0c;从而实现生产过程的高效、智能和灵活。而敏捷供应链则强调快速响应市场需求、灵活调整生产和供应计划…

fastadmin批量导入

表的字段必须备注清楚导出的excel表头必须对应上如果mysql表有约束&#xff0c;导入会自动限制&#xff0c;挺方便的一个功能。

上心师傅的思路分享(二)

Druid monitor 与Springboot常见报错界面渗透小技巧 目录 前言 1.Druid monitor介绍 2.Druid未授权(1rank) 3.druid弱口令 4.Druid进一步利用 4.1 URL监控 4.2 Session监控 利用思路 EditThisCookie(小饼干插件) 5.SpringBoot Actuator未授权访问漏洞 5.1 简介 5…

【Java数据结构】详解LinkedList与链表(三)

&#x1f512;文章目录&#xff1a; 1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; 2.无头双向非循环链表的实现 2.1成员属性 2.2成员方法 display——打印链表 size——获取单链表长度 addFirst——头插 addLast——尾插 addIndex——在任…

Application UI

本节包含关于如何用DevExpress控件模拟许多流行的应用程序ui的教程。 Windows 11 UI Windows 11和最新一代微软Office产品启发的UI。 Office Inspired UI Word、Excel、PowerPoint和Visio等微软Office应用程序启发的UI。 How to: Build an Office-inspired UI manually 本教…

数据分析中的统计学基础及Python具体实现【数据分析】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…

layui左侧菜单栏,鼠标悬停显示菜单文字

layui封装的左侧菜单是固定宽度的&#xff0c;且左侧菜单栏在css里改变宽度&#xff0c;效果并不是很好&#xff08;还设计头部菜单栏&#xff09;&#xff0c;如果写js来让菜单栏能够拉伸&#xff0c;也比较麻烦&#xff0c;那怎么最简单的&#xff0c;让用户看到菜单的文字呢…

从混乱到有序:PDM系统如何优化物料编码

在现代制造业中&#xff0c;物料管理是企业运营的核心。物料编码作为物料管理的基础&#xff0c;对于确保物料的准确性、唯一性和高效性至关重要。随着产品种类的不断增加和产品变型的多样化&#xff0c;传统的物料编码管理方式已经不能满足企业的需求。本文将探讨产品数据管理…

SpringSecurity6从入门到实战之默认用户的生成流程

SpringSecurity6从入门到实战之默认用户的生成流程 这次还是如标题所示,上一章我们的登录页面已经知道是如何生成了.那么,我们通过表单登录的user用户以及密码SpringSecurity是如何进行生成的呢? 默认用户生成 让我们把登录流程重新拉回到读取/META-INF/spring/ .imports文件 …

什么是MES系统?有什么作用?

MES系统解决方案是专门针对制造企业设计&#xff0c;在MES系统的应用下&#xff0c;实现专业的工厂、车间生产信息化管理方案&#xff0c;帮助制造企业提高生产效率。针对目前制造行业的生产管理状况&#xff0c;以及提升企业生产效率和企业竞争力的需求&#xff0c;实施MES系统…

《尚庭公寓》项目部署之Docker + Nginx

docker rmi nginx docker pull nginx docker rm -f nginx #先创建一个简易的nginx容器&#xff08;后面会删&#xff09;&#xff0c;然后通过 docker cp命令把容器里面的nginx配置反向拷贝到宿主主机上。 docker run --name nginx -p 80:80 -d nginx# 将容器nginx.conf文件复…

小猪APP分发:高效的APP托管服务分发平台

有没有遇到过这样的尴尬&#xff1f;辛辛苦苦开发了一个APP&#xff0c;却在托管和分发环节卡壳。想想看&#xff0c;花了那么多时间精力开发的APP&#xff0c;却因为分发不顺利而影响用户体验&#xff0c;实在是让人抓狂。而小猪APP分发就成了你最好的选择。 APP封装分发www.…

pypi 发布自己的包

注册pypi个人用户 网址&#xff1a;https://pypi.org 目录结构dingtalk_utils 必须-pkgs- __init__.py .gitignore LICENSE 必须 README.md 必须 requirements.txt setup.py 必须安装依赖 pip install setuptools wheel安装上传工具 pip install twinesetup.py i…

PHP质量工具系列之php-depend

php-depend是一个开源的静态代码分析工具&#xff0c;它的主要功能包括&#xff1a; 代码质量分析 复杂度度量&#xff1a;计算类、方法和函数的Cyclomatic Complexity&#xff08;循环复杂度&#xff09;&#xff0c;帮助识别潜在的复杂代码段。 耦合度度量&#xff1a;分析类…

推荐网站(20)ai工具集,你想要的ai工具里面都有

今天&#xff0c;我要向您介绍一个综合性的在线平台——AI工具集&#xff0c;这是一个集成了多种人工智能工具的网站&#xff0c;旨在为用户提供一站式的智能解决方案。无论您是专业人士、创意工作者&#xff0c;还是仅仅对AI技术感兴趣的普通用户&#xff0c;AI工具集都能满足…

Pico4 MR Unity零基础开发之获取手柄按键

一、导入示例资源 1、打开Package Manager面板&#xff0c;导入示例资源。 2、打开示例场景&#xff0c;方面后面测试。 二、打开 XRI Default Input Actions 三、设置XRI Default Input Actions 面板参数 1、点击号新增一项&#xff0c;重命名为Pico 2、新增并重命名Action …

springboot启动配置文件-bootstrap.yml常用基本配置

4.1.5.配置文件 SpringBoot的配置文件支持多环境配置&#xff0c;基于不同环境有不同配置文件&#xff1a; 说明&#xff1a; 文件说明bootstrap.yml通用配置属性&#xff0c;包含服务名、端口、日志等等各环境通用信息bootstrap-dev.yml线上开发环境配置属性&#xff0c;虚…