Git学习(一)
来源:互联网 发布:汽车分期2016年数据 编辑:程序博客网 时间:2024/06/05 21:50
前几周学长就教了git入了门,然后因为很多考试和四级,就耽搁了,今天找出时间又复习了下git,总结所学内容
首先git是一种版本控制系统,就像你创了一个文件,然后对文件进行了一系列的修改,但是一般情况下你是无法回到过去你修改的版本,git系统可以,就像是给了你能回到过去的能力,力挽狂澜emmmm。
git一开始是在linux系统下的管理系统,然后好像也移植到了其他系统,电脑上安装的ubuntu或者deepin之类linux系统的都可以比较方便得使用git,我用的是ubuntu17.04版本,首先打开终端,ctrl+t,输入:
sudo apt-get install git 来进行安装git
然后要用一些语句来告诉系统一些当前用户信息:
git config --global user.name "Your Name" 这里表示你用户的名字
git config --global user.email "email@example.com" 这里表示用户的email,如果只是在本地操作,这两个可以随便写。。
之后在你想要建项目的地方创建一个放项目的文件夹:
mkdir Gittest(文件名字)
之后cd Gittest来到该目录下,git init表示该文件用git管理,然后一个版本库就建好了
然后在里面创建一个你想要的文件,这里以txt文件举例
ps:一开始我使用vim来写代码文本的,然后学长说emacs比较好用,就用emacs举例吧,安装也很简单和vim一样:
sudo apt-get install emacs
首先touch test.txt创建一个文件
然后输入emacs test.txt用emacs来打开,里面随便写一句话,比如hello,保存退出
这个时候我们要用版本库里加东西:
git add test.txt
这个命令表示将该文件先放进一个缓存区,你这个时候可以写很多add命令
然后用commit -m "add hello"将缓存区的所有东西放进库中,注意这个双引号里面的内容表示对版本更新的说明
这个时候你的文件就真正得放入文本库进行管理了
这个时候你再用emacs将test.txt文件打开再进行修改,比如加了world,保存退出
我们先慢点提交,这个时候可以用:
git diff来看看当前修改的和最近一次保存的版本库里的文件的不同之处(如果保存了以后没有修改文件会没反应)
然后再用git add test.txt加到缓存区
这时可以用git status来看看库中文件修改的状态
然后commit -m "add world"把缓存区所有文件提交到库
这样反复重复上述得过程,你可以对文件进行多次修改和提交
可以用:git log来看看所有修改的历史版本,介绍一下查询出的结果前面有一大串十六进制字符,该字符表示该操作提交的id,这个在版本恢复中很有用,是系统自动生成的
那么git真正的用处开始了,如果我们想恢复到上一个版本怎么办?
git reset --hard HEAD^ 语句可以恢复到上一版本,参数HEAD表示的是库中最近保存的版本,HEAD^表示当前版本的上一个版本,HEAD^^表示上上版本,如果要回到很前的几个版本,参数就改成:HEAD~10这个语句就表示回到当前版本往上的第10个版本
这个时候可以用git log看看,可以惊奇得发现该版本前面的10个版本都不见了,那如果还想回到之前的那几个版本怎么办,这个时候之前的提交id就起作用了
往上找到之前log过的版本id,git reset --hard+版本id就可以回到该id的版本,这个id不用全部写完,写个前6-8位左右系统可以自动找到
那么问题来了,如果没有之前的log记录怎么得到之前版本的id
git reflog :git保存了之前对库操作的所有历史操作指令,用该语句可以找到你要的版本id
然后推荐一个很好学习git的网站,廖雪峰:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
里面感觉说的很通俗易懂。。我是在里面学的,今天就学到这吧
- git学习(一)
- git学习(一)
- git学习(一)
- Git学习(一)
- git 学习 (一)
- Git 学习(一)
- Git学习(一)
- Git学习(一)
- git学习(一)
- git学习(一)
- Git学习(一)
- git学习(一)
- git学习(一)
- git 学习(一)
- Git学习(一)
- Git 学习(一)
- Git学习(一)
- Git学习教程(一):git简介
- 【sql语句之】SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- 【hadoop】DataNode用jps查看无法启动解决办法
- 【Sublime Text 3】用户自定义设置文件 (Preferences.sublime-settings — User)——解决tab和space混用问题
- 我的Java数据结构和算法
- 【LeeCode】Reverse Integer 总结
- Git学习(一)
- Docker: 限制容器可用的 CPU
- eclipse配置Struts2至Tomcat8.5 全过程搭建
- 闪光灯降功耗方案
- LA 3938 "Ray, Pass me the dishes!"
- shell日期处理:给定日期推周几日期、求上周周几日期
- 跨域资源共享CORS学习笔记
- 向量积
- Swing JTable 简单使用