版本管理·玩转git(快速入门git)

如果你用过Word文档写过文章,那么你一定会有这样的经历。
我觉得某一段或者某一句写得不够好,但是,删掉之后我可能会后悔把它删掉了,进而又想把删掉的段落找回来,这时,你想到了一个好办法,将每次的修改都作为一个文章版本保存起来,这样虽然能够解决你的问题。但是,随着你的修改次数越来越多,你会发现,电脑桌面上出现了N多个Word副本,这时,你已无法分清每个副本对应的是什么时候作的修改。
于是你想,如果有一个软件,不但能自动帮我记录每次文件的修改,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?
既然有这样的想法,那么你就应该学习一下git。
那什么是git?
git是目前世界上最先进的分布式版本控制系统。
既然是最先进的,我们当然是要去学好它,掌握好它了。
那么,从该篇博客开始,我将记录git教程系列,作为学习资料提供给大家。

我们先说一个故事吧。
很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linus虽然创建了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在Linux、Mac、Win下都可以安装。
因为大家普遍都是Windows操作系统,我就以Windows环境为例。
在Windows环境下,我们只需访问https://git-for-windows.github.io网址,即可下载git,然后一路next,安装就完成了。
安装完成后,我们点击开始菜单,找到git,然后打开。

这样就说明git安装成功了。
人在江湖,岂能没有名号,在你使用git之前,要先报家门,否则代码不能提交。

$ git config --global user.name #你是谁
$ git config --global user.email #怎么联系你


因为我已经提交过我的用户名和邮箱了,所以,我这里打印了我的信息。从这里我们知道,这个设置用户名和邮箱的指令同时也是查看信息的指令吧。
那么接下来通过一次版本提交我们来感受一下,git操作其实没有什么可说的,重要的是要记住git指令及其每条指令的含义。
我们把路径切换到桌面

cd Desktop

然后在桌面新建一个文件夹,该文件夹就是我们的工作目录

mkdir rrd

然后切换到工作目录

cd rrd

我们在工作目录中初始化一个代码仓库

git init

有了代码仓库之后,我们就可以在工作目录进行工作了。
在目录中创建一个index.txt文件,并编写hello git内容。

cat >> index.txt

输入cat指令创建文件回车后,会等待你输入文件内容,输完ctrl+d保存退出。
我们输入

hello git

然后,我们查看一下工作状态

git status


红色框线内的意思是说提交时除了未跟踪的文件之外没有添加任何内容(使用“git add”进行跟踪)。
说明我们的index.txt文件并没有被git跟踪,我们使用git add对文件进行跟踪。

git add index.txt

该条指令可以对index.txt进行跟踪,但是,文件如果非常多,这样写显然就很繁琐了,所以,我们可以使用

git add .

将当前目录的所有文件进行跟踪。
然后,我们将该文件提交到代码仓库。

git commit -m "提交"

-m是注释的意思,引号内写明你对此次提交的注释信息。
到这里,我们就完成了一次版本管理。
注意,在git中有一个暂存区的概念,可以先不用知道暂存区是什么,你只需要知道,我们add文件之后,文件是会先放在暂存区,此时文件并没有被提交,所以你可以随时撤回你放入暂存区的文件,当你commit之后,文件才会从暂存区被提交到代码仓库。

我们现在对文件进行修改

vi index.txt

然后输入i、o或者a都可以进入vim的编辑模式,进入编辑模式后,对文件内容进行一些简单的修改,然后按esc退出编辑模式,进入命令模式,此时,输入 :q! 即可退出编辑器,但是修改不保存,输入 :wq 即可保存内容并退出,然后输入

git status


git会提示你的工作区内容被修改了,这时我们输入

git add .
git commit -m "再次提交"

我们的修改就会被同步到我们的代码仓库中。

接下来演示一下删除。
我们再次创建一个文件并将其提交到代码仓库,这个相信已经难不倒你们了,我直接贴出所有步骤。

cat >> demo.txt
git add .
git commit  -m"第三次提交"

此时我们输入git status查看一下状态。

工作区是空的,说明我们的工作区和代码仓库已经同步了。
然后,我们把刚才创建的文件进行删除。

git rm demo.txt

再次输入git status查看状态。

此时git就发现我们删除了文件,注意,现在如果想将工作区与代码仓库进行同步,不需要add了,而是直接输入

git commit -m "第四次提交"

这样,代码仓库的demo.txt文件也就被删除了。
如果你自己手动删除文件,你是需要进行add操作的,但是,如果你使用git rm命令进行文件删除,git会帮助你直接把操作放入暂存区,所以,你可以直接提交你的删除操作。

