c++web服务器开发----git篇

git在企业工作中,是必不可少的一项技能,很多小伙伴们以为距离很遥远,但会使用git无疑是对面试有很大的帮助。

在互联网、软件企业中,企业都有自己的代码库,这些代码大都都会使用git仓库进行存储。

作为后端开发人员,git的步骤大致分为以下:

  1. 从服务器上克隆完整的git仓库(包括代码和版本信息)到单机上。
  2. 在自己的机器上根据不同的开发目的,创建分支,修改代码
  3. 在单机上自己创建的分支上提交代码
  4. 在单机上合并分支
  5. 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
  6. 生成补丁patch,把补丁发送给主开发者。
  7. 看主开发者的反馈,如果主开发者发现两个一般开发人员的版本之间有冲突(他们合作解决冲突),解决完冲突,然后在由其中一人提交。
  8. 一般开发人员之间解决冲突的方法,开发之直接可以通过pull命令来解决冲突,解决完冲突之后在向主开发者提交补丁。

因此,git的优点很明确:适合分布式开发,强调个体; 速度快、灵活;公共服务器压力和数据量都不会太大;有兴趣的同学可以和svn对比一下。

言归正传!!!!

本项目,打造一个自己的c++web服务器,可以购买华为云的服务器进行开发。

        1. 首先是便宜,通过下方链接,39元一年,华为云配置是(1核2G,1M的带宽,内存是40G),对于我们的项目是完全够用的。华为云服务器, 39元一年购买链接

        2. 其次是方便,不需要我们去单独配置虚拟机linux,只要代码运行,我们很方便可以通过ip地址就可以访问到我们的web界面,省去了很多繁琐的步骤。

        购买完华为云服务器后,一般会有两个ip地址,一个是外网环境下,一个是内网环境下,我们需要通过xshell 软件通过外网ip进行远程连接我们的服务器。编写代码的时候,我们可以下载vscode软件,通过remote插件功能,通过外网ip使用ssh连接我们的服务器,就可以编写代码,不需要使用vim编译器,大大提升了我们的开发效率。

1.安装git

       使用命令 : apt install git     (楼主这块已经安装好了)

 2.git初始化配置

在要选择的目录下进行初始化配置,git init  命令

3.git的基本介绍

        git涉及到的基础概念有:

        1.远端仓库

        2.本地仓库

        3.工作区

        4.暂存区

远端仓库一般是github仓库,提交到上面,所有开发人员都可以进行获取。

本地仓库一般是你本地环境,供自己进行修改,修改完成后,通过git add . 命令将修改文件放入暂存区,然后使用git commit 命令去提交到本地仓库,然后在使用git push 命令去将本地仓库的修改,提交到远端仓库。

4.git 文件状态

        1.未跟踪状态。指的是没有加入到git库中,不参与版本控制。(Untracked)

        2.文件已经入库,未修改,和版本库中的代码一致。(Unmodify)

        3.文件已经修改,没有进行其他操作。(Modified)接下来可以进行git add提交到暂存区进入staged状态,另一种是git checkout 丢弃修改,返回Unmodify状态。

        4.暂存状态。(Staged)接下来可以执行git commit提交到git本地库中,然后通过git push提交到远端仓库。

        git commit 文件和本地文件一致,为已经入库状态

        也可以通过 git reset Head filename 取消暂存,变成已经修改状态。

5.git status命令

        可以通过git status -s 命令查看文件状态

        ?   ---  未跟踪文件,证明是新创建的文件

        M   ---  修改后的文件

        A    ---  新增文件

        D    --- 删除    (如果执行了git rm 命令会出现)

6.git diff 命令

        git diff :显示工作附录和暂存区之间的文件变更,一般是你修改完后,进行git diff ,然后去查看你修改了哪些文件,然后方便后续进行提交到本地仓库,进而推送远端仓库

        如果想查看两个分支之间的代码变化,可以通过使用git diff --stat  

        使用方法  git diff   分支一     分支二/文件名 --stat

7.git  log 命令

        git log  使用来查看提交历史的,log会显示分支、提交人、提交时间、还有commit id ,可以通过show commit id(这个提交id)  ,查看修改记录

 8. git stash 命令

        有时候会出现,你修改了一些代码,但是你只想要提交修改的其中一部分代码,你使用完git commit 命令后,需要进行git  pull,拉下最新的代码,如果恰巧有个人在这个过程中提交了代码,你就需要合并,然而你只需要使用 git stash 把工作区的代码暂存起来,然后使用git pull ,拉下最新的代码后,进行git push ,把你的代码提交到远端仓库。然后在使用git stash pop 进行弹出操作,这样你就完成了一次完美的提交操作。

        git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash。

        git stash drop:   丢弃stash 存储

        git stash clear:  删除所有缓存的stash

9.git merge 和 git rebase 命令

        git merge 是将一个分支或者某个commit的修改合并到现在的分支上

        git rebase 重新设置极限,将你当前分支重新设置开始点。

