Lỗi Git - gpg không thể đăng nhập dữ liệu


149

Tôi mới bắt đầu sử dụng git và tôi cài đặt git và gpg thông qua homebrew. Vì một số lý do, tôi gặp lỗi này khi tôi git commit xem xét rất nhiều câu hỏi stackoverflow khác liên quan đến chủ đề này và không ai trong số chúng làm việc cho tôi. Làm cách nào để khắc phục lỗi này để tôi có thể tải lên thành công.

error: gpg failed to sign the data
fatal: failed to write commit object

3
Dành cho người dùng Mac. Tôi đã có vấn đề này. Lời khuyên trên trang này đã giúp tôi nhận ra tôi có thể cài đặt hai phiên bản gpg và tôi đã làm được. Một từ brew và một từ GPG Suite. Tôi muốn sử dụng GPG Suite một vì nó cho phép lưu cụm mật khẩu trong móc khóa hệ thống. Gỡ cài đặt phiên bản brew đã giải quyết vấn đề của tôi. Cùng với câu trả lời của @ sIDIAbarker về việc tiêu diệt gpg-agent. Vì vậy, tôi cho rằng các cấu hình của từng cấu hình đã can thiệp lẫn nhau.
Michael Welch

2
Bản sao gpg
Shayan Amani

Bản sao có thể có của stackoverflow.com/questions/41502146/
Kẻ

Tôi vừa gặp phải một vấn đề với việc ký gpg, vấn đề là repo git của tôi không có bộ gpg.signingkey cục bộ, nhưng cái đó là gllobal. Vì vậy, chỉ cần đặt git config --local user.signingkeyđúng khóa và nó sẽ tự động gán lại. và có thể hủy đặt toàn cầu vớigit config --global --unset user.signingkey
MarcusJ

Câu trả lời:


210

Để khắc phục sự cố, hai điều cần thử trước tiên:

  • chạy git config --global gpg.program gpg2, để đảm bảo git sử dụng gpg2và khônggpg
  • chạy echo "test" | gpg2 --clearsign, để chắc chắn rằng gpg2nó đang hoạt động

Nếu tất cả đều ổn, một điều tiếp theo cần thử:

  • chạy brew install pinentryđể đảm bảo bạn có một công cụ tốt được cài đặt cho mục nhập cụm mật khẩu

Nếu sau khi cài đặt và bạn thử lại git commitmà vẫn gặp failed to sign the datalỗi "":

  • chạy gpgconf --kill gpg-agentđể giết bất kỳ tác nhân đang chạy có thể được treo

Nếu điều đó gpgconfkhông được cài đặt hoặc không có --killtùy chọn, bạn có thể thử điều này:

  1. cp ~/.gnupg ~/.gnupg-GOODđể lưu một bản sao của bạn ~/.gnupgđể hoàn nguyên về sau nếu cần
  2. brew install gnupg21 để cài đặt GnuPG 2.1

Lý do để lưu một bản sao của ~/.gnupgthư mục của bạn là vì GnuPG 2.1 có khả năng tạo / thay đổi một số dữ liệu chính theo cách không tương thích ngược với GnuPG 2.0 trở về trước, vì vậy nếu bạn muốn quay lại sau, bạn có thể làm lại mv ~/.gnupg ~/.gnupg21 && mv ~/.gnupg-GOOD ~/.gnupg.


Nếu không, có một số bước cơ bản để chạy để kiểm tra xem bạn đã có môi trường GnuPG hoạt động chưa:

  • chạy gpg2 -K --keyid-format SHORT, để kiểm tra xem bạn có ít nhất một cặp khóa không

Nếu đầu ra của điều đó cho thấy bạn không có khóa bí mật để GnuPG sử dụng, thì bạn cần tạo một:

  • chạy gpg2 --gen-key, để GnuPG hướng dẫn bạn qua các bước để tạo một cặp khóa

Nếu bạn nhận được thông báo lỗi nói ioctl không phù hợp cho thiết bị , hãy làm điều này:

  • chạy export GPG_TTY=$(tty)và / hoặc thêm nó vào ~/.bashrchoặc˜/.bash_profile

Tôi gặp lỗi này khi chạy lệnh thứ hai: gpg: không có khóa bí mật mặc định: Không có khóa bí mật gpg: [stdin]: Clearsign fail: Không có khóa bí mật
Kích hoạt

