深入Git开发(Git标签tag操作和补丁patch操作详解)

上一章Git教程请查看:Git修复错误详细操作步骤
这一章我们开始讨论Git中标签tag操作,以及Git补丁patch操作。
一、git标签tag操作标签操作允许为仓库中的特定版本提供有意义的名称,设UserA和UserB决定标记他们的项目代码,以便以后可以方便地访问它。
1、创建标签
让我们使用git tag命令标签当前的HEAD,userA使用-a选项提供标签名称,并使用-m选项提供标签消息。

$ pwd /home/repo/project$ git tag -a "Release_1_0" -m "标记基本字符串操作代码" HEAD

如果你想标记一个特定的提交,那么使用适当的提交ID而不是头指针,userA使用以下命令将标签推送到远程仓库。
$ git push origin tag Release_1_0

2、查看标签
userA创建了标签,现在UserB可以使用带有-l选项的Git标签命令查看所有可用的标签。
$ pwd /home/repo/project/src$ git pull$ git tag -l Release_1_0

userB使用Git show命令及其标签名来查看关于标签的更多细节。
$ git show Release_1_0

3、删除标签
userA使用以下命令从本地和远程仓库中删除标签。
$ git tag Release_1_0$ git tag -d Release_1_0$ git push origin :Release_1_0

二、git补丁patch操作Patch是一个文本文件,它的内容类似于Git diff,但是除了代码之外,它还有关于提交的元数据如提交ID、日期、提交消息等。我们可以通过提交创建一个补丁,其他人可以将它们应用到他们的仓库中。
userB为他的项目实现strcat函数,userB可以创建代码的路径并将其发送给userA,然后他可以将收到的补丁应用到他的代码中。
userB使用Git format-patch命令为最新的提交创建一个补丁,如果你想为特定的提交创建一个补丁,那么使用COMMIT_ID和format-patch命令。
$ pwd /home/repo/project/src$ git status -s M string_operations.c ?? string_operations$ git add string_operations.c$ git commit -m "Add strcat function"$ git format-patch -1

上面的命令在当前工作目录中创建.patch文件,userA可以用这个补丁修改他的文件,git提供了两个命令来应用补丁,分别是Git amand和 Git apply,Git apply修改本地文件而不创建提交,而Git amand修改文件并创建提交。
要应用补丁和创建提交,请使用以下命令
$ pwd /home/repo/project/src$ git diff$ git status –s$ git apply 01-xxx.patch$ git status -s M string_operations.c

【深入Git开发(Git标签tag操作和补丁patch操作详解)】补丁成功应用,现在我们可以使用git diff命令查看修改。
$ git diff

    推荐阅读