什么是git
git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
git的特点
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
git的优点
1、适合分布式开发,强调个体。
2、公共服务器压力和数据量都不会太大。
3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。
git的缺点
1、不符合常规思维。
2、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
标签管理
创建标签
git branch 切换到需要打标签的分支上
git tag <name> 打一个新标签
git tag 查看所有标签
-a 指定标签名
-m 指定说明文字
git tag v0.9 f52c633 先找到需要打标签的commit id f52c633 再打标签
git show <tagname> 查看标签信息
注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
操作标签
git tag -d <tagename>v0.1 删除标签v0.2
git push origin <tagname> 推送标签到远程
git push origin --tag 推送全部未推送过的本地标签到远程
标签已经推送到远程
git tag -d <tagename>v0.9 先在本地删除标签v0.9
git push origin :refs/tags/v0.9 从远程删除标签
别名
git config --global alias.(别名后) status st=status
=git config --global alias.st status
参数 --global 参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用
配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中:
cat .git/config
别名就在[alias]后面,要删除别名,直接把对应的行删掉即可。