Git工具相对比Svn最大的优势:
1、分布式,每个设备上面都会有版本记录,不怕中心设备仓库清空;
2、Svn提交版本,必须有网络,至少而是局域网;
百度:git tag branch 区别
tag就像是一个里程碑一个标志一个点,branch是一个新的征程一条线;
tag是静态的,branch要向前走;
Git中tag的用法
tag因为属于是不变的版本,是无法版本回退的,
需要我们get checkout tag,切换到tag分支,然后再新切换一个分支2,在分支2上面在修改的;
在使用Git命令进行合并的时候,有时候会进入到Vim编译器里面:
退出插入模式的方法是,按 ESC 键或组合键 Ctrl+[ ,退出插入模式之后,将会进入编辑模式 。
保存并退出则可以讲两条命令结合起来使用(注意命令顺序,先保存,后退出): ----> :wq
如果要把b分支merge到a分支,那么需要:
git checkout a //将当前的branch切换到a
git merge b //将b merge到a
git branch -d b //将b分支删除
使用命令查看配置是否成功:
git config --list
* 安装brew
* git config --global user.name “xxx”
* git config --global user.email “xxx”
* cd path
* git init (创建版本库)
* git add “file” (添加文件)
* git add . (提交当前目录所有修改的文件)
* git commit -m “mark” (提交)
* git status (查看版本库状态)
* git log [—pretty=oneline] (查看日志)
* git reset —hard HEAD^ (版本回滚 HEAD^ 一个^代表一个版本)
* git reset —hard [log 版本标识] (回滚到指定版本)
* git reflog (查看历史命令 配合上一条命令)
* git diff HEAD — “file name” (对比差异)
* git rm [file name] (删除文件,commit)
* git branch (查看分支列表)
* git checkout -b [分支名] (新建分支)
* git checkout [分支名] (切换分支)
* git pull (更新)
* git push (提交到gitlab)
* git clone [git url] (拉取版本)
* git branch -D [分支名] (删除本地分支)
* git push origin —delete [分支名] (删除服务器分支)
git branch -a 查看远程分支、
git merge 分支名
history 查看历史命令
git push --set-upstream origin shopping2.4
这里就需要讲到Git的回退了,在Android Studio中提供了两种回退的方式:Git revert以及Git reset。
1、Git revert可以将版本回退到上一步,但是会新增一个提交,
2、相比之下,Git reset就要干脆的多,与Git revert的功能一样,它也可以将代码恢复到上一个版本,但是不会新增一次提交。
Git标签操作 : 轻量级标签, 带注释标签;
--查看标签 :git tag ;
--添加标签 : 轻量级标签git tag tagName , 带注释标签git tag -a tagName -m 'description' ;
--删除标签 :git tag -d tagName ;
--提交标签到GitHub中 : git push origin --tags ;
标签分类 : Git中的标签分为 轻量级标签(lightweight) 和 带注释的标签(annotated), 一般情况下推荐使用带注释的标签, 如果标签是临时的可以采用轻量级标签;
-- 轻量级标签 : 轻量级标签中的信息含量很少, 这种标签只代表某时刻代码的提交, 相当于指向这个提交的指针;
-- 带注释标签 : 这种标签是一种校验和, 包含标签名, 邮箱, 日期, 标签信息, GPG签名 和 验证, 它相当于一个对象, 封装了这些信息;
Git global setup
git config --global user.name "mxg"
git config --global user.email "xxx@com.cn"
Create a new repository
git clone git@code.soolife.cn:mxg/demo.git
cd demo
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder
cd existing_folder
git init
git remote add origin git@code.soolife.cn:mxg/demo.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote add origin git@code.soolife.cn:mxg/demo.git
git push -u origin --all
git push -u origin --tags