GIT版本控制工具总结
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版本控制工具总结的更多相关文章
- Git版本控制工具(三)----远程仓库GitHub的使用
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- git版本控制工具(二)----本地版本库的常用操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Git版本控制工具(一)----git的安装及创建版本库
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Git 版本控制工具(学习笔记)
GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core 之后回车输入密码,即可完 ...
- 使用Git版本控制工具管理GitHub
使用Git版本控制工具管理GitHu Git是一个分步式的管理系统:只要上传操作得当,所有的都可以相当于是中央服务器,成员代码共享,A写的代码B也有,一般把一个人当做主机,其他人通过该主机拼装代码 ...
- Git版本控制工具学习
Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...
- Git 版本控制工具使用介绍------Windows系统下使用
Git 是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什 ...
- git版本控制工具基本用法讲解(转)
一.安装Git 在linux系统使用非常方便,只需要打开shell界面,并输入: ? 1 sudo apt-get install git-core 按下回车后输入密码,即可完成Git的安装.但我们可 ...
- Git版本控制工具(1)
学习Git的最佳资料网站: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ 这 ...
- 再次学习Git版本控制工具
Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP程序员雷雪松带你一起详细 ...
随机推荐
- php notes
1. foreach中的引用 <?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * ...
- Qt与PyQT中设置ToolBar在AllowedArea的显示
因为个人对传统的软件GUI界面不是太喜欢,最近又在学习Qt和PyQt5,所以就有了设置ToolBar在窗口的不同地方的想法,经过浪里淘沙,最终在Qt官网里找到了,原来再添加toolBar的时候是由设置 ...
- 深入浅出SharePoint2013——Search Schema配置
如果增加了新的Metadata,请上传文件到文档库后,并确保每个字段都填充了数据.然后执行全文爬网. 这样才会产生对应新的管理属性.
- Beta阶段第一次冲刺
Beta阶段第一次冲刺 以后严格按照Git标准来,组员有上传Git的才有贡献分没有的为0 代码签入图 1.part1 -站立式会议照片 2.part2 -项目燃尽图 3.part3 -项目进展 1.正 ...
- Idea2018版本建的项目总是找不到主类
最近更新idea到2018,总是遇见无法加载到主类,刚开始以为是装的过程有什么搞错了,但重装好几遍都是,换成2017又恢复正常,最后发现聪明的同学找到了个偏门可以解决. 那就是先创建文件夹,然后在创建 ...
- MySql详解(七)
MySql详解(七) MySql视图 一.含义 mysql5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成. 好处: 1.简化sql语句 2.提高了sql的重用性 3.保 ...
- Swift学习笔记十:属性
1.存储属性 1. 作为特定类或结构实例的一部分,存储属性存储着常量或者变量的值. 存储属性可分为变量存储属性(keywordvar描写叙述)和常量存储属性(keywordlet描写叙述) ...
- 关于Netty Pipeline中Handler的执行顺序问题
原文地址:http://blog.csdn.net/wgyvip/article/details/25637651 最近在学习Netty框架,根据官网的教程学着做了几个小测试,都成功了,后面开始试着写 ...
- 欢迎来到Curl的世界
一.Curl 简介 curl命令是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是 综合传输工具,但按传统,习惯称curl为下载工具.作为一款强力工具,curl支持包括H ...
- 20145236《网络对抗》进阶实验——Return-to-libc攻击
20145236<网络对抗>进阶实验--Return-to-libc攻击 基础知识 Return-into-libc攻击方式不具有同时写和执行的行为模式,因为其不需要注入新的恶意代码,取而 ...