区别于CVS和svn的集中式版本控制系统,
集中式必须联网才能工作, 分布式每个人的电脑都是一个完整的版本库
创建Git版本库时,Git自动为我们创建了唯一一个master分支
(输入中包含引号回车,是会继续输入的,补齐后回车,ESC退出输入模式,o,i,a,进入输入模式,zz,wq保存修改退出. q!放弃修改退出)
git add 文件名 ; // 添加文件, 即添加到缓存区
git commit -m "说明"; //提交文件,提交更改,把暂存区的所有内容提交到当前分支
git status ; //查看具体信息
git diff ; //查看上次修改内容
git log ; //查看历史提交日志
git log --pretty=online ; //按一行 显示一个提交日志
git reset --hard HEAD^ ; //版本回退到上一个版本
git reset --hard 版本号 ; //回退到指定版本
cat 文件名 ; //查看文件内容
git reflog ; //记录每一次命令,可查看版本号
git diff HEAD -- readme.txt ; //查看工作区和版本库里面最新版本的区别;
git checkout -- file ; //可以丢弃工作区的修改
git reset HEAD file ; //撤销暂存区的修改,重新放回工作区
GitHub网站 右上角 点击 New repository 创建一个新的库;
Repository name 填入 learngit,创建;
git remote add origin [email protected]: github账号名/learngit,git; //关联你的远程库,库名 origin;
git push -u origin master ; //把本地库的所有内容推送到远程库上,这里地方会有一个SSH警告,输入yes回车;
git push origin master; //推送最新修改
git clone git @github.com:github名/gihub库名.git //从远程库克隆一个本地库
git branch dev; //创建分支
git checkout dev ; // 切换到分支
git checkout -b dev; //;两条命令合一,创建并切换
git branch; //查看当前分支,列出所有分支,当前分支前会有一个*号
git merge; // 用于合并指定分支到当前分支.
git branch -d dev; //删除分支
git log --graph --pretty=oneline --abbrev-commit ;// 直观的看合并分支情况
git log --graph ; //查看分支合并图
git merge --no-ff -m "merge with no-ff" dev; //不用fast forward 方法合并分支;
git remote -v; //查看远程库的信息
git push origin master; // 推送分支
git clone [email protected]:
git checkout -b dev origin/dev ; //创建本地dev分支
git pull; //远程抓取分支
git branch --set-upstream-to=origin/dev dev; //设置本地dev与远程origin/dev分支的链接,
(分支管理部分有一些问题,大概还需要再研究一下)
理解为版本号
git tag v1.0; //给当前提交打上标签
git tag; //查看所有标签
git tag v 2.0
git show v1.0; // 查看标签信息
git tag -a v2.0 -m "说明"
git tag -d v1.0 ; // 删除标签
git push origin
git push origin --tags; // 推送全部未推送到远程的本地标签
git tag -d v1.0; git push origin:refs/tags/v1.0; //删除远程标签,先删除本地标签