Git:是一种版本控制软件,目前常用的版本控制软件还有SVN。
SVN和Git的区别:
SVN:是集中式的,服务器上集中了项目的所有版本,客户机上只有项目的最新版本,无法断网操作。
Git:是分布式的,每一台客户机也相当于是一台服务器拥有项目的所有版本,断网时项目可以保存在本地,当连上网之后再同步到远程服务器。
git的原理如上图,git仓库,工作区,暂存区都属于一台机器。
git的核心操作有clone,add,commit,push
git远程服务器:
yum -y install git #安装git
mkdir /var/git #创建git目录,可以自定义
git init /var/git/git_project --bare #初始化一个名字叫做git_project的空仓库,--bare代表空
ls /var/git/git_project #查看仓库内容
客户机:
克隆仓库:clone
yum -y install git #安装git
git clone root@192.168.4.5:/var/git/git_project #克隆远程服务器的仓库
# 克隆完毕以后在本地当前目录下产生了一个名字叫做git_project的仓库
# 这个git_project就是工作区
ls -al ./git_project #查看工作区
# 其中有一个名字叫做.git的隐藏文件,这个文件就是本地仓库
修改git配置:(给git指定邮箱和名称,在提交到本地仓库和远程服务器的时候要用到)
git config --global user.email "邮箱"
git config --global user.name "名称"
# 会在~/目录产生一个.gitconfig的配置文件
提交到缓存区:add
# 使用 git status查看仓库中数据的状态
git add filename #提交单个文件到暂存区
git add . #提交所有的文件暂存区
git rm #从缓存区中移除
提交到本地仓库:commit
git commit -m "注释" #注释需要简要说明修改的地方
提交到远程服务器:push
git config --global push.default simple
git push #提交到服务器
从服务器下载:pull
git pull #将服务器上最新版本的项目下载到本地,只更新变化的
# git clone是复制所有的
日志:(下面的命令打印出的日志长度不同)
git log
git log --pretty=oneline
git log --oneline
git reflog
写总结的第二十二天!!!