git分布式版本控制系统,记录每一次的改动
分布式与集中式
集中式:最新版本存在一个中央服务器,每次工作必须先拉取,写完再上传。
缺点:安全性低,中央处理器损坏代码丢失。工作必须联网(代码在版本库中)
分布式:每个人的电脑都有完整的版本库,有一个服务器充当中央服务器便于多份代码的交换
优点:安全性高,一份丢失可复制其他版本库,无需联网(代码在本地版本库)
Mac OS上安装git,git安装三种方式
1、homebrew安装:安装homebrew(https://brew.sh/)
安装homebrew包管理工具:复制终端/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装git:brew install git
2、Xcode安装git:
直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了
或使用命令行:xcode-select --install,弹出对话框点击安装
3、从官方下载包,双击安装
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
为每个git单独设置用户名和email,或者所有git用户名email一致
进入.git文件夹
1、为每个git设置用户名email
git config user.name "ming"
git config user.email "abc@qq.com"
查看config文件:cat config 图1
2、所有git设置同样的信息
git config --global user.name "ming"
git config --global user.email "abc@qq.com"
3、存储git的用户名密码
git config credential.helper "store"
执行后,config文件中增加字段,图2
创建版本库
创建空文件夹:mkdir document
进入文件夹:cd document
初始化仓库:git init(文件夹中多了.git目录)
//查看隐藏目录:ls -ah(查看隐藏的.git目录)
添加文件到git:git add “readme.txt”
//常见报错https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
//git命令只在git目录内生效,git init除外
提交代码:git commit -m “new files”
查看目前状态:
git status
On branch master
nothing to commit, working tree clean
没有未提交的修改
修改提交:
git add "readme.txt" //会覆盖原有代码,将文件放到暂存区
git commit -m "modify"//将文件提交到版本库,将暂存区内文件一次性提交
版本回退:HEAD为版本指针
git log//查看日志,都提交过哪些版本
//git log --pretty=oneline 可以看到版本号 图3
git reset HEAD^//上一版本
git reset HEAD^^//上两个版本,以此类推
前进到未来版本
//git relog 记录每一次命令
git reset --hard 版本号前几位(四五六位)
工作区、暂存区
工作区:本地文件夹
暂存区:使用commit将修改提交到版本控制库
撤销修改: 回到最近一次git commit 或git add
git checkout -- readme.txt
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
一种是readme.txt已经添加到暂存区后,发现暂存区中东西有问题不能提交,使用git reset HEAD <file>将暂存区内容回退到工作区,再将工作区修改丢掉git checkout -- readme.txt
删除文件
rm test.txt//删除工作区文件
git commit -m “delete”//提交删除修改,从版本库删除
git 命令:
提交代码:git commit -m "modify" //-m "" 提交说明
查看git上文件状态(添加,修改等):git status
查看与原来git上的文件的差异:git diff “readme.txt”
提交修改代码(与提交新代码一样):git add “readme.txt” git commit -m
更多git实践总结见 git实践总结