Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
与SVN的区别
- GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
- GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
- GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
- GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
- GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
常用命令
初始化Git仓库
git init
添加文件到 暂存区
add . 当前目录下的所有文件
git add <文件>
查看当前Git仓库的状态
git status
本地提交
git commit -m '注释'
查看Git提交的历史
git log
回退更改(提交层面 强调 撤销)
git reset - -hard <版本号>
检出历史版本项目(强调 替换)
git checkout <版本号>
查看历史命令
git reflog
删除文件
git rm -f <文件名>
创建标签
git tag -a '标签号' -m '注释'
创建分支
git branch <分支名>
合并分支
git merge <分支名>
图形化显示log
一行显示可以直接 --oneline
git log --oneline --all –graph
从远程仓库克隆项目
git clone 分支 地址 <检出到某某文件夹>
添加远程仓库地址
git remote add 远程名字默认为<origin> 地址
查看远程仓库地址
git remote -v
提交到远程仓库
git push -u 远程名字默认为<origin> 分支