私は GitKraken を見つけました。これはクールに見えます。SourceTree とは異なり、index.lock で問題が発生することはありません。唯一の問題は、別の部屋にあるサーバーにプッシュおよびプルできないことです。私は自分のsshキーを設定しました。github/bitbucket アカウントにプッシュ/プルできますが、次の部屋にはできません。このような問題に遭遇したことがある場合、または私の問題を解決する方法について少し考えがある場合は、お知らせください。すでにサポートチームと連絡を取りましたが、応答が非常に乏しいです。
13 に答える
私は複数のプロジェクトと ID の鍵をたくさん持っており、それらを別の場所で追跡したり参照したりする必要はありません~/.ssh/config
。~/.gitconfig
これまでのところ、実用的な答えのほとんどは、私のキーと定義を入れてから、参照/呼び出しを追加する必要があり、どちら~/.ssh/config
も理想的ではありません。ssh-add -K ~/.ssh/...
~/.bash_profile
~/.profile
すべてのキーとサブフォルダーをドロップイン~/.bash_profile
および/または~/.profile
反復処理する関数を作成しようとしていた~/.ssh/*/...
ので、少なくともそこに新しいキーを追加することを覚えておく必要はありません。
次に、ssh-agent に自動的に追加したい資格情報に対して追加の命令を追加するだけでよいこの美しいアプローチを見つけました。AddKeysToAgent yes
~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/[your-secure-ssh-key-name]
注:ssh-add -K ~/.ssh/[your-secure-ssh-key-name]
これには、パスワードをキーチェーンに保存するために少なくとも 1 回実行する必要があります。それ以外の場合は省略できUseKeychain yes
、キーを使用するときにパスワードの入力を求められます。
これは再起動後も持続し、CLI や GitKraken などのアプリで「魔法のように動作」します。
UseKeychain yes
キーにパスワードがない場合もこの命令は省略できます。この命令をすべてのホストに適用する必要はありません。同じプロバイダーによってホストされている複数のプロジェクトをキャプチャするために、サブドメイン ワイルドカードを使用した特定のホストの例を次に示します。
Host project1.myrepo.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/myrepo.com/project1
AddKeysToAgent yes
UseKeychain no
Host *.myrepo.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/myrepo.com/[your-secure-ssh-key-name]
AddKeysToAgent yes
UseKeychain yes
Host git-codecommit.*.amazonaws.com
User ABC1234DEFGHI1234
IdentityFile ~/.ssh/[your-secure-ssh-key-name]
AddKeysToAgent yes
Host *
AddKeysToAgent no
UseKeychain no
IdentityFile ~/.ssh/id_rsa
すべての答えを試した後、後で問題が発生したときに機能しなかったものも含めて、問題が SSH キーに関連しているのではなく、GitKraken UI の特定のオプションに関連していることに気付きました (執筆時点の最新バージョン: 7.3.2 )
SSH キーを正常に追加した場合でも、次のオプションを使用してクローンを作成しようとすると、[ファイル] > [リポジトリのクローン] > [URLを使用してクローン (SSH または HTTPS を使用)] を使用すると、次のエラーが発生します。
Clone Failed
C:\path-to-folder Configured SSH key is invalid. Please confirm that it is properly associated with your Git provider.
ただし...次のオプションで機能します: File > Clone Repo > Bitbucket.org > Repository to Clone (アカウント内のリポジトリの 1 つを選択)。
Successfully cloned repo 'my_repo'
URLオプションを使用してクローンを作成する必要はありませんか?
しかたがない...