简明一句介绍Git:分布式版本控制系统,充当 项目或者笔记、代码等等文档 的版本记录者。
(粑粑再也不用担心你找不到兄弟姐妹啦~)
Git安装
- Linux上安装git:
- 命令行输入:git 系统会检测你有没有安装git,并且还会提醒你怎么安装git
- apt-get install git root用户安装,非root用户前面加上 sudo
- 或者通过git源码安装,下载git源码,解压,操作 ./config,make,sudo make install 一般就可以安装好了
- Windows安装git
- 从Git官网直接下载安装程序,默认选项安装即可。
- 在开始菜单中找到安装的Git,Git—Git Bush,弹出一个类似命令窗口,即安装成功。
- 最后一步操作:在命令行输入
- git config –global user.name “Your Name”
- git config –global user.email “email@example.com”
因为Git是分布式版本控制系统,每个机器都需要报上 名号 :你的名字和email地址
Git操作
创建版本库(repository仓库)== 目录:该目录中所有的文件都会被Git管理着,会盯着那些文件的“成长变化”。
- 创建步骤:
1.创建一个空目录 mkdir learngit ;cd learngit; pwd显示出当前目录路径/user/train/learngit 尽量使用英文
2.git init
命令把这个目录变成Git可以管理的仓库
可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,改乱了会后大悔的哦
如果没有看见这个文件,试试 ls -ah 被隐藏了呗
- 创建步骤:
- 添加文件到版本库
- 版本控制系统可以告诉你每次的改动,但是类似图片视频这样的文件,git在强大也是无法知道你具体做出了什么更改。这里强调还是使用纯文本的方式编写文件。标准的utf-8哟
- 操作步骤:(1)在git仓库下,编写一个readme.txt文件,内容自定;(2)git add 命令 告诉git你要添加一个文件了,git add readme.txt,;(3)命令git commit告诉Git,把文件提交到仓库 git commit -m “wrote a readme file” -m表示后面跟的是你的此次版本的说明(其他属性自己可找度娘)。这样就可以了,当然当你之后在对此文件进行更改时,更改完毕也是要用git add + git commit这两个命令重新提交的。
- git status 查看当前仓库的状态
- git diff 查看仓库具体什么更改了更改了什么
- git log 查看修改日志记录, 加上–pretty=oneline参数,可以清晰的看到版本号,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。可以使用 git reset命令,将当前版本退回到上一个版本:git reset –hard HEAD^ ,git log 查看版本日志记录,要想回到指定版本的状态,就git reset –hard 版本号 ,版本号没必要写全,前几位就可以了,Git会自动去找。git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区
- git checkout – file可以丢弃工作区的修改。这里有两种情况:一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。注意:git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令。
- git rm用于删除一个文件
Git工作区---缓存区---HEAD
- 工作区Working Directory:就是你电脑里现在能看到的那个目录 比如我的 learngit
- 工作区中有个.git文件是版本仓库,这里面有一个缓存区stage或者叫index,还有git为我们创建的第一个分支master,以及指向master的head指针。也就是说“需要提交的文件修改通通放到暂存区,然后一次性提交暂存区的所有修改”。也就是git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。
- Git跟踪并管理的是修改,而非文件,每次修改,如果不add到暂存区,那就不会加入到commit中。
就记录到这里吧,下次用的后面的远程仓库操作了再继续记录~,在附上一个简洁的http://www.bootcss.com/p/git-guide/