分支
给项目创建两个分支
- master:主分支,提供给用户使用的最新版本,都在这个主分支上发布
- develop:开发分支,正在开发新功能的分支
git branch -a // 查看所有分支
git branch 分支名 // 创建名字未xxx的分支
git checkout 分支名 // 切换对应的分支
git push
git push -u origin 分支名 // 推送到指定的分支(也可以省略-u)
一般开发新功能时都是在develop分支下开发,当新功能测试稳定之后,要将其同步到master分支去。我们将这种操作称之为“合并”。
git checkout master // 切换到主分支
git merge develop // 将develop合并到当前分支
如果两个分支都有独立修改的内容,在合并时会发生冲突,这个时候就要手动去修改文件内容,将冲突消除,参考git分支管理
一般我们希望的情况是,master永远是最新的稳定版本且不会随意修改这个分支的内容;只在develop分支的功能开发完成之后再合并到master,这样才能避免合并时的冲突。
标签
如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。
比如说,我们想为我们的项目发布一个"1.0"版本。 我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0"的标签。
-a 选项意为"创建一个带注解的标签"。 不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解。 我推荐一直创建带注解的标签。
git tag -l // 查看所有标签
git tag -a v1.0 // 创建v1.0版本标签
git push origin v0.1 // 将标签推送到远程仓库
当你执行 git tag -a 命令时,Git 会打开你的编辑器,让你写一句标签注解,就像你给提交写注解一样。
标签也可以像分支一样操作,比如切换到标签(分支)、推送到远程仓库等。
unix vi编辑器常用命令
a (append) 由光标之后加入资料。
A 由该行之末加入资料。
i (insert) 由光标之前加入资料。
I 由该行之首加入资料。
o (open) 新增一行于该行之下供输入资料之用。
O 新增一行于该行之上供输入资料之用。
《ESC》 结束输入模式。
:q! 离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入磁盘中,并离开vi。
:ZZ 同wq。
:x 同wq。
:w 将缓冲区内的资料写入磁盘中,但并不离开vi。
:q 离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容。