【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十一)-git(3)

news2024/11/28 20:57:38

Git是目前最流行的版本控制系统之一,在现代软件开发中扮演着重要的角色。它能够有效地跟踪文件变化、协作开发,并存储项目的历史记录。本文的目的是向读者介绍Git的基本概念和工作原理,帮助初学者快速上手使用Git,并帮助有经验的开发者深入了解Git的内部机制。

文章目录

前言

一、git

二、git基本命令

三、作业

总结


前言

Git是目前最流行的版本控制系统之一,在现代软件开发中扮演着重要的角色。它能够有效地跟踪文件变化、协作开发,并存储项目的历史记录。本文的目的是向读者介绍Git的基本概念和工作原理,帮助初学者快速上手使用Git,并帮助有经验的开发者深入了解Git的内部机制。


提示:以下是本篇文章正文内容,下面案例可供参考

一、git

Git是目前最流行的版本控制系统之一,在现代软件开发中扮演着重要的角色。它能够有效地跟踪文件变化、协作开发,并存储项目的历史记录。本文的目的是向读者介绍Git的基本概念和工作原理,帮助初学者快速上手使用Git,并帮助有经验的开发者深入了解Git的内部机制。

Git是一种分布式版本控制系统,每个开发者都可以在本地拥有完整的代码仓库,不必依赖中央服务器。这样的设计使得团队成员可以在没有网络连接的情况下继续工作,提高了开发的灵活性和效率。

Git在分支管理方面表现出色。创建、合并和切换分支非常快速和高效,这为团队的协同开发和并行工作提供了便利。分支的使用使得开发者可以独立开发新功能或修复bug,而不会影响主线代码,最后再将其合并回主分支。

综上所述,版本控制系统是现代软件开发不可或缺的工具,而分布式版本控制系统具有更多的优势,因其灵活性和高效性而成为首选。Git作为最流行的分布式版本控制系统之一,拥有强大的功能和便利的特性,是众多开发团队的选择。

二、git基本命令

 将远程的branch_name分支拉取到本地 

git checkout -t origin/branch_name

 将云端的内容同步到本地

git pull

 

将dev4分支和master分支合并

 将本地的dev4分支删掉,将云端的dev4分支删掉

 

此时我们本地比云端多了一个版本,同时要让本地与云端同步一下。

 


也可以让云端的分支对应本地别的分支,先创建一个新的分支dev5

 将当前分支推送到远程仓库

将本地的dev5分支删掉,此时我们的云端就多了一个分支dev5

 

将云端的dev5分支跟本地的当前分支合并

此时再将本地的上传到云端的master

 

将云端的dev5分支删除


此时,我们在本地创建一个新的分支,然后修改read.txt文件并添加到暂存区

 此时,我们再修改一下read.txt文件,那么此时工作区和暂存区都发生了修改。

 此时服务器崩了,我们又不想将当前内容提交到版本库。

将工作区和暂存区中尚未提交的修改存入栈中

git stash

 查看栈中所有元素

git stash list

此时,工作区和暂存区就没有东西了。 


 新创建一个分支dev7,并提交到版本库

回到本地master,将dev7分支和master合并,并将dev7分支删除

 

将栈顶存储的修改恢复到当前分支,同时删除栈顶元素 

git stash pop


通常我们一般不在master分支开发,我们创建一个dev分支,然后云端也要有一个dev分支,同时另一个小伙伴通过ssh连接服务器。

紧接着将服务器的公钥添加进云端。(在.ssh/id_rsa.pub中)

将项目克隆到服务器中

在服务器上创建一个分支dev,然后将云端的dev分支对应到服务器的dev分支,再将云端的分支拉取到本地的分支

将远程的branch_name1分支与本地的branch_name2分支对应

git branch --set-upstream-to=origin/branch_name1 branch_name2

如果小伙伴在服务器开了一个dev分支对read.txt文件进行修改并commit,然后你也在本地开了dev分支进行修改read.txt文件进行commit;紧接着小伙伴git push后,那么云端的dev分支就会变成小伙伴修改的版本,你再git push之后就会发生冲突,那么此时就需要你手动修改冲突,修改后就可以commit并git push了。此时云端的dev分支就会更新为你处理后的分支。

三、作业

创建好作业后,先进入文件夹/home/acs/homework/lesson_5/,然后:(0) 在当前目录下创建文件夹homework,并将homework目录配置成git仓库。后续作业均在homework目录下操作;

