初步了解git是什么
文章目录
1)概述
2)SVN与GIT的区别
3)创建版本库
4)版本回退
5)工作区和暂存区
6)添加远程库
概述
- Git是什么?
- Git是目前世界上最先进的分布式版本控制系统
- SVN与GIT的区别:
- 1.GIT是分布式的,而SVN是集中式的
- 2.GIT把内容按元数据方式存储,而SVN是按文件:因为git目录是处于个人机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
- 3.GIT分支和SVN的分支不同:svn会发生分支遗漏的情况,而git可以同一个工作目录下快速的在几个分支间切换,很容易发现未被合并的分支,简单而快捷的合并这些文件。
- 4.GIT没有一个全局的版本号,而SVN有
- 5.GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
- 在Windows上安装Git
- git 官网 下载安装
- git for window
- 安装完成之后进行设置
it config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
常用命令
创建版本库
首先,选择一个合适的地方,创建一个空目录。
git init
- 初始化一个Git仓库
git add filename
- 添加文件 可反复使用,添加多个文件
- 把文件修改添加到暂存区
git commit -m "message"
- 提交更改
- 把暂存区的所有内容提交到当前分支
git status
- 工作区的状态,是否有文件被修改
git diff
- 查看修改内容
版本回退
git log
- 查看提交历史
- 可以加上 --pretty=oneline
git reset --hard commit_id
- 在各个版本之间穿梭
- HEAD 指向当前版本
- HEAD^指向上一个版本
- head~100 往上第一百个版本
git reflog
- 查看命令历史
工作区和暂存区
-
工作区(Working Directory)
- 电脑里能看到的目录
-
版本库(Repository)
- 隐藏目录 .git
- 暂存区 stage
- 第一个分支 master
- 指向master的一个指针 HEAD
- 每次修改,如果不用git add 到暂存区,那就不会加入到commit中。
####撤销修改
-
git checkout -- filename
- 丢弃工作区的修改
- 用版本库里的版本代替工作区的版本(无论是修改还是删除)
-
git reset HEAD filename
- 回退到最新版本
添加远程库
git remote add origin git@server-name:path/repo-name.git
- 关联一个远程库
git push -u origin master
- 第一次推送master分支的所有内容
git push origin master
- 推送最新修改
git clone
- 克隆一个仓库
- git支持多种协议,包括https,通过ssh支持的原生git协议速度最快