GitHub GUIを使用すると、zipファイルをリポジトリにアップロードできますが、抽出することはできません。
ファイルを直接アップロードできますが(アーカイブされていません)、問題は一部のファイルがディレクトリであり、GitHub GUIではディレクトリのアップロードを許可しないことです。
コマンドラインでこの問題を解決する方法はありますか?
答え1
あなたできないGitHubでzipファイルを解凍します。サーバーだから保存GitHubを使用しないと、コンピューティングサービスはありません。行動[トピックを離れて]。
あなたできるディレクトリとファイルを追加する限り(繰り返し)アップロードするのに問題はありません。
github add .
ポイント.
は、そのディレクトリ内のすべてです。GitHub [コメント]からzipファイルをダウンロード
github clone
して解凍すると、コンピュータ[Compute Engine、CPU]で実行されます。ディレクトリで次の操作を行います。git init git add . git commit -m "first commit"
git init
gitを起動して.git
。git add .
フォルダ、ファイルなどを含め、送信したいすべての項目を選択してください。git commit -m
メッセージと共にコミットを保存するだけです。
git add origin master url_from_github_repository git push origin master
add
gitにリモートアドレス[url-server]を追加するように指示します。origin
リモートアドレス[ショートカット]の名前であり、何でも可能なので入力する必要はありません。URL毎回[www.github.com/user/repo]。master
ブランチの名前です。多くのブランチを持つことができますが、master
通常変更するブランチはブランチです。git push
コミット[すべてのコンテンツ]をGitHub.comのリポジトリにアップロードします。仕える人]。
ついに
大容量ファイル[画像、ビデオ、psd]をサーバーにアップロードし、これらのファイル[git]の変更を継続的に追跡するためにサードパーティが提供する別のサービスがありますが、いいえ アップロードGitHub.comで。名前はgit lfs
。これはgitを使用する別のプログラムなので、最初にインストールする必要があります。
git大容量ファイルの保存
答え2
私はこのプロジェクトの著者です: https://unzipgit.github.io
説明する:
Githubはリポジトリ内のアーカイブを解凍するオプションを提供していませんが、解決策があります。この問題はGithub API(https://docs.github.com/en/rest/repos/contents)。そのAPIを使用すると、リポジトリにファイルをアップロードできます。もちろん、アーカイブを送信するとアーカイブがアップロードされますが、アーカイブを解析して繰り返し実行すると、各ファイルを独自のリポジトリに送信できます。
個人的な経験でもこの問題が発生しました。このソリューションは、作成後にGithubを待っていたことがわかりました。多くの場合、大企業が何かを実装するのを待つのではなく、直接実行する方が簡単です。
JavaScriptについて話すと、JSZipを使用してZIPアーカイブの内容を取得できます(https://stuk.github.io/jszip/)。驚くべきことに、これは非常に便利なライブラリです(ファイル読み取りモードの選択のおかげで特にそうです)。非常に単純化すると、アップロードアーカイブは次のようになります。
// reading the archive
zipFile = await zip.loadAsync(inputArchive, { binary: true });
// loop
for (const [p,f] of Object.entries(zipFile.files)) {
// read as base64
base64file = await f.async("base64");
// upload to github
await reqest("PUT",`${url}/${fileName}`,{content: base64file});
}
これを直接実装するか、自分で作成したソリューションを使用できます。ロジックは私がすでに言ったのと同じです。便宜上、コンピュータからアーカイブを送信するか、すでにリポジトリにあるアーカイブを選択する機能を実装しました。どちらの場合も、ブラウザはアーカイブをロードして繰り返し、各ファイルをリポジトリに送信します。