原文地址:https://www.cnblogs.com/blizzawang/p/11411743.html

时间: 2024-10-12 19:45:29

版本管理·玩转git(快速入门git)的相关文章

快速入门git第二步

git的思想和工作原理: 一.git对改变的文件进行了一次快照,然后保存在一个微型的文件系统里,每次更新代码时,git会遍历所有的文件并进行了改变文件的快照,然后用一个所以指向它,如果没有文件      进行了改变,git只对上一次快照链接进行了浏览 二.git的很多工作都在本地仓库(本地数据库)进行的,因为克隆下来的 项目里已经含有了所有的当前项目的历史记录,可以实现了对以前版本的查看,无需网络,所以可实现在随      随地的进行修改代码,查看修改那些地方,和历史记录 三.数据保存到git时

快速入门git第七步

2.7 Git 基础 - 技巧和窍门技巧和窍门在结束本章之前,我还想和大家分享一些 Git 使用的技巧和窍门.很多使用 Git 的开发者可能根本就没用过这些技巧,我们也不是说在读过本书后非得用这些技巧不可,但至少应该有所了解吧.说实话,有了这些小窍门,我们的工作可以变得更简单,更轻松,更高效. 自动补全如果你用的是 Bash shell,可以试试看 Git 提供的自动补全脚本.下载 Git 的源代码,进入 contrib/completion 目录,会看到一个 git-completion.ba

快速入门git第六步

远程仓库的使用远程仓库是依托在网上的管理的项目,有些只能读,或可以写git remote 命令列出了该项目所有的远程仓库的简短名(它对应的是仓库的地址即url,如origin实际上是一个url),克隆或提交项目需要该名,默认是origin的远程库git remote -v 列出了简短名和url添加一个远程仓库: git remote add 简短名 url 如果是ssh协议则url 是用户名@ip:文件路径, 如果是github拉取项目,则是git://url.git远程仓库建好后,git pu

快速入门git第四步

一.获得git仓库有两个来源:1.在现有的目录下,通过git add 导入文件创建新的git仓库 2.从以后的git仓库下克隆下代码 1.在工作目录下新建git仓库,使项目进行了git的管理,只需要进行下列的命令: cd 文件名(进入目录)或者直接建立一个文件夹(mkdir zhen/cd zhen/) git init git init 做了写什么? 该命令的叫做初始化,初始化目录里面的文件和结构,在该目录下胡出现一个.git的文件,该文件含有git所需要的 资源和数据 2.克隆代码: git

快速入门git第五步

在初始化仓库的时候,做好用git --bare init 而不要用git init ,如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才能看到push后的内容.查看历史记录: git log git log -p

快速入门git第三步

安装:一.在linux ubuntu 上安装git sudo apt-get install git配置:二.初次运行git的配置,为什么是初次,因为更新或升级都会沿用老的git的配置, 可以用相同的命令进行了配置的修改, git 提供了一个工具git config ,专门用来配置或读取相应的环境变量,不同的环境变量导致了git在各个环节的具体工作方式和行为,环境变量存放在三个地方:/ect/config: 系统中对所有的用户都普遍使用的配置-/config: 只是适用与当前用户的配置.git/

快速入门git第一步

版本控制的知识. 一.版本控制VC:是一种记录了任何文本内容的改变,方便以后查阅版本改变 二.版本控制系统VCS: 简单来说的好处就是便于回到之前的某个版本,有一下的好处:      1.文件可回到某个状态,甚至是系统回到了某个状态点      2.可以即使的查看文档改动的内容      3.可以查看谁提交了代码,修改的内容是什么,发起修改的是谁,方便检查bug是谁导致的,方便管理三.集中化的版本控制系统CVCS工作原理: 所有的版本控制放在一台服务器上(体现了集中),客户端通过拉取代码或提交代

Git快速入门和常用命令

一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global user.name "你的名字或昵称" git config --global user.email "你的邮箱" 然后在你的需要初始化版本库的文件夹中执行: git init git remote add origin <你的项目地址> //注:项目地址形式为

Git快速入门

其实,对于不了解Git的人或则是接触过Git但不得其道的人来说,需要的就只是几句话,引进门.下面是我的学习笔记,不一定精准,但一定可以让你快速地了解起来,动起手来. Git的功能之一有管理自己的文件.有个仓库会记录所有的信息,你新建一个文件,修改一个文件,再上传,仓库会记录下你每次的所做的修改,这个仓库,你可以想成是哆啦a梦包. 首先,随便下个Git,再打开Git Bash这个命令行. 这时会在你的默认目录下,为了便于理解这整个过程,另外你用鼠标打开“我的电脑”,点击到你在Git Bash看到的