@Entitize Điều đó dường như cho thấy gpg không nghĩ rằng bạn có bất kỳ khóa nào để sử dụng để đăng nhập. Xem các bước bổ sung tôi đã thêm vào câu trả lời; nếu bạn chưa bao giờ chạy gpg2 --gen-keytrước đây, đó là điều bạn cần làm trước tiên.
sIDIAbarker

2
khi tôi chạy echo "test" | gpg2 --clearsign, nó cung cấp cho tôi: gpg-agent [-]: lệnh get_passphrase không thành công: ioctl không phù hợp cho thiết bị gpg: vấn đề với tác nhân: ioctl không phù hợp cho thiết bị gpg: không có khóa bí mật mặc định: Thao tác bị hủy gpg: [stdin]: Clearsign thất bại: Thao tác bị hủy. Tôi đã thử rất nhiều khả năng khác, nhưng không có kết quả. Có cách nào để sử dụng GIT mà không cần GPG!
Kích hoạt

9
Bạn có thể thử export GPG_TTY=$(tty). Theo như có một cách để sử dụng git mà không cần gpg, bạn sẽ có thể làm điều đó theo mặc định hoặc nếu không chỉ bằng cách chạy git config --global commit.gpgsign falseđể hủy cài đặt gpg trên toàn cầu.
sIDIAbarker

10
Ở đây trong Mac OS X, tôi bắt đầu gỡ lỗi echo "test" | gpg2 --clearsign, tìm thấy một lỗi và nó dẫn tôi đến chủ đề này , điều này đã giải quyết vấn đề của tôi: Tôi chỉ cần đặt một tệp export GPG_TTY=$(tty)vào ˜/.bash_profiletệp của mình và sau đó tải lạisource ˜/.bash_profile
herrera

71

Git cần biết nó đang ký với khóa nào.

Sau khi bạn đã thiết lập GPG, gpg-agent và các tệp gpg.conf của bạn (xem hướng dẫn này ), bạn cần chạy

git config --global user.signingkey EB11C755

Rõ ràng, thay thế khóa công khai ở cuối bằng khóa của bạn. Nếu bạn muốn mọi cam kết được ký theo mặc định, hãy sử dụng

git config --global commit.gpgsign true

7
Tôi chỉ gặp phải vấn đề này trong trường hợp bất kỳ ai khác đủ dại dột để làm những gì tôi đã làm: Hãy chắc chắn rằng bạn đánh vần là "Signkey" chứ không phải "Signinkey".
ZNK

1
nghĩa đen là bình luận này của @ZNK đã làm điều đó cho tôi. Tôi đã đánh vần là "Signkey" thay vì "Signkey"
jzatt

1
Câu trả lời được chấp nhận nên trích dẫn đây là bước khắc phục sự cố đầu tiên, vì đôi khi bạn đã có sẵn tất cả các khóa của mình, đó chỉ là git quên khóa nào sẽ sử dụng.
f055

41

Bằng cách nào đó git của bạn được cấu hình để GPG ký mỗi cam kết. Đăng nhập bằng GPG không bắt buộc phải cam kết hoặc đẩy bằng git. Có thể xảy ra lỗi vì cơ chế ký gpg của bạn chưa được định cấu hình.

Nếu bạn chưa quen với git, hãy thử làm cho nó hoạt động trước mà không cần đăng nhập GPG, sau đó thêm đăng nhập sau nếu bạn thực sự cần nó.

Bạn có thể xác minh cách git của bạn được cấu hình liên quan đến gpg bằng cách thực hiện:

git config -l | grep gpg

Mà có thể tạo ra 0 hoặc nhiều dòng, bao gồm:

commit.gpgsign=true

Nếu "commit.gpgsign" là đúng, thì bạn đã bật ký hiệu gpg. Vô hiệu hóa nó với:

git config --global --unset commit.gpgsign

Sau đó cố gắng chạy lại cam kết của bạn. Bây giờ nó sẽ chạy mà không cần ký gpg. Sau khi bạn có được git cơ bản hoạt động, sau đó bạn nên thử thêm gpg đăng nhập lại vào hỗn hợp.


