Skip to content

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
...

Comments