1.安装GIT

现在的Linux和Unix包括MAC有的已经自带git,没有自带git的话,在Debian或Ubuntu Linux系统下执行sudo apt-get install git或者sudo apt-get install git-core就可以了,MAC的话可以从Xcode里面安装,运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

Windows的话可以用msysgit,相当于Windows版的Git,http://msysgit.github.io/下载,然后按默认选项安装即可,安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

2.设置用户名和密码,因为git是分布式版本控制系统,所以每个机器必须设置用户名和邮箱

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

你也可以直接进入git的配置文件中修改

找到.gitconfig,用vim或者其他的编译器打开该文件,就会看到[user]下面的name和email

直接修改完保存退出即可。

3.创建版本库

随便找个空闲的地方,建立一个目录,把所有的代码都放进去,(应该说找到你代码所在的文件夹,路径中最好没有中文)

进去那个文件夹执行命令git init(该命令的含义就是这个文件夹就可以跟踪了,这里面的东西修改删除都可以跟踪,也可以恢复)

4.把该文件夹下的所有文件都添加到仓库,再把所有文件提交到仓库,顺便写一个说明。比如:

git add 文件名.后缀,或者git add *接着提交所有的文件,git commit -m“操作的详细信息,更改了或删除了什么东西相当于日志”

5.之后的每次修改文件(就是每次写完代码)都要git add *,git commit -m”说说今天都干了什么事,代码编到哪里了”

如果忘记了上次所做的修改可以调用git diff或者git log或者git log --pretty=oneline

来查看上次的改动,你还可以通过git status来判断文件的状态,比如有几个文件没有提交,或者有几个文件没有添加

6.回退

每次的提交git都会有一串数字来确保与之相对应的一次操作,可以把它当作一个序列号或者版本号,执行git log或者git log --pretty=oneline你就会看到这些数字,每次的数字都不一样,这就是说你可以提交N多次其中的数字和对应的操作内容都不会错,所以就可以根据这些数字进行回退,假如需要回退的话,就可以根据这些数字回退到当时的状态。回退的命令就是git reset ,回退到上一次的版本就是git reset --hard HEAD^,上上一次就是git reset ––hard HEAD^^,还可以回退到前N个版本git reset ––hard HEAD~N,也可以根据那一串数字进行回退,git reset ––hard 那一串数字。还有一种情况更无语,就是回退之后发现不行,再恢复回退之前的状态,这个也是可以实现的,第一种方法就是找到那一串数字,直接用git reset ––hard 那一串数字。第二种方法你可以通过git reflog来查看你的每一次命令,这个命令记录的有那一串数字还有相应的操作。找到那一串数字应该就可以恢复了。

7.工作区和版本库

工作区就是这个目录,所有的文件都可以看到更改,就是存储你代码的那个文件夹,而版本库就是当前目录里一个隐藏的文件夹,名字是.git

这个文件夹里面存放的有关于日志还有文件的状态(那些添加了,那些提交了)等等

8.撤销工作区的修改

git checkout -- 文件名.后缀名

撤销暂存区的修改(暂存区就是add以后的地方,撤销的话先从暂存区取出来,再接着撤销工作区的文件)

git reset HEAD file,git checkout -- 文件名.后缀名

9.删除文件

如果该文件没有添加到暂存区的话,那么直接rm删掉就可以了,如果该文件提交到版本库里的话,只在工作区删除的话,git会提醒你工作区里的文件和版本库里的文件不符,那么要么你把版本库里的也给删掉,要么就从版本库里在拉一份过来,拉过来的命令是(git checkout —文件的名字.后缀),在版本库里删除文件的命令是(git rm 文件名.后缀,记得还得再提交一次)。

GIT版本控制工具总结的更多相关文章

  1. Git版本控制工具(三)----远程仓库GitHub的使用

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. git版本控制工具(二)----本地版本库的常用操作

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  3. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  4. Git 版本控制工具(学习笔记)

    GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core  之后回车输入密码,即可完 ...

  5. 使用Git版本控制工具管理GitHub

      使用Git版本控制工具管理GitHu Git是一个分步式的管理系统:只要上传操作得当,所有的都可以相当于是中央服务器,成员代码共享,A写的代码B也有,一般把一个人当做主机,其他人通过该主机拼装代码 ...

  6. Git版本控制工具学习

    Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...

  7. Git 版本控制工具使用介绍------Windows系统下使用

    Git 是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什 ...

  8. git版本控制工具基本用法讲解(转)

    一.安装Git 在linux系统使用非常方便,只需要打开shell界面,并输入: ? 1 sudo apt-get install git-core 按下回车后输入密码,即可完成Git的安装.但我们可 ...

  9. Git版本控制工具(1)

    学习Git的最佳资料网站: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ 这 ...

  10. 再次学习Git版本控制工具

    Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP程序员雷雪松带你一起详细 ...

随机推荐

  1. Azure 虚拟机诊断设置问题排查

    Azure 为用户提供了可以自己配置的性能监控功能:Azure 诊断扩展.但是在具体配置中,经常会遇到各种各样的问题.不了解监控的工作机制常常给排查带来一定难度.这里我们整理了关于 Azure 虚拟机 ...

  2. 反向代理负载均衡调度:nginx

    一.概述 反向代理:以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个 ...

  3. 客户端连接caching-sha2-password问题

    ALTER USER 'root'@'localhost' IDENTIFIED BY '123' PASSWORD EXPIRE NEVER;ALTER USER 'root'@'localhost ...

  4. 快速开发QCombox以及业务样式自定义

    这是我在项目实战中的个人总结,写的仓促,有些东西也不一定准确,有些是自己推断的,还希望各位多多指教,多多评论. 关于QCombox如果不需要自定义,其实写UI是很简单的. 创建实例:QComboBox ...

  5. trait代码复用

    在面对对象编程中我们经常通过继承来解决部分代码多次出现的问题 php支持单继承,有时候由于不相关联的两个类的方法相同我们需要进行继承操作, trait可以实现不继承的情况下复用代码 trait的使用类 ...

  6. javascript的基础知识整理

    Basic ObjectsArray Properties constructor  属性返回对创建此对象的数组函数的引用 object.constructor prototype 属性使您有能力向对 ...

  7. ftp 命令全集

    FTP的命令行格式为: ftp -v -d -i -n -g [主机名] , 其中 -v 显示远程服务器的所有响应信息: -n 限制ftp的自动登录,即不使用:.n etrc文件: -d 使用调试方式 ...

  8. 团队作业——Alpha冲刺2/12

    团队作业--Alpha冲刺 冲刺任务安排 杨光海天 今日任务:主要学习JAVA语言,以及加入了Android开发内容的学习. 明日任务:安装Android Studio以及通过观看视频和阅读材料的形式 ...

  9. Nginx防hashdos模块使用帮助

    经过上周一周朋友们帮忙测试和bug fix,nginx_http_hashdos_module已经达到可以线上使用的水平,下面是使用记录. 下载 #wget --no-check-certificat ...

  10. kdTree相关原理及c++实现

    kdTree概念 kd-tree或者k维树是计算机科学中使用的一种数据结构,用来组织表示k维空间中点的集合.它是一种带有其他约束条件的二分查找树.Kd-tree对于区间和近邻搜索十分有用.一般位于三维 ...