この Git に関する質問は、SVN に関する別の質問とよく似ています。
大きなファイルでいっぱいのリポジトリがあり、そこに 1 つのファイルを追加する必要があります。これはSVNでは非常に簡単でした。
svn import -m "Adding just a file" file_name http://path/to/svn/repo/file_name
Git でこの単純なタスクを達成するにはどうすればよいですか?
リポジトリには、かなりファットなバイナリ ファイルのコレクションが含まれています
ここで説明したように、それは git リポジトリが行うように設計されていることではありません。
最初にフェッチせずに何かをプッシュすることはできないため、レポが Web インターフェース ( heinrich5991のコメントによるとGitHubなど) を介したファイルの追加をサポートするサービスでホストされていない限り、ファイルを 1 つだけインポートすることはできません。
1 つの代替手段として、リポジトリの完全なコピーを常にホストする専用サーバーを用意し、そこに 1 つのファイルを追加して、そこからターゲット リポジトリにプッシュすることができます。
それを行う方法はありません。私はちょうど次のテストを行いました:
mkdir hello_independent
(注:「こんにちは」は以前のリポジトリの名前です)git init
(注: ここでは空白でリポジトリを作成します)git remote set-url origin https://github.com/solio/GitPractice.git
(注: ローカル リポジトリ ポイントをリモート リポジトリに設定します。)vim newfilefromindependentfolder.md
(注:新しいファイルを追加してください)git add --a
git commit -m "test commit from independent folder."
git push origin master
(注:この操作が鍵です)次のエラーが表示されます:(申し訳ありませんが、操作の画像と 10 の評判なしでヒント メッセージをアップロードできません)
これがメッセージの私の理解です:私がこれを行うとき、2つの異なる独立したワークフローがあり、それらには何の関係もありません.したがって、独立したファイルをリモートリポジトリにコミットする場合は、ローカルリポジトリとリモートをマージする必要があります.これを解決する方法は、リモート リポジトリを git clone することです。