一、Git简介

早先linux内核代码托管在BitKeeper,这个是商业的,但是免费给linux社区使用;

linux社区有个人试图破解BitKeeper,被BitKeeper发现后不再免费提供使用权,于是linus花两周时间开发了一个分布式的版本控制系统,就是Git;

其实Git功能和svn是类似的,但svn是集中管理,Git是分布式管理;

集中管理:必须要有一台服务端,代码仓库是在服务端上,客户端(个人电脑)需要从服务器上同步代码到自己电脑上,开发完要推送到服务端,这种架构依赖网络,传输也比较慢;

分布式:可以没有服务端,所有个人电脑都可以有完整的代码库,代码的更新、推送、分支、合并都可以在自己电脑上完成。它也支持多人协作,不过需要有一个公共的Git服务器作为支撑。

二、安装Git

1、CentOS上:

yum -y install epel-release

yum -y install git

2、Ubuntu上

sudo apt-get install git

3、windows上安装msysgit

https://git-for-windows.github.io/

安装完成后,还需要设置用户名和邮箱

git config --global user.name "fansik"

git config --global user.email "shandingshangdeyu@hotmail.com"

设置好用户名和邮箱后会在用户家目录下生成.gitconfig文件

三、创建版本仓库并推送文件

mkdir /home/gitroot

cd /home/gitroot

初始化,让/home/gitroot编程git可以管理的仓库

git init

初始化以后会在/home/gitroot目录下生成一个.git的目录

添加个文件

echo "fansik\nnimei" > fansik.java

将更改的文件加入到代码仓库(加入后使用git diff就看不到不同了但是使用git status可以看到是暂存状态并显示修改的文件)

git add fansik.java

撤销提交:

git reset HEAD fansik.java

如果文件修改了但又想恢复成版本库中的内容可以使用:

# git checkout -- fansik.java

叫暂存文件提交到版本库中:

git commit -m "add new fansik.java"

四、版本变更

多次更改fansik.java文件并进行add和commit操作后可以通过git log来查看修改记录

git log显示所有提交git仓库的记录操作

git log --pretty=oneline 每次修改显示为一行

通过git log可以查看过去提交的所有版本,所以根据这个log可以指定回退某个版本

git reset --hard dee6这个标识的版本,标识可以简写(最少4位)

当退回到该版本后在git log则最上面的版本不在显示了,如果先在退回到第一行那个版本可以使用git reflog显示所有的版本

五、文件删除

先删除文件

rm -rf 2.txt

删除暂存文件

git rm 2.txt

删除仓库中的文件

git commit -m "delete 2.txt"

Git分布式版本管理工具基本使用方法的更多相关文章

  1. 谈谈分布式版本管理工具Git

    一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 L ...

  2. 分布式版本管理工具 git常用命令

    Git global setup git config --global user.name "joey" git config --global user.email " ...

  3. Git 分布式版本管理

    Git是分布式版本控制系统,我们常用的版本控制工具还有SVN.这里就得区分下什么是分布式版本控制系统,什么是集中化的版本控制系统. 集中化的版本控制系统 集中化的版本控制系统( Centralized ...

  4. Git分布式版本控制工具

    一.安装Git  1.下载Windows版的Git:msysgit:官方下载地址:http://msysgit.github.io,安装选定要安装的目录(路径杜绝中文),剩下的按照默认安装即可,参考: ...

  5. it入门之:学会使用Git 分布式版本控制工具

    环境:window 工具:git & TortoiseGit 下载安装以及配置环境变量 :略略略 创建Github账户:登录https://github.com/用自己的常用邮箱创建账户,用来 ...

  6. Git 分布式版本管理器 windows环境下使用

    首先需要下载Git来安装  没有安装文件的小伙伴可以网盘下载——>   https://pan.baidu.com/s/1owwUItDri9skqYzOjzXLsw 之后安装Git  一路很顺 ...

  7. git版本管理工具常用命令

    git是分布式版本管理工具,一台电脑既可以是客户端,也可以是服务端.工作过程中可以断开网络.svn是集中式版本管理工具,一台服务器控制很多客户端,使用过程不能断网. git的优点有:适合分布式开发,强 ...

  8. git分布式版本控制系统的概述和安装

    Git历史 同生活中的许多伟大赛事一样,Git诞生于一个极富纷争大举创新的年代.Linux内核开源项目有着为数众广的参与者.绝大多数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上(19 ...

  9. git源代码管理工具

    git是一款源代码管理工具 是分布式版本管理工具 分布式管理必须先在本地提交然后才能提交到服务器: svn集中式版本管理工具 集中式版本管理工具离开服务器就做不了版本管理: 初始化仓库 1.用git初 ...

随机推荐

  1. 在MyEclipse显示struts2源码和doc文档及自动完成功能

    分类: struts2 2010-01-07 16:34 1498人阅读 评论(1) 收藏 举报 myeclipsestruts文档xmlfileurl 在MyEclipse显示struts2源码和d ...

  2. NPOI 2.0 创建Excel文件

    如果只是简单的处理的话,只需要引用下载压缩包里的 NPOI.dll (office 2003)或 NPOI.OOXML.dll (office 2007) 文件而已. using System; us ...

  3. javaSE学习路线

    Java SE大致可分为以下几块内容: n  对象导论:如何用面向对象的思路来开发 n  深入JVM:Java运行机制以及JVM原理 n  面向对象的特征:封装.继承.抽象.多态 n  数组和容器:容 ...

  4. STM32中断管理函数

    CM3 内核支持256 个中断,其中包含了16 个内核中断和240 个外部中断,并且具有256 级的可编程中断设置.但STM32 并没有使用CM3 内核的全部东西,而是只用了它的一部分. STM32 ...

  5. 你可能不知道的iOS冷知识——#pragma

    Mattt Thompson撰写. Zihan Xu翻译. 发布于2012年10月1日 #pragma 声明是彰显 Objective-C 工艺的标志之一.虽然 #pragma 最初的目的是为了使得源 ...

  6. python selenium与自动化

    大学是学习过java,但是工作中没用,忘完了,而且哪怕以后有了机会,就是很不愿意去学这个语言,开始喜欢上了c#,但是随着学的升入,感觉.net太庞大了,要学习那么多,总感觉我学这个要做什么,感觉要做的 ...

  7. 一口气从CSS讲到Servlet再到JSP、Struts2,清蒸JavaWeb的前前后后。

    B/S系统就是Browser/Server,浏览器/服务器系统,即,客户在浏览器操作,而代码实现的具体处理以及数据库操作等,则由后台服务器来完成,男耕女织,相得甚欢.比如我们查询成绩,我们通过浏览器输 ...

  8. Parameter index out of range (2 > number of parameters, which is 1)

    今天在实现一个功能时遇到一个问题,解决了很久.结果是#{}与${}使用错误的原因.但是具体原因还不是很清楚,写此篇总结,知道的可以交流. 具体描述为:通过教师的头衔(1高级讲师2首席讲师)及名称进行模 ...

  9. Java SCP copy local file to remote implementation

    最近做的项目中,有一个小需求,需要通过SCP把本地文件copy到远程服务器.查了好多资料,最终解决方案简单快速,分享一下. 在这里,需要用到4个jar包,分别是ant-jsch.jar,ant-lau ...

  10. PAT 1072. Gas Station (30)

    A gas station has to be built at such a location that the minimum distance between the station and a ...