git在企业工作中,是必不可少的一项技能,很多小伙伴们以为距离很遥远,但会使用git无疑是对面试有很大的帮助。
在互联网、软件企业中,企业都有自己的代码库,这些代码大都都会使用git仓库进行存储。
作为后端开发人员,git的步骤大致分为以下:
- 从服务器上克隆完整的git仓库(包括代码和版本信息)到单机上。
- 在自己的机器上根据不同的开发目的,创建分支,修改代码
- 在单机上自己创建的分支上提交代码
- 在单机上合并分支
- 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
- 生成补丁patch,把补丁发送给主开发者。
- 看主开发者的反馈,如果主开发者发现两个一般开发人员的版本之间有冲突(他们合作解决冲突),解决完冲突,然后在由其中一人提交。
- 一般开发人员之间解决冲突的方法,开发之直接可以通过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 切换到指定的分支