git 切换分支_Git极简教程

Git简介

由于强烈反对CVS和SVN这些集中式版本控制系统,又面临BitMover公司要收回Linux社区对其旗下商业版本控制系统BitKeeper的免费使用权,Linux之父Linus花了两周时间自己用C语言写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理!

相比SVN等集中式系统需要“中央服务器”,并必须联网才能管理版本,分布式的Git则在每个人的电脑上都是一个完整的版本库,工作的时候不需联网。

Git先进的分支管理及工作速度更是甩SVN几条街。Git是目前世界上最先进的分布式版本控制系统。

Git安装

访问Git官网https://git-scm.com/, 并进入下载界面https://git-scm.com/downloads,下载最新版本的Git,并安装。

Windows中安装完成后,在资源管理器右键点击“Git Bash Here”,在当前文件夹打开Git命令窗口

a1b70a1c500745e46321bece64ad28ce.png

打开后在命令行窗口中输入一下命令配置账号信息,--global表示在此电脑上所有Git 仓库都使用这个配置。

$ git config --global user.name "your name"
$ git config --global user.email "email@example.com"   

Git使用

创建版本库

$ git init
Initialized empty Git repository in E:/study/Git/learngit/.git/

上传文件

$ git add readme.md
$ git commit -m "commit readme.md"
[master (root-commit) ff4d872] commit readme.md
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 readme.md

查看修改内容

git diff readme.md

提交日志查看

$ git log    
$ git log --oneline         //单行显示
$ git log -n3               //显示最近三次提交的日志
$ git log -n3 --oneline     //多参数
$ git reflog                //查看命令历史
$ git log --graph           //日志图像化

撤销修改

$ git restore readme.md          //暂未add到暂存区,从暂存区覆盖工作区文件
$ git restore --staged readme.md //已添加到暂存区,删除暂存区修改

版本回退

$ git reset --hard HEAD^ //回退上一个版本 HEAD^^:上上一个 HEAD~100上100个版本

删除/还原文件

$ git rm readme.md
$ git commit -m "delete readme.txt"
$ git checkout -- readme.txt          //还原删除

分支管理

创建与合并

$ git branch            //查看分支
$ git branch <name>     //创建分支
$ git switch <name>     //切换分支 或者使用 git checkout <name> 
$ git switch -c <name>  //创建并切换分支 或git checkout -b <name>
$ git merge <name>      //合并某分支到当前分支
$ git branch -d <name>  //删除分支
$ git branch -D <name>  //强制删除分支

BUG版本

$ git stash           // 存储当前dev分支工作状态
$ git checkout master //切换到主分支
$ git chekout -b issue-bug-99 //从master分支中创建bug版本,并进行bug修复
$ git switch master   //切换到主分支
$ git merge --no-ff -m "merged bug 99 fix 100" issue-bug-99//合并到master
$ git switch dev      //切换到dev工作分支
$ git stash list      //查看存储的分支信息
$ git stash apply     //恢复存储的分支信息
$ git stash drop      //删除存储的分支信息
$ git stash pop       //恢复并删存储的分支信息
$ git cherry-pick 1e123025c //bug99提交信息应用到当前分支,1e123025c为提交号

标签管理

创建标签

$ git tag v0.2                //给当前版本打上v0.2的标签
$ git tag v0.1   1e123025c    //给1e123025c提交号的版本打上v0.1的标签   
$ git tag                     //查看所有标签
$ git show v0.1               //查看标签为v0.1的版本信息
$ git tag -a v0.1 -m "version 0.1" 1e123025c //创建带说明的标签
$ git push github v0.1        //推送v0.1标签到远程github仓库 
$ git push github --tags      //推送所有本地标签到远程github仓库

删除标签

$ git tag -d v0.1       //删除v0.1的标签
$ git push github :rdfs/tags/v0.1  //删除远程github仓库的标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值