初始化仓库

git init
git config --global user.name "xxx"
git config --global user.email "xxx"

(记得在云端添加自己的公钥)
(1) 创建文件readme.txt,内容包含一行:111;


将修改提交一个commit;


(2) 在readme.txt文件末尾新增一行:222;
将修改提交一个commit;


(3) 创建文件夹:problem1和problem2;
创建文件problem1/main.cpp。文件内容为下述链接中的代码:https://www.acwing.com/problem/content/submission/code_detail/7834813/;


创建文件problem2/main.cpp。文件内容为下述链接中的代码:https://www.acwing.com/problem/content/submission/code_detail/7834819/;


将修改提交一个commit;


(4) 删除文件夹problem2;
创建文件夹problem3;
创建文件problem3/main.cpp。文件内容为下述链接中的代码:https://www.acwing.com/problem/content/submission/code_detail/7834841/;
将readme.txt中最后一行222删掉,然后添加一行333;
将修改提交一个commit;


(5) 在https://git.acwing.com/上注册账号并创建仓库,仓库名称为homework;
将本地git仓库上传到AC Git云端仓库;


(6) 创建并切换至新分支dev;
在readme.txt文件中添加一行444;
将修改提交一个commit;
将dev分支推送至AC Git远程仓库;


(7) 切换回master分支;
在readme.txt文件中添加一行555;
将修改提交一个commit;


(8) 将dev分支合并到master分支;
手动处理冲突,使readme文件最终内容包含4行:111、333、555、444;
将修改提交一个commit;


(9) 将master分支的版本库push到AC Git云端仓库;


登录myserver服务器(4. ssh作业中配置的服务器);
创建并清空文件夹:~/homework/lesson_5/;
将AC Git云端仓库clone到~/homework/lesson_5/中;


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

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

相关文章

leetcode每日一题-3101 交替子数组计数

暴力遍历&#xff1a;看起来像是回溯,实际上就是递归 class Solution { private:long long _res 0; public:long long countAlternatingSubarrays(vector<int>& nums) {backtrack(nums, 0);return _res;}void backtrack(vector<int>& nums, long long st…

Threejs环境、透视相机、坐标系、光源

文章目录 如何引入threejsnpm方式script方式script module方式 基本流程与坐标摄像机Geometry(几何体)和Material(材质)光源 如何引入threejs 对于很多刚刚上手threejs的朋友&#xff0c;可能第一步引入threejs就出问题了&#xff0c; 明明已经导入了&#xff0c;就是这样问题…

(阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

Apache Seata tcc 模块源码分析

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 一 .导读 spring 模块分析中讲到&#xff0c;Seata 的 spring 模块会对涉及到分布式业务的 b…

从4D CT灌注成像中使用时空卷积神经网络预测急性缺血性中风的特定治疗病变结果| 文献速递-深度学习自动化疾病检查

Title 题目 Predicting treatment-specific lesion outcomes in acute ischemic stroke from 4D CT perfusion imaging using spatio-temporal convolutional neural networks 从4D CT灌注成像中使用时空卷积神经网络预测急性缺血性中风的特定治疗病变结果 01 文献速递介绍…

CentOS 6.5 配置国内在线yum源和制作openssh 9.8p1 rpm包 —— 筑梦之路

CentOS 6.5比较古老的版本了&#xff0c;而还是有一些古老的项目仍然在使用。 环境说明 1. 更换国内在线yum源 CentOS 6 在线可用yum源配置——筑梦之路_centos6可用yum源-CSDN博客 cat > CentOS-163.repo << EOF [base] nameCentOS-$releasever - Base - 163.com …

架构师学习理解和总结

1.架构设计理念 2.架构方法论 2.1需求分析 2.1.1常见需求层次 2.1.2 常见需求结果 2.1.3 需求与架构关系 2.2 领域分析 2.3 关键需求 2.4 概念架构设计 2.5 细化架构设计 2.6 架构设计验证 3.架构设计工具 3.1 DDD领域建模 3.2 41视图分析法 3.3 UML设计工具 4.架构师知…

昇思11天

基于 MindSpore 实现 BERT 对话情绪识别 BERT模型概述 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是由Google于2018年开发并发布的一种新型语言模型。BERT在许多自然语言处理&#xff08;NLP&#xff09;任务中发挥着重要作用&am…

《侃侃而谈 · 关于接外单的一些事》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

lspci

【原】Linux之PCIE三种空间解析 PCIe学习笔记——2.PCIe配置空间 PCIE学习&#xff08;2&#xff09;PCIE配置空间详解 开发者分享 | 使用 lspci 和 setpci 调试 PCIe 问题 b : 字节 w&#xff1a;word L&#xff1a; 4byte

VSCode远程服务器如何上传下载文件(超方便!)

方法一&#xff1a; 1、在VSCode应用商店安装SFTP插件 2、然后就可以直接把文件拖进VSCode即可&#xff0c;如下图所示&#xff1a; 这里的目录是我远程服务器上的目录&#xff0c;可以直接将要上传的文件直接拖进需要的文件夹 3、如果要从远程服务器上下载文件到本地&#x…

rkmpp移植与测试

一、mpp交叉编译 MPP(Media Process Platform )是Rockchip提供的一款硬件编解码媒体处理软件平台&#xff0c;适用于Rockchip芯片系列。它屏蔽了有关芯片的复杂底层处理&#xff0c;屏蔽了不同芯片的差异&#xff0c;为使用者提供了一组MPI统一接口。如果想达到最好的效果&…

java join与yield方法

join() join() 方法的主要作用是使当前线程&#xff08;调用 join() 方法的线程&#xff09;等待目标线程完成执行。当目标线程执行完毕后&#xff0c;当前线程才会继续执行。 代码示例&#xff1a; public class JoinExample {public static void main(String[] args) {Thr…

由于找不到xinput1 3.dll无法继续执行重新安装程序

如果您的计算机提示无法找到xinput1_3.dll文件&#xff0c;这可能表明您的计算机存在问题。在这种情况下&#xff0c;您需要立即对xinput1_3.dll文件进行修复&#xff0c;否则您的某些程序将无法启动。以下是解决无法找到xinput1_3.dll文件的方法。 一、关于xinput1_3.dll文件的…

Splunk Enterprise 中的严重漏洞允许远程执行代码

Splunk 是搜索、监控和分析机器生成大数据的软件领先提供商&#xff0c;为其旗舰产品 Splunk Enterprise 发布了紧急安全更新。 这些更新解决了几个构成重大安全风险的关键漏洞&#xff0c;包括远程代码执行 (RCE) 的可能性。 受影响的版本包括 * 9.0.x、9.1.x 和 9.2.x&…

使用握手信号实现跨时钟域数据传输

目录 描述 输入描述&#xff1a; 输出描述&#xff1a; 参考代码 描述 分别编写一个数据发送模块和一个数据接收模块&#xff0c;模块的时钟信号分别为clk_a&#xff0c;clk_b。两个时钟的频率不相同。数据发送模块循环发送0-7&#xff0c;在每个数据传输完成之后&#xf…

WPS+Python爬取百度之星排名

运行效果 手动拉取 https://www.matiji.net/exam/contest/contestdetail/146 如果手动查找&#xff0c;那么只能通过翻页的方式&#xff0c;每页10行&#xff08;外加一行自己&#xff09;。 爬取效果预览 本脚本爬取了个人排名和高校排名&#xff0c;可以借助WPS或MS Offi…

2024年中国陶瓷轴承用氮化硅粉体市场发展现状及重点竞争企业研究

2024年中国陶瓷轴承用氮化硅粉体市场发展现状及重点竞争企业研究 氮化硅是一种硬度高、结构稳定、热膨胀系数小&#xff0c;抗氧化和抗侵蚀性能好的一种的陶瓷材料&#xff0c;可用于制造高性能氮化硅陶瓷结构件、坩埚涂层等。近年来&#xff0c;伴随着机械制造行业进一步向高精…

计算机网络性能指标概述:速率、带宽、时延等

在计算机网络中&#xff0c;性能指标是衡量网络效率和质量的重要参数。本文将综合三篇关于计算机网络性能指标的文章&#xff0c;详细介绍速率、带宽、吞吐量、时延、时延带宽积、往返时延&#xff08;RTT&#xff09; 和利用率的概念及其在网络中的应用。 1. 速率&#xff08;…

C++之do-while陈述

回圈是用来进行进行重复性的工作&#xff0c;典型的回圈会进行下列三项基本任务 1.控制变数初始设定2. 回圈结束条件测试3. 调整控制变数的值 关键字(keyword) do与while构成C 中回圈的一种&#xff0c;常用于后测式的回圈&#xff0c;意思是回圈会先进行第一轮&#xff0c;然后…