12
Tuyệt vời! git config --global --unset commit.gpgsignlàm việc cho tôi :)
hpaknia

ồ !! nó hoạt động với tôi: git config --global --unset commit.gpgsign
Hardy Mathew

32

Tham khảo giải pháp @sIDIAbarker và @Xavier Ho, tôi đã giải quyết vấn đề của mình thông qua các bước sau.

Giả sử gpg2 được cài đặt bởi brew,

git config --global gpg.program gpg2
brew install pinentry
gpgconf --kill gpg-agent
gpg2 -K --keyid-format SHORT
// no key found then generate new one
gpg2 --gen-key

gpg2 -K --keyid-format SHORT 

... /. gnupg / pubring.gpg

giây rsa2048 / 0A61C6FC 2017-06-29 [SC] [hết hạn: 2019-06-29]

git config --global user.signingkey 0A61C6FC

Nhắc nhở bởi đồng nghiệp của tôi, cần phải thêm

export GPG_TTY=$(tty)

vào ~ / .zshrc nếu sử dụng zsh, khác sẽ nối vào ~ / .bash_profile


Đối với macOS,

gpg2 được kết hợp với gpg trong brew và do đó lệnh gpg được trỏ đến gpg2

brew install gpg2

thông tin bia gpg

gnupg: ổn định 2.2.6 (đóng chai)

git config --global gpg.program gpg
gpg -K --keyid-format SHORT 

và có pinentry-mac cho mục nhập cụm mật khẩu

brew install pinentry-mac
vim ~/.gnupg/gpg-agent.conf

Thêm dòng

pinentry-chương trình / usr / local / bin / pinentry-mac


1
macOS 10.15 (Catalina) xuất xưởng với GnuPG phiên bản 2.2.17, do đó không cần phải cài đặt riêng trừ khi bạn có kế hoạch tự quản lý các bản cập nhật.
Josh Habdas

18

Tôi đang sử dụng nó. Nó có hỗ trợ cho zsha và hoạt động trên Windows subsystem cho Linux:

export GPG_TTY=$(tty)

2
Tôi đang sử dụng zsh trên MacOS Catalina và đây là thay đổi duy nhất tôi cần để làm cho nó hoạt động. Cảm ơn.
JP Lew

Tôi đã nhận được lỗi trong OP sau khi sao chép các khóa vào môi trường WSL của mình, hóa ra tôi cần phải làm điều này để cung cấp lời nhắc cho cụm mật khẩu trên khóa. Cảm ơn.
narwic

10

Kiểm tra chìa khóa của bạn sẽ hết hạn. Khi bạn sửa ngày hết hạn (không cần tạo khóa mới trừ khi bạn muốn), gitsẽ hoạt động như bình thường.

Một cách để sửa khóa hết hạn:

(Lưu ý: $thể hiện dấu nhắc dòng lệnh, nhập lệnh sau dấu nhắc; nhấn Enter sau mỗi lệnh)

$ gpg2 --list-keysđể tìm ra thích hợp key id (ký tự sau \vào pubdòng)

$ gpg2 --edit-key <key id> - điều này mở vỏ gpg, với dấu nhắc thay đổi thành gpg>

gpg> expire - làm theo hướng dẫn để đặt ngày hết hạn mới cho khóa chính

Tiếp theo, nếu có các khóa con đã hết hạn ( subhiển thị trên dòng), hãy đặt lại ngày hết hạn của chúng:

gpg> key 1- chọn khóa con đầu tiên gpg> expire- làm theo hướng dẫn để đặt ngày hết hạn mới cho khóa con

Lặp lại cho mỗi khóa con tiếp theo, khi cần thiết.


Tôi đã gặp vấn đề này mỗi lần tôi cố chạy khóa gpg không có ngày hết hạn. Vì một số lý do, git không thích điều đó. Sử dụng phương pháp này để thêm ngày hết hạn (cho dù có bao xa trong tương lai) dường như để giải quyết vấn đề.
some_guy632

Đừng quên gõ savetại dấu nhắc gpg khi bạn hoàn tất!
daviewales

5

Điều này làm việc cho tôi trên Ubuntu 18.04

Kiểm tra khóa gpg của bạn

gpg -K --keyid-format LONG

