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

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提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值