Git的正确使用姿势与最佳实践(下)
目录
本地仓库操作
版本标签
Gitignore
定期维护
本地仓库操作
- 查看本地仓库关联的远程仓库:git remote;在克隆完每个远程仓库后,远程仓库默认为origin;加上-v的参数后,会显示远程仓库的url地址;
- 添加远程仓库,一般会取一个简短的别名:git remote add [remote-name] [url],比如:git remote add example git://github.com/example/example.git;
- 从远程仓库中抓取本地仓库中没有的更新:git fetch [remote-name],如git fetch origin;使用fetch只是将远端数据拉到本地仓库,并不自动合并到当前工作分支,只能人工合并。如果设置了某个分支关联到远程仓库的某个分支的话,可以使用git pull来拉去远程分支的数据,然后将远端分支自动合并到本地仓库中的当前分支;
- 将本地仓库某分支推送到远程仓库上:git push [remote-name] [branch-name],如git push origin master;如果想将本地分支推送到远程仓库的不同名分支:git push :,如git push origin serverfix:awesomebranch;如果想删除远程分支:git push [romote-name] :,如git push origin :serverfix。这里省略了本地分支,也就相当于将空白内容推送给远程分支,就等于删掉了远程分支。
- 查看远程仓库的详细信息:git remote show origin;
- 修改某个远程仓库在本地的简称:git remote rename [old-name] [new-name],如git remote rename origin org;
- 移除远程仓库:git remote rm [remote-name];
版本标签
Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
- 使用版本标签(tag)标记重要的版本发布或里程碑。
- 版本标签应遵循一致的命名规范,并包含有用的描述信息。
列出现在所有的标签:git tag;
使用特定的搜索模式列出符合条件的标签,例如只对1.4.2系列的版本感兴趣:git tag -l "v1.4.2.*";
创建一个含附注类型的标签,需要加-a参数,如git tag -a v1.4 -m "my version 1.4";
使用git show命令查看相应标签的版本信息,并连同显示打标签时的提交对象:git show v1.4;
如果有自己的私钥,可以使用GPG来签署标签,只需要在命令中使用-s参数:git tag -s v1.5 -m "my signed 1.5 tag";
验证已签署的标签:git tag -v ,如git tag -v v1.5;
创建一个轻量级标签的话,就直接使用git tag命令即可,连-a,-s以及-m选项都不需要,直接给出标签名字即可,如git tag v1.5;
将标签推送到远程仓库中:git push origin ,如git push origin v1.5;
将本地所有的标签全部推送到远程仓库中:git push origin --tags;
Gitignore
般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。
如下例:
# 此为注释 – 将被 Git 忽略 # 忽略所有 .a 结尾的文件 .a # 但 lib.a 除外 !lib.a # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO /TODO # 忽略 build/ 目录下的所有文件 build/ # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt doc/.txt # 忽略 doc/ 目录下所有扩展名为 txt 的文件 doc/**/.txt 复制代码*
定期维护
-
删除不再使用的分支,以保持仓库的整洁性。
-
定期清理和优化Git历史记录,以避免仓库过大和性能问题。
写在最后
关于Git的正切使用姿势与最佳实践到此就结束啦,这些是Git的正确使用姿势和最佳实践的一些指导原则。根据具体的团队和项目需求,可能需要调整和进一步定制这些实践。不过,遵循这些最佳实践可以帮助我们更好地管理代码并促进协作开发。