nếu bạn nhận được phản hồi trống, hãy tạo khóa GPG

gpg --generate-key

chạy lại lệnh đầu tiên, bạn sẽ nhận được một đầu ra là:

sec   rsa3072/95A854E0593B3214 2019-05-06 [SC] [expires: 2021-05-05]
      AF2F7514568DC26B0EB97B9595A854E0593B74D8
uid                 [ultimate] yourname<your_email>
ssb   rsa3072/EFD326E6C611117C 2019-05-06 [E] [expires: 2021-05-05]

đặt phím hát git

git config --global user.singingkey 95A854E0593B3214

sau đó bạn tốt để đi (--global là tùy chọn)

Ngoài ra, nếu bạn không phiền khi ký với khóa ssh của bạn

git config commit.gpgsign false

Lưu ý rằng điều này không được khuyến khích do một vấn đề an ninh theo câu hỏi này ở đâyở đây


"Hoặc nếu bạn không phiền khi ký bằng khóa ssh" thì ssh phải làm gì với việc ký?
riffraff

SSH không liên quan gì đến việc ký cam kết. Họ đang đề cập đến việc tắt ký cam kết GPG và tùy thuộc vào việc sử dụng các khóa SSH để xác thực khi bạn thực sự đẩy các cam kết của mình đến một máy chủ git. Bạn có thể đẩy (và nó khá phổ biến) để đẩy các cam kết không dấu bằng xác thực SSH.
phouse512

4

Tôi đã phải sửa gpg.program theo đường dẫn tuyệt đối đến gpg:

git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"

Tôi đang sử dụng Windows với cygwin.


3
Đây là giải pháp cho tôi. Tôi đã cài đặt gnupg bằng chocolatey.
Alex S

Cảm ơn, làm việc cho tôi quá. Tôi đã thực hiệnchoco install gpg4win
Gokul NC

4

Giải pháp:

Issue: Disabled loopback pinentry mode

Để giải quyết vấn đề, bạn cần bật chế độ pinent loopback trong ~ / .gnupg / gpg.conf :

cat <<'EOF' >> ~/.gnupg/gpg.conf

use-agent 
pinentry-mode loopback

EOF

Và cũng trong ~ / .gnupg / gpg-agent.conf (tạo tệp nếu nó chưa tồn tại):

cat <<'EOF' >> ~/.gnupg/gpg-agent.conf

allow-loopback-pinentry

EOF

Sau đó khởi động lại các đại lý với echo RELOADAGENT | gpg-connect-agentvà bạn nên đi tốt!

Nguồn


1
Wow, sau khi dành hàng giờ để thử mọi giải pháp có thể, điều này đã khắc phục vấn đề của tôi, cảm ơn!
Matt

Không có gì. Nhờ nguồn thực sự. Tôi đã bị mắc kẹt với điều này quá.
Rahul Thakur

3

Lỗi này cũng có thể xảy ra khi khóa GPG của bạn đã hết hạn. Tạo khóa mới và thêm nó vào Git sẽ giải quyết điều này.


3

Tôi gặp vấn đề này sau khi nâng cấp lên gnupg 2.x. Nó sẽ thấy rằng gpg2 đang tham chiếu các khóa khác nhau: Tôi vẫn có signingkey = ABC98F11(cài đặt gpg v1) trong ~/.gitconfig. Các định danh chính cho gpg2 dài hơn. Nhìn chúng vớigpg --list-secret-keys


1

Tôi đã tạo một gitkhóa với 3 khóa riêng biệt cho certify/ sign/ encryptvà khóa được hiển thị là hết hạn trong tương lai (sau khi hoạt động tốt trong vài ngày):

pub   rsa4096/4CD1E9DA 2017-04-26 [C] [expired: 2017-04-28]
      Key fingerprint = 4670 59C1 7592 08B8 7FA5  313B 2A42 B6A6 4CD1 E9DA
uid         [ expired] Stuart Cardall (GIT Development Keys) <xxxxxx>
sub   rsa4096/5195E715 2017-04-26 [E] [expired: 2019-04-26]
sub   rsa4096/DB74C297 2017-04-26 [S] [expired: 2019-04-26]
sub   rsa2048/A3913A3C 2017-04-28 [] [expired: never     ]

