Git:分布式版本控制系统
Git 是一个开源的分布式版本控制系统,没有“中央服务器”,每个人的电脑上都是一个完整的版本库。
CVS及SVN:集中式的版本控制系统
Subversion(SVN) 是一个开源的集中式版本控制系統, 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。
Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行
1安装
在Windows上,从Git官网直接下载安装程序
安装后搜索Git可以看到
1. Git CMD 2. Git Bash 3. Git GUI
Bash是基于CMD的,Bash在CMD的基础上新增了一些命令和功能,故建议使用Bash更方便。Git GUI 是可视化界面
安装后设置用户名和邮箱
$ git config --global user.name "username" $ git config --global user.email "email"
查看
$ git config user.name
$ git config user.email
2初始化仓库
点击Git Bash 右键-属性-修改起始位置
打开Git bash就从这里开始
$ mkdir gitlearn // 新建文件夹 $ cd learngit //打开文件夹 $ pwd //显示当前目录。 $ git init //初始化仓库
初始化后就是这样
如果你没有看到.git
目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见。
3克隆项目
使用 git clone 拷贝一个 Git 仓库到本地,在github找个项目
$ git clone https://github.com/dabeng/OrgChart.git
4 常用命令
//查看当前所有分支 *为当前分支
git branch
//切换并新建分支dev
git checkout -b dev
//更新分支代码并提交
git add *
git commit -m "init dev"
git push origin dev
5合并develop分支到master分支
// 1打开develop分支
git checkout develop
// 2把代码拉取下来
git pull
// 3切换到主分支
git checkout master
// 4把分支的代码merge到主分支
git merge master
// 5推送到远程
git push
错误
1 fatal: unable to access 'https://github.com/mozilla/pdf.js.git/': OpenSSL SSL_read: Connection was reset, errno 10054
原因是:一般是服务器的SSL证书没有经过第三方机构的签署 可能是网络不稳定,连接超时导致的
解决: git config --global http.sslVerify "false" 修改设置,解除ssl验证
2 fatal: unable to access 'https://github.com/mozilla/pdf.js.git/': Could not resolve host: github.com
解决:将命令行里的http改为git重新执行。
Submodule
开始使用子模块
添加子模块
git submodule add <repository_url> [<path>]
git submodule add --force --name microapps/discipline https://git.xx.xx/Apps/discipline.git apps/discipline
更新子模块,只需切换到子模块所在的目录,然后运行 `git pull origin master` 命令即可获得最新的修改内容。
删除子模块
1) 根据路径删除子模块的记录
git rm --cached <path/to/submodule>
2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
清理子模块配置
3) 编辑“ .git/config”文件,将子模块的相关配置节点删除掉
清理子模块配置
4) 手动删除子模块残留的目录
清理脏文件
其他开发者获取子模块