git
克隆
git clone <represitory_url>
切换分支
- 切换并创建分支
git checkout -b my_branch
- 切换并创建空记录分支
git push -u origin new_branch
标签操作
创建标签
# 轻量标签
git tag -a {tag_name}
# 带注释标签
git tag -a {tag_name} -m "tag message"
# 给指定commit 打标签
git tag -a {tag_name} -m "tag message" {commit_id}
推送标签
# 推送单个标签
git push origin v1.0.0
# 推送所有标签
git push origin --tags
查看标签
# 查看本地标签
git tag -n
# 查看远程标签
git ls-remote --tags origin
删除本地标签
# 删除单个
git tag -d {tag_name}
# 删除多个
git tag -d $(git tag)
删除远程标签
必须先删除本地标签
# 删除单个
git push origin :refs/tags/{tag_name}
# 或
git push origin --delete {tag_name}
# 删除多个
git push origin :refs/tags/$(git tag)
重命名标签
先删除旧标签,再创建新标签
git 出错修复
is empty错误
find .git/objects/ -type f -empty | xargs rm
git fetch -p
git fsck --full
error: inflate 错误
$ git status
error: inflate: data stream error (unknown compression method)
error: unable to unpack 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16 header
error: inflate: data stream error (unknown compression method)
error: unable to unpack 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16 header
error: inflate: data stream error (unknown compression method)
error: unable to unpack 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16 header
fatal: loose object 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16 (stored in /root/mybook/.git/modules/subs/myblog/objects/1b/96023ca1540a262b2bb9b84ee9f6cae9ebca16) is corrupt
$ git fsck --full
error: inflate: data stream error (unknown compression method)
error: unable to unpack header of /root/mybook/.git/modules/subs/myblog/objects/13/0bfd88e290330736e799afc8bc01c78030e19e
error: 130bfd88e290330736e799afc8bc01c78030e19e: object corrupt or missing: /root/mybook/.git/modules/subs/myblog/objects/13/0bfd88e290330736e799afc8bc01c78030e19e
error: inflate: data stream error (unknown compression method)
error: unable to unpack header of /root/mybook/.git/modules/subs/myblog/objects/1b/96023ca1540a262b2bb9b84ee9f6cae9ebca16
error: 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16: object corrupt or missing: /root/mybook/.git/modules/subs/myblog/objects/1b/96023ca1540a262b2bb9b84ee9f6cae9ebca16
error: inflate: data stream error (unknown compression method)
error: unable to unpack header of /root/mybook/.git/modules/subs/myblog/objects/8a/92e3feebd0f5964ba29e97afc461fb0099d7eb
error: 8a92e3feebd0f5964ba29e97afc461fb0099d7eb: object corrupt or missing: /root/mybook/.git/modules/subs/myblog/objects/8a/92e3feebd0f5964ba29e97afc461fb0099d7eb
error: inflate: data stream error (unknown compression method)
error: unable to unpack header of /root/mybook/.git/modules/subs/myblog/objects/c5/5172c4b6d531e9a8f7982b63f410408c1cab03
error: c55172c4b6d531e9a8f7982b63f410408c1cab03: object corrupt or missing: /root/mybook/.git/modules/subs/myblog/objects/c5/5172c4b6d531e9a8f7982b63f410408c1cab03
error: inflate: data stream error (unknown compression method)
error: unable to unpack header of /root/mybook/.git/modules/subs/myblog/objects/ca/f3f19b739854693d6d6ecbad517672a874c134
error: caf3f19b739854693d6d6ecbad517672a874c134: object corrupt or missing: /root/mybook/.git/modules/subs/myblog/objects/ca/f3f19b739854693d6d6ecbad517672a874c134
error: inflate: data stream error (unknown compression method)
error: unable to unpack header of /root/mybook/.git/modules/subs/myblog/objects/ed/8cf0f9b684bf60fd508f82094a12f1d1066b8f
error: ed8cf0f9b684bf60fd508f82094a12f1d1066b8f: object corrupt or missing: /root/mybook/.git/modules/subs/myblog/objects/ed/8cf0f9b684bf60fd508f82094a12f1d1066b8f
Checking object directories: 100% (256/256), done.
Checking objects: 100% (579/579), done.
error: inflate: data stream error (unknown compression method)
error: unable to unpack 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16 header
error: inflate: data stream error (unknown compression method)
error: unable to unpack 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16 header
fatal: loose object 1b96023ca1540a262b2bb9b84ee9f6cae9ebca16 (stored in /root/mybook/.git/modules/subs/myblog/objects/1b/96023ca1540a262b2bb9b84ee9f6cae9ebca16) is corrupt
要删除 object corrupt or missing: 相关对应文件夹
$ git status
fatal: bad object HEAD
fatal: 'git status --porcelain=2' failed in submodule subs/myblog
$ git log
❯ git reset --soft <最新commit>
$ git fsck --full
Checking object directories: 100% (256/256), done.
# 好了
$ git status
On branch main
...