一般git rebase 使用是在git pull 的时候出现,git pull -- rebase ,可以保证你提交的代码是当前时间内最新的代码。

10.git blame命令

        可以使用git blame 命令来查看某个文件某行代码最近修改人和时间,当然,如果不是庞大的代码量的话,可以推荐使用VScode编译器,真的很好用,这个功能很人性化,但是追代码的时候,不太好。

11.最后再附上git 常用命令

        git clone 克隆远端仓库

        git init 初始化版本库。

修改和提交’

        git status   查看本地仓库的状态

        git diff         查看变更内容

        git add .      跟踪所有改动的文件

        git commit -m "你的改动文件的注释"   提交修改

        提交远端仓库是可以采用        

git add .      git commit -m  "注释"   git pull   git push  这种情况是你修改的所有文件都要提交

git commit -m  "注释"   /修改文件的路径和名称  git pull   git push    这种情况是你修改的部分代码要提交

        git branch   查看本地所有的分支

        git checkout  branch   切换到指定的分支

        

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 如果想要学习服务器开发,通常需要学习以下内容: 1. 熟悉操作系统原理,了解操作系统如何管理计算机资源,如内存、磁盘、网络等。 2. 学习计算机网络原理,了解计算机网络的基本概念、分类、拓扑结构、协议等。 3. 掌握常用的服务器端语言,如 C、Java、Python 等。 4. 学习常用的服务器端框架,如 Spring、Express、Django 等。 5. 了解数据库原理,学习常用的数据库管理系统,如 MySQL、Oracle、MongoDB 等。 6. 学习服务器开发的其他相关知识,如安全、性能优化、高并发处理等。 学习服务器开发的难度取决于你的计算机基础知识,如果你已经掌握了一些计算机基础知识,学习起来就会比较容易。 ### 回答2: 服务器开发是指利用计算机网络技术构建、管理和维护服务器系统的过程。在进行服务器开发时,需要学习以下内容: 1.计算机网络基础知识:了解网络通信的原理和协议,包括TCP/IP、HTTP、HTTPS等基本网络协议,以及分布式系统的基本原理。 2.操作系统:熟悉常见的服务器操作系统,如Linux、Windows Server等,掌握操作系统的安装、配置、管理和维护。 3.编程语言和框架:掌握至少一种服务器端编程语言,如Java、Python、C#等,了解常用的服务器开发框架,如Spring、Django等。 4.数据库技术:熟悉关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)的使用和管理,了解数据库设计和优化的基本原则。 5.服务器安全和性能优化:具备服务器安全意识,了解常见的安全攻击和防御措施,熟悉服务器性能优化技术,如缓存、负载均衡、CDN等。 6.网络编程和Socket编程:熟悉网络编程的基本原理和常用的Socket编程接口,能够实现服务器和客户端之间的通信。 7.Web服务和RESTful API:了解Web服务和RESTful API的设计和开发原则,掌握常见的Web服务技术,如SOAP、REST等。 8.可伸缩性和高可用性:了解服务器系统的可伸缩性和高可用性设计方法,掌握分布式系统的基本概念和技术。 9.版本控制和团队协作工具:熟悉常见的版本控制工具,如Git,以及团队协作工具,如Jira、Slack等。 10.软件开发生命周期:了解软件开发的各个阶段和过程,包括需求分析、设计、编码、测试、部署和维护。 通过学习以上内容,可以掌握服务器开发所需的核心知识和技能,实现可靠、安全、高效的服务器系统。 ### 回答3: 服务器开发需要学习以下内容: 1. 网络编程:服务器是用于提供网络服务的,因此需要了解网络编程的原理和技术。学习网络协议、Socket编程、HTTP协议等是必不可少的。 2. 数据库:服务器通常需要与数据库进行交互,因此需要学习数据库的基本知识和相关的SQL语言。了解数据库的设计原则、索引优化、事务处理等内容,能够提高服务器的性能和效率。 3. 并发编程:服务器需要处理多个客户端的并发访问请求,因此需要学习并发编程的原理和技术。了解线程、进程、锁、信号量等概念,掌握多线程编程和线程安全的技巧是非常重要的。 4. 安全性和性能优化:服务器需要保证系统的安全性和性能,因此需要学习安全防护措施和性能优化的方法。了解常见的安全漏洞和攻击方式,学习如何进行防护和加密;同时,学习如何进行性能分析和调优,提高服务器的吞吐量和响应速度。 5. 操作系统和网络基础:服务器是运行在操作系统上的,需要了解操作系统的基本原理和内核机制。同时,需要了解网络的基本原理和常见的网络设备配置,如路由器、交换机等。 6. 服务器框架和开发工具:了解常见的服务器框架,如Java的Spring、Python的Django等。学习如何使用服务器开发工具,如IDE、版本控制工具等,可以提高开发效率。 综上所述,服务器开发需要综合掌握网络编程、数据库、并发编程、安全性和性能优化、操作系统和网络基础等知识和技术。通过不断学习和实践,才能提高服务器开发的能力和水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟道xn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值