Git完全教程
文章平均质量分 73
Spark!
路人
展开
-
git完全教程总结
前言很多人学完linux后不知道该学什么,我的建议是——先学git因为当你在工作中,出了必备的基础知识,还要学会与人合作。如何将你开发的小功能整合到整个项目的大框架中如何让你的实验性代码不影响到大框架中的代码性能如何让你在工作到一半的时候修改突然出现的bug这些都是会出现的情况,为了应对这些情况,新入职的员工就需要去学习git以下是我搜集资料,并且自己实践整理的git教程。希望大家有所收获Git基础知识以下两篇主要包含了git 的背景以及学习要做的准备工作git完全教程:001—G原创 2021-03-23 07:56:35 · 428 阅读 · 3 评论 -
git完全教程:000—linux下Git源码编译
源码下载链接依赖库opensslopenssh-client/openssh-serverzlib1g-devperl-5.22libcurl4-openssl/gnutls-devlibssl-devlibexpact1-devgettextunzipwishexpactlibintl-perlasciidoc-8.4.1xmltodocbook2x-0.8.3texi2htmldblatex-0.2.7以上库,都使用apt-get依赖库安装命令安装软件包 s原创 2021-03-23 07:55:21 · 445 阅读 · 0 评论 -
git完全教程:017—Git中的Rebase
在上一节我们看到了,多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功。每次合并再push后,分支变成了这样:$ git log --graph --pretty=oneline --abbrev-commit* d1be385 (HEAD -> master, origin/master) init hello* e5e69f1 Merge branch 'dev'|\ | * 57c53ab (origi原创 2021-03-22 19:37:43 · 296 阅读 · 0 评论 -
git完全教程:016—Git中的多人协作
目录多人协作流程克隆远程仓库推送分支抓取分支总结多人协作流程1、首先,可以试图用git push origin <branch-name>推送自己的修改;2、如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;3、如果合并有冲突,则解决冲突,并在本地提交;4、没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!5、如果git pull提示no tracking information原创 2021-03-22 19:32:41 · 537 阅读 · 0 评论 -
git完全教程:015—Git中的Feature分支
目录为什么要有feture分支实践总结为什么要有feture分支软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。实践现在,你接到了一个新任务于是准备开发$ git checkout -b newTaskM readme.txtSwitched to a new branch 'newTask'后来开发完原创 2021-03-22 19:22:41 · 1702 阅读 · 0 评论 -
git完全教程:014—Git中的bug分支
目录为什么要有bug分支master分支中创建分支修改bug回到dev继续工作在dev中创建分支修改bug总结为什么要有bug分支软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除例如:你现在接到一个修复代号为101的bug任务时,你想创建一个issue-101来进行修复。但是你在dev分支上的任务没有提交并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需原创 2021-03-22 19:08:06 · 212 阅读 · 0 评论 -
git完全教程:013—Git分支管理策略
目录实战分支策略小结实战通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:首先,仍然是创建并切换分支git checkout -b dev修改readme.txt文件并提交一个新的commitgit add readme.txtgit c原创 2021-03-22 17:08:33 · 530 阅读 · 0 评论 -
git完全教程:012—Git解决分支冲突
目录新建分支修改文件冲突总结合并分支往往不是一帆风顺的我们新建一个分支,开始这次的学习新建分支创建并切换到feature1git checkout -b feature1修改文件修改readme.txt最后一行,添加一句Creating a new branch is quick AND simple.在feature1分支上提交:git add readme.txtgit commit -m "AND simple"切换到master分支git checkout mas原创 2021-03-22 16:55:27 · 267 阅读 · 0 评论 -
git完全教程:011—Git创建与合并分支
目录为什么要用分支版本回退中的时间线创建与删除分支的时间线实战switch小结为什么要用分支分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既原创 2021-03-22 14:30:23 · 260 阅读 · 0 评论 -
git完全教程:010—Git从远程仓库克隆
目录创建仓库克隆本地库总结上次我们讲了现有本地库,后有远程库如何关联。这次,假设我们从零出发。那么我们就需要先创建远程库,然后从远程库克隆。创建仓库新建仓库,gitskills勾选Add a README file,这样系统会给我们创建一个README克隆本地库git clone git@github.com:1003774405/gitskills.git注意把Git库的地址换成你自己的,然后进入gitskills目录看看,已经有README.md文件了:如果有多个人协作开发,原创 2021-03-22 12:17:56 · 240 阅读 · 0 评论 -
git完全教程:009—Git远程仓库的上传与删除
目录在github上创建仓库本地仓库上传SSH警告删除远程库总结现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。在github上创建仓库这时候就创建成功了此时,github告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。本地仓库上传我们根据GitHub的提示,在原创 2021-03-22 11:20:49 · 215 阅读 · 0 评论 -
git完全教程:008—Git远程仓库的创建
目录搭建远程仓库**第一步**:`创建SSH Key。`第二步:登录githubwindows环境本篇介绍Git的强大功能之一:远程仓库实际工作中,我们会让一台电脑当作服务器,24小时开机。仓库在服务器上,其他人使用直接将这个服务器中的仓库克隆一份到自己的电脑上,并把自己的提交推送到服务器当中,由管理员审核。搭建远程仓库完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓原创 2021-03-22 09:16:25 · 234 阅读 · 0 评论 -
git完全教程:007—Git删除文件
目录添加文件删除文件总结添加文件在删除文件之前得有这个文件,所以我们先添加,顺便复习前面的内容在仓库中添加一个新的文件test.txt并提交vim test.txtgit commit -m "add a test file"git add test.txtgit status删除文件通常删除文件,直接rm <file>即可此时,Git知道了你删除文件,工作区和版本库不一致了,git status会告诉你哪些文件被删除此时你就有两个选择第一种:确实要从版本库中原创 2021-03-20 22:01:07 · 669 阅读 · 0 评论 -
git完全教程:006—Git撤销修改
目录可能你一不小心改错了,保存之后没有上传Git is free software.The 3`st updategit tracks changes of filesfuck the boss如果记得之前的内容自然是最好。如果工作中代码量比较大,可能记不过来,这时候就要用到Git。git status查看状态可以看到git给出的建议使用git add file来放到缓存区使用git checkout -- file来丢弃工作区的修改终端输入指令git checkout --原创 2021-03-19 16:56:31 · 186 阅读 · 0 评论 -
git完全教程:005—Git实际上记录的是“修改”
目录Git优秀的原因验证总结Git优秀的原因——管理修改因为Git跟踪并管理的是修改,而非文件什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。验证修改readme.txtGit is free software.The 3`st updategit tracks changesgit add添加git status查看状态然后再次修改readme.txt的内原创 2021-03-19 15:36:06 · 364 阅读 · 0 评论 -
git完全教程:004—Git的工作区与暂存区
目录名词解释工作区(Working Directory)版本库(Repository)Git工作流程举例Git与其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。名词解释工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learnGit文件夹就是一个工作区:版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为原创 2021-03-18 21:07:55 · 280 阅读 · 0 评论 -
git完全教程:003—Git版本管理(版本更新与回退)
目录更新版本修改文件查看修改内容更新并提交版本回退查看更新历史为什么要有`commit id`(版本号)版本回退回到回退之前的版本Git版本切换原理更新版本修改文件之前已经创建了一个readme.txt,现在更新里面的内容Git is a version control system.Git is free software.The 1st update此时输入指令git statusgit status可以让我们时刻掌握仓库当前的状态最后一句话告诉我们:readme.txt被修改了,原创 2021-03-18 19:28:38 · 881 阅读 · 0 评论 -
git完全教程:002—Git的安装与版本库创建
目录linux上安装git编译源码的方式验证安装安装后的配置创建版本库流程将文件添加到版本库添加步骤可能存在的错误最在linus开发的git使在linux上,后来慢慢的有人做了移植,于是现在Git可以在Linux、Unix、Mac和Windows这几大平台上运行。linux上安装git首先输入git查看是否有安装过接着就按照他给的提示安装编译源码的方式在git官网下载源码,接着./configmakesudo make install验证安装输入git安装完成安装后的配原创 2021-03-18 15:01:42 · 337 阅读 · 1 评论 -
git完全教程:001—Git简介
目录git简介git是什么作用Git的诞生集中式与分布式分布式与集中式版本控制系统的不同点git简介git是什么Git是目前世界上最先进的分布式版本控制系统(没有之一)作用那什么是版本控制系统?如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:过了一周,你想找回被删除的转载 2021-03-18 13:07:12 · 196 阅读 · 0 评论