Git学习一 “局域网篇”

来源:互联网 发布:360商城抢购软件神器 编辑:程序博客网 时间:2024/05/18 03:12

前段时间,参考廖雪峰的官方网站学习了Git,这边简单记录下(第一次用markdown编辑)。

开发一直延用的SVN,谁知道哪天Git就上岗了呢,学吧,技多不压身!


一.比较Git和SVN

1.Git是分布式的,SVN不是
Git使用的时候,每个开发人员本地都有一个和中央库相同的本地库,在没有网络的情况下,照常可以commit,查看版本历史记录,创建项目分支等。

2.权限
SVN有明确的权限管理机制,可以实现分层管理;Git使用起来,代码的保密性差,适合开源程序开发。

3.服务器
SVN服务器压力大,数据容量容易暴增;Git服务器压力和数据量都不会太大。
……

二.window上Git安装

1.msysgit是Windows版的Git,从https://git-for-windows.github.io下载,默认安装。

2.安装完成后,桌面鼠标右击(开始菜单找到Git)’Git Bash Here’ ,弹出命令行窗口。

3.对Git仓库指定用户名和Email地址

$ git config --global user.name 'sj'$ git config --global user.email "email@126.com"    

PS:git config –global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

三.操作

1.本地创建版本库

找到对应的盘符                cd f:创建文件夹                   mkdir gitdemo把git目录变成管理仓库          cd gitdemo ;   git init 

这里写图片描述
2.创建文件

创建文件touch readme.txt

这里写图片描述

3.将文件提交到版本库

--添加文件到暂存区git add readme.txt--提交文件到分支库git commit -m '提交说明,便于后期查看'  readme.txt

这里写图片描述

4.查看提交状态

--查看实时状态git status

这里写图片描述

--查看暂存区和工作区的区别git diff--查看已提交仓库和暂存区的区别git diff --cached简单说明下:* 我们电脑中看到的目录,我的gitdemo文件夹就是一个工作区* 工作区中存在隐藏目录.git(Git的版本库,其中包含了暂存区还有自动创建的第一个分支master,以及指向master的一个指针HEAD)    命令git add    实际上就是把文件修改从工作区添加到暂存区    命令git commit 实际上是把暂存区的所有内容提交到当前分支* 有人形象的将购物车比成暂存区,各位看官脑补

这里写图片描述

5.版本回退
有时难免提交的功能文件被宣判死刑,只能处理掉,这时候就会需要去查看历史日志记录了

--查看日志(看到具体的日志详情,由近到远)    git log --查看日志(以一行显示)    git log --pretty=oneline

这里写图片描述

现在,准备试试版本回退,当前版本用HEAD表示,上一个版本HEAD^,上上一个用HEAD^^,回退到100版本,用HEAD~100 ,当然也可以直接用commit id。

关于命令 git reset –hard(hard的用处,我们借鉴 git reset –hard/soft/mixed区别)

注:强调一个命令 git reflog,查看命令历史,非常好用

这里写图片描述

6.撤销修改和删除文件

--对未添加到暂存区的内容做撤销git checkout --file--对暂存区的修改撤销git reset HEAD file

这里写图片描述

这里写图片描述

注:git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区,当使用HEAD时,表示最新的版本

新增一个文件gitadd.txt,然后做删除操作
这里写图片描述

--删除文件(同添加,rm后再commit)git rm file--撤销删除git checkout -- file

这里写图片描述

注:git checkout其实使用版本库的版本替换工作区的版本,无论工作区是修改还是删除,都可以还原
0 0
原创粉丝点击