2011-11-14 14 views
3

単一ファイルをgitリポジトリから取得したいとします。次のようにSVNを使用して、私はsvn exportを使用することができます。gitは `svn export`またはgithub回避策と同等です

sudo svn export http://www.example.com/repos/Trunk/pathtofile/file.ext 

これをちょうどそれを持つ任意のリポジトリの情報なしでファイル、裸、すなわちをダウンロードします。

gitにsvn exportと同等のものはありますか?

私が得た最も近いものは "git show upstream/master:pathtofile/file.ext"でしたが、これは動作するためにはすでにgit repoの中にいる必要があるため、これは実際には同等ではありません。

githubを使用しているので、別のオプションは、wget github rawファイルを試してみることです。

wget https://raw.github.com/<mygithubuser>/repo/master/pathtofile/file.ext?login=<mylogin>&token=<notsurewhattoputhere> 

問題はレポがプライベートであるということですので、私はトークンを提供する必要があり、私はこれを生成し、wgetでそれを使用するかどうかはわかりませんか?

+1

可能な重複? http://stackoverflow.com/questions/1125476/git-retrieve-a-single-file-from-a-repository – sascha

+0

私は同意します。これはhttp://stackoverflow.com/questions/8121379と似ていますが、それはその質問のカーボンコピーではなく、そこで解決策を見つけることができませんでした。 – Tom

+0

http://stackoverflow.com/a/19689284/881551 –

答えて

2

私はチェックしていませんが、this git hub pageによれば、あなたの認証トークンがあなたのプロフィールページに提供されています。だから、手動でコマンドに埋め込むだけの選択肢があるとすれば、私はそれを実行します。それ以外の場合は、このコマンドが含まれるスクリプトへのパラメータとして、または設定ファイル内に、このパラメータを受け入れる必要があると思います。私はこれらのオプションの両方がセキュリティ上の問題を抱えていると思う。

+0

そのgithubページは非常に有望に見えた。残念ながら、指定したトークンを使用していたとしても、私は 'wget'を動作させることができませんでした。 – Tom

+1

奇妙なことに、そのページは確かにトークンベースの認証がどこでも動作するはずです。私は私自身の何ものかをテストする私的なレポにはアクセスできません。 wgetを実行するときにURLを引用符で囲みましたか?それは私がよく作る間違いなので尋ねるだけで、あなたの上のあなたのコマンドでそれらが欠落していることがわかります。 – obmarg

+0

また、POSTパラメータとしてユーザー名とトークンを提供しようとしましたか?そのリンクからの例がカールする-Fパラメータと同じように見える – obmarg

1

私はトークンとユーザー名をクエリ文字列に入れません。あなたはQS this is a good explanationに入れてはならない理由については

curl -F 'login=mylogin' -F 'token=mytoken' https://raw.github.com/<mygithubuser>/repo/master/pathtofile/file.ext > /tmp/file.ext 

:代わりにこのような何かを行います。その後、

1

レポはGitHubのであればjust use svn export!

svn export https://github.com/username/repo-name/trunk/pathtofile/file.ext

+0

github svnサポートリンクにアップしました!非常に広く知られている事実ではありません。 –