工作中使用的 Git 学习总结

136 阅读2分钟

git tag

在版本发布时,需要给每个发布的版本打一个 tag ,防止在之后对代码出现误操作,方便回滚代码,而使用 tag 时,直接使用 git tag <tagName> 就可以创建一个新的 tag 标签。例如:

git tag v1.0

可以用命令git tag查看所有标签:

git tag
v1.0

默认标签是打在最新提交的 commit 上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

方法是找到历史提交的 commit id,然后打上就可以了:

$ git log --pretty=oneline --abbrev-commit
12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
4c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed

比方说要对 add merge 这次提交打标签,它对应的 commit id 是 f52c633,敲入命令:

git tag v0.9 f52c633

再用命令git tag查看标签:

git tag
v0.9
v1.0

可以用 git show <tagname>查看标签信息:

git show v0.9
commit f52c63349bc3c1593499807e5c8e972b82c8f286 (tag: v0.9)
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Fri May 18 21:56:54 2018 +0800

	add merge

diff --git a/readme.txt b/readme.txt

还可以创建带有说明的标签,用 -a 指定标签名, -m 指定说明文字:

git tag -a v0.1 -m "version 0.1 released" 1094adb

git 删除本地和远程分支

现在想要使用 git 修改分支名,假设旧的分支名: oldName,新的分支名:newName

  • 本地分支重命名(还没有 push 推送)
git branch -m oldName new Name
  • 远程分支重命名( 已经推送远程-假设当前本地分支和远程对应分支名称相同)

    • 重命名本地分支
    git branch -m oldName new Name
    
    • 删除远程分支
    git push --delete origin oldName
    
    • 上传新命名的本地分支
    git push origin newName
    
    • 修改后的本地分支与远程分支关联
    git branch --set-upstream-to origin/newName