đã tạo một khóa mới mà không cần thêm các khóa con riêng biệt để giải quyết vấn đề.


1

Có thể cấu hình Git của bạn đã được đặt gpgsign = true . Cố gắng đặt thành sai nếu bạn không muốn xác nhận các cam kết của mình. Chuyển đến thư mục kho lưu trữ của bạn và thay đổi tệp

nano .git / config

Từ đây...

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@bitbucket.org:yourrepo/project.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[user]
    signingkey = <GPG-KEY>
[commit]
    gpgsign = true

Để ...

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@bitbucket.org:yourrepo/project.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[user]
    signingkey = <GPG-KEY>
[commit]
    gpgsign = false

1

Đối với tôi lỗi này bắt đầu xảy ra với git tag -strên Debian GNU / Linux khi tôi chuyển từ pinentry-gnome3đến pinentry-curses(sử dụng update-alternatives --config pinentry) để truy cập từ xa dễ dàng hơn. Nó chỉ xảy ra với git tag -s, không phải với gpg(ví dụgpg --clearsign ) chính nó.

Thay đổi duy nhất cần thiết để làm cho nó hoạt động trở lại trong trường hợp này là thêm export GPG_TTY=$(tty) vào các tệp khởi động shell của tôi.

Mặc dù tôi đã không nhận được ioctl không phù hợp cho các thông báo lỗi thiết bị được đề cập như là chỉ báo cho sửa lỗi này trong một câu trả lời khác cho câu hỏi này.

Lưu ý: Vì nguyên nhân gây ra lỗi này là một nguyên nhân hoàn toàn khác so với những người đã đề xuất export GPG_TTY=$(tty)trước đây (thường là gợi ý phụ) trong các câu trả lời khác cho câu hỏi này, tôi đã quyết định câu hỏi này cần một câu trả lời khác export GPG_TTY=$(tty)có thể là cách khắc phục chính và điều duy nhất cần thiết trong một số trường hợp.


Cảm ơn! update-alternatives --config pinentryđã làm điều đó cho tôi. Tôi đang SSH vào máy tính để bàn của mình và pinentryđược đặt thành /usr/bin/pinentry-gnome3( cần có dự phòng TTY khi SSH vào hoặc khi chuyển sang bảng điều khiển ảo). Nhưng nó đã không hoạt động, rõ ràng. Đặt mặc định để /usr/bin/pinentry-ttythực hiện thủ thuật cho tôi. Tôi có thể phải đặt lại khi tôi quay lại máy tính để bàn của mình, nhưng, bây giờ, tôi ổn. export GPG_TTY=$(tty)Không đủ. Tôi đã làm điều đó nhưng cần phải chuyển đổi pinentrytrước khi tôi có thể ký cam kết của mình.
Karl Wilbur

1

Điều đã giải quyết nó cho tôi là đảm bảo tên của khóa khớp với tên người dùng git của tôi. Tôi giả sử các email phải phù hợp quá. Điều này có thể liên quan đến tôi khi sử dụng GPG KeyChain trên máy Mac của tôi. Không chắc.

Tôi nghĩ rằng tôi đã đặt tên cho khóa khi tôi điền nó, nhưng tôi đoán nó đang hỏi tên tôi (tên người dùng git).

Mẫu móc khóa GPG


Thật đáng tiếc câu trả lời này quá xa phía sau mà nhiều người sẽ không đến đây để tìm kiếm vấn đề của họ.
MaciekS

1

Tôi đã gặp lỗi này trên macos - để thử và khắc phục sự cố Tôi đã thử các khóa liệt kê để xem chúng đã hết hạn sử dụng chưa gpg2 --list-keys- Tôi đã xác minh rằng các khóa chưa hết hạn và khóa thích hợp đã được đặt trong cấu hình của tôi bằng cách sử dụnggit config --global user.signingkey .

Sau khi tôi chạy các lệnh đó, tôi đột nhiên có thể thực hiện lại các xác nhận đã ký mà không gặp vấn đề gì. Tôi đã không thay đổi tập tin cấu hình hoặc khóa của mình - Tôi thậm chí không tạo một phiên bản Terminal mới. Có vẻ như gpg2 bằng cách nào đó ở trạng thái kỳ lạ trên máy mac của tôi.


0

