Giit에서 gpg로 인해 제출이 실패했을 때의 처리

3617 단어 Git

개시하다


지트가 제출할 때 주변의 오류에 익숙하지 않아 실패했기 때문에 처리했습니다.

컨디션

  • mac (High Sierra)
  • git 2.18.0
  • Bitbucket
  • VScode에서 커밋하는 동안 오류가 발생했습니다.Giit Kraken이라면 비트백트가 OAuth에서 협업했기 때문에 문제 없이 제출할 수 있을 것으로 보인다.

    오류 메시지


    단말기
    fatal: cannot run gpg: No such file or directory
    error: gpg failed to sign the data
    fatal: failed to write commit object
    
    내용은 세 가지다.
  • gpg를 실행할 수 없음
  • gpg에서 데이터를 서명할 수 없음
  • 객체 쓰기 실패
  • gpg 소개


    gpg는'GnuPG'로 Git 제출 등에 서명해 내용을 신뢰할 수 있다.
    gpg의 설치와 설정 참고지원 페이지로 진행됩니다.

    gpg 설치


    우선 gpg를 설치해 봤습니다.
    단말기
    $ brew install gnupg
    

    gpg의 확인


    먼저 버전 확인
    단말기
    $ gpg --version
    gpg (GnuPG) 2.2.10
    libgcrypt 1.8.3
    Copyright (C) 2018 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Home: /Users/buch-mbp/.gnupg
    Supported algorithms:
    Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
    Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
            CAMELLIA128, CAMELLIA192, CAMELLIA256
    Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
    Compression: Uncompressed, ZIP, ZLIB, BZIP2
    
    gpg 명령을 사용할 수 있음을 확인했습니다.

    gpg 키 생성

    $ gpg --gen-key
    gpg (GnuPG) 2.2.10; Copyright (C) 2018 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Note: Use "gpg --full-generate-key" for a full featured key generation dialog.
    
    GnuPG needs to construct a user ID to identify your key.
    
    Real name: buch-mbp
    Email address: [email protected]
    You selected this USER-ID:
        "buch-mbp <[email protected]>"
    
    Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.
    gpg: key 1A2B3C... marked as ultimately trusted
    gpg: directory '/Users/buch-mbp/.gnupg/openpgp-revocs.d' created
    gpg: revocation certificate stored as '/Users/buch-mbp/.gnupg/openpgp-revocs.d/AAAAA... .rev'
    public and secret key created and signed.
    
    pub   rsa2048 2018-09-09 [SC] [expires: 2020-09-08]
          AAAAA... 
    uid                      buch-mbp <[email protected]>
    sub   rsa2048 2018-09-09 [E] [expires: 2020-09-08]
    
    그런 다음 GPG Key IDgpg 섹션에 표시된 ID를 사용합니다.

    GPG 공개 키 확인

    $ gpg --armor --export 1A2B3C...
    -----BEGIN PGP PUBLIC KEY BLOCK-----
    
    ...
    
    -----END PGP PUBLIC KEY BLOCK-----
    
    GPG 키의 등록 화면을 잘 몰라서 등록하지 않았지만 제출 실패가 해결되었습니다.

    GPG Key ID를 Giit로 설정

    $ git config --global user.signingkey  1A2B3C...
    

    제출해보세요.


    할 수 있어. 문제 없어.

    좋은 웹페이지 즐겨찾기