20

フラッシュドライブに msysGit Portable を正常にインストールして構成し、それを使用して GitHub リポジトリをプルおよびプッシュしました。しかし、私は常に SSH サポートをこじ開ける必要があるようです。

具体的には、SSH がキー ファイルを見つけるために、次の手順に従って、git-bash.bat を実行するたびに2 番目のインスタンスを開始しssh-agent、次にキーを開始する必要があります。ssh-add

の出力ssh -v git@github.comをデバッグに使用すると、msysGit が既定で Windows ユーザー ディレクトリにキーを検索することがわかります。それはできません。ポータブル ドライブの独自のディレクトリを参照する必要があります。

$HOME をプログラム独自のフォルダにする方法を教えてください。

壊れた Vox リンクの更新

このページの手順は、私が最初に投稿した現在壊れているリンクと似ています。以下引用。元の Vox 記事の webarchiveもここにあります。

ただし、これを試して取得した場合:

% ssh-add
Could not open a connection to your authentication agent. 

セッションは ssh-agent の下で実行されていません。以下を実行して、エージェントの下で新しいシェルを再起動することで、これを回避できます。

exec ssh-agent bash 

ここで、bash を選択したシェルに置き換えることができます。これを行うと、ssh-add を実行してそのシェルのキーをロードできるはずです。

4

2 に答える 2

18

git bash の起動に使用するコマンドは次のとおりです。

C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.7.1\bin\sh.exe" --login -i"

DOSセッションで次のことを試しました:

C:\>C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.7.1\bin\sh.exe" --login -i"
VonC@XXX /c/
$ echo $HOME
/c/Users/VonC

デフォルトでは $HOME$%HOMEPATH% ですが、%HOME% を強制すると:

set HOME=/another/path

次に、同じ bash セッションを起動します。

C:\>C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.7.1\bin\sh.exe" --login -i"
VonC@XXX /c/
$ echo $HOME
/another/path

したがって、HOME を次のように設定するスクリプトで bash 呼び出しをラップすると、次のようになります。

  • %~dp0: USB キーのラッパーのパス
  • または%~d1\your\path%~d1ドライブ文字である場合(ラッパーがある場合はUSBキーの)

、HOMEを必要な値に強制できるはずです。


注 (2011 年 11 月): それ以来、OP dgw独自のラッパーを作成しました。

git-bash-portable.bat:

@echo off
rem Copyright (C): 2010 Voyagerfan5761
rem http://technobabbl.es/

set USERPROFILE=%~dp0
set HOMEDRIVE=%~d0
set HOMEPATH=%~p0
set HOME=%~dp0
set HISTFILE=%USERPROFILE%.bash_history
rem set BASHRC=%USERPROFILE%.bashrc

git-bash.bat

記事「Portable Git for Windows: setting the $HOMEenvironment variable to allow complete portability (includes SSL keys and configuration for use with GitHub)」にも有用な情報が追加されています。

ただし、Git をポータブル ドライブにインストールする場合は、インストールと共に設定を移動する必要があります。これは、他のコンピューターに存在しない可能性があるフォルダーでそれらを探している場合は明らかにそうではありません。

したがって、Portable Git に対して、独自のフォルダー内の特定の場所をホーム フォルダーとして扱うように指示する必要があります。そうすれば、Git フォルダー全体を好きな場所にコピーでき、設定も一緒に移動できます。

于 2010-08-11T04:13:35.300 に答える