git概要介绍https://www.liaoxuefeng.com/wiki/896043488029600/896202780297248
1.在本地创建git仓库。在工作区的代码或文件添加到仓库。
2..将本地的仓库发到远程的仓库,跟远程的仓库同步。好处:大家可以一起编辑和上传更新。
3.在github或公司部署的git上,远程克隆,拉取,提交文件。
1、git的简单介绍
Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
那什么是版本控制系统?
先举个简单的例子:经常在word写资料,同一个主题的东西,不同的时间会想出不同的思路,但我们又怕之前的思路忘记,我们会保存几个word版本。 时间长了会有产生很多文件,找想要的思路必须每个文件都要看,不可能全部记住。这个可以通过一个记事本备注每个文件,但每个word都有重复的内容,带来总文件太大,浪费资源。这才是一个人的文件,在软件公司,小到几人,大到几百人做一个项目。你编辑的文件要发给别人,别人修改的文件邮件发给你,你也要去看。这样出现了工作效率的问题,每个人修改的东西不能及时的让其他人知道,阅读效率低下,更可怕的是,每个人改动的东西还要合并在一起,苦不堪言。这时就出现了版本控制软件。
Git的诞生!
Linus在1991年创建了开源的Linux,Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
到了2002年Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。
Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。
Git的使用:
要使用git必须本地安装git。
解答概要的问题:
1.在本地创建git仓库。在工作区的代码或文件添加到仓库。
1.1在本地找个位置。(Mac操作)
windows是dir,linux是tree
1.2初始化一个本地仓库
cd /learngit,执行git init命令,会出现,仓库创建完成。
1.3在learngit目录,也就是工作区,添加文件。并提交给仓库。
添加一个文件到缓存区,git add usegit1.txt或者添加多个git add usegit1.txt usegit2.txt usegit3.txt,再执行git commit -m "添加了三个txt文件",就添加到了本地的仓库,备注信息必须要写,这样知道每次改动了什么,也可以不写备注但后面的参数不一样。
1.4查看提交的版本记录,执行git log查看,但记录太多,页面会显示太长,可以用 git log --pretty=oneline来查看。
1.4修改了文件usegit1.txt,要撤销修改
执行 git checkout usegit1.txt,有两种情况:(1、usegit1.txt还没有添加到git add,执行后,会回到usegit1.txt未修改时,也就是最后一次git commit时的样子。2、usegit1.txt已添加到git add,执行后,会回到usegit1.txt添加到git add时。相当于取消了修改)
1.5从添加到git add 里面去除要提交的文件。
执行git delete usegit1.txt
1.6回退到之前版本
执行git log --pretty=oneline,查看所有的修改版本,选好要回退的版本,HEAD^表示当前版本,HEAD^^表示上一个版本,可以一直添加^,但不好数,比如往前数100个版本,执行git reset --hard HEAD~100就行。还可以用版本号的前五位回退,比如版本号为10025,执行git reset --hard HEAD~10025;
1.7切回最新的版本
未关闭shell时,可以看之前的版本记录,再切到对应的版本,但如果关闭了,git提供之前执行过的每条命令的记录,执行git reflog,可以通过之前操作过的版本记录来切到最新的版本。
1.8查看文件内容cat usegit1.txt
2..将本地的仓库发到远程的仓库,跟远程的仓库同步。好处:大家可以一起编辑和上传更新。
3.在github或公司部署的git上,远程克隆,拉取,提交文件。
原文:https://www.cnblogs.com/wenjun145/p/12660399.html