Tôi đã giải quyết vấn đề cài đặt brew install gpg2rồi làmgit config --global gpg.program gpg2


0

Lỗi tương tự cũng có thể được gây ra khi bạn đã hết hạn khóa trong cấu hình git của bạn.

Vui lòng kiểm tra nội dung cat .git/configvà tìm kiếm signingkeygiá trị và kiểm tra nếu nó đã hết hạn. Nếu có cập nhật nó với cái mới.


0

Nếu bạn đang sử dụng thẻ thông minh / yubikey để lưu trữ khóa GPG của mình và bạn đặtsignkey cấu hình git bằng khóa được lưu trong thẻ (và tất cả câu trả lời ở trên dường như không giải quyết được vấn đề của bạn), mã PIN của thẻ bị chặn của bạn có thể là nguyên nhân gốc rễ của vấn đề này.

Để kiểm tra mã PIN bị chặn:

gpg --card-status

Nếu bộ đếm tương tự như

Reader ...........: Yubico YubiKey
PIN retry counter : 3 0 3

Sau đó, mã PIN của bạn bị chặn (sau 3 lần thử không thành công).

Để bỏ chặn mã PIN:

gpg --card-edit
gpg/card> admin
Admin commands are allowed

gpg/card> passwd
gpg: OpenPGP card no. … detected

1 - change PIN
2 - unblock PIN
3 - change Admin PIN
4 - set the Reset Code
Q - quit

Your selection? 2
PIN unblocked and new PIN set.

1 - change PIN
2 - unblock PIN
3 - change Admin PIN
4 - set the Reset Code
Q - quit

Your selection? q

0

Đối với tôi đơn giản brew unintstall gnupg && brew cask reinstall gpg-suite giải quyết vấn đề.

Nó gỡ cài đặt (trong trường hợp của tôi) gpg homebrew-istalled thủ công và cài đặt lại toàn bộ GPG Suite.


0

Trong trường hợp của tôi, tôi đã có cấu hình gpg hỗn hợp và cấu hình smimesign được cung cấp trong tài liệu ký cam kết tại đây: https://help.github.com/en/github/authenticating-to-github/telling-git-about-your-signing- Chìa khóa

Sau khi làm việc với nó hàng giờ, tôi đã tìm ra cách tốt nhất để sửa nó là bỏ đặt mọi thứ liên quan đến gpg và cấu hình lại gpg.

Như đã đề cập trong câu trả lời của @Jason Thrasher, hãy tìm tất cả cấu hình git liên quan đến gpg bằng cách sử dụng:

git config -l | grep gpg

Sau đó bỏ đặt mọi thứ có thể sử dụng cũng như cục bộ bằng cách sử dụng:

git config --global --unset <config_name>
git config --local --unset <config_name>

Sau đó cấu hình lại theo các tài liệu chính thức được đưa ra ở trên. Hi vọng điêu nay co ich.


Ngoài ra, tôi đang sử dụng gpg2
Shubham Gupta

0

Nếu bạn đã thiết lập pinentry và gpg của mình trước đó và nó đã ngừng hoạt động:

Kiểm tra xem gpg của bạn có hoạt động không:

echo "test" | gpg --clearsign

Nếu nó nói gpg: signing failed: No pinentry, chỉ cần khởi động lại máy khách gpg daemon, đôi khi bị kẹt:

gpgconf --kill gpg-agent

Bây giờ nó sẽ hoạt động:

echo "test" | gpg --clearsign

0

Trong trường hợp của tôi, lỗi này xảy ra khi chạy git committrên một tmuxcửa sổ nhỏ không thể vừa với dấu nhắc cụm mật khẩu.

$ echo "test" | gpg --clearsign
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

test
gpg: signing failed: Screen or window too small
gpg: [stdin]: clear-sign failed: Screen or window too small

-6

Điều này sẽ giúp bạn thoát khỏi nó

git config commit.gpgsign false


1
Tôi không hiểu phiếu bầu giảm, nó đã giải quyết vấn đề được đề xuất như một cơ duyên đối với tôi.
Jms

2
Lệnh này nên tránh. Nó sẽ chỉ loại bỏ yêu cầu ký cam kết git, không giải quyết vấn đề xác thực người thực hiện cam kết.
Kyle
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.