21

この Git に関する質問は、SVN に関する別の質問とよく似ています。

大きなファイルでいっぱいのリポジトリがあり、そこに 1 つのファイルを追加する必要があります。これはSVNでは非常に簡単でした。

svn import -m "Adding just a file" file_name http://path/to/svn/repo/file_name

Git でこの単純なタスクを達成するにはどうすればよいですか?

4

3 に答える 3

3

リポジトリには、かなりファットなバイナリ ファイルのコレクションが含まれています

ここで説明したように、それは git リポジトリが行うように設計されていることではありません。

最初にフェッチせずに何かをプッシュすることはできないため、レポが Web インターフェース ( heinrich5991のコメントによるとGitHubなど) を介したファイルの追加をサポートするサービスでホストされていない限り、ファイルを 1 つだけインポートすることはできません。

1 つの代替手段として、リポジトリの完全なコピーを常にホストする専用サーバーを用意し、そこに 1 つのファイルを追加して、そこからターゲット リポジトリにプッシュすることができます。

于 2013-10-27T15:33:37.677 に答える
3

それを行う方法はありません。私はちょうど次のテストを行いました:

  1. mkdir hello_independent(注:「こんにちは」は以前のリポジトリの名前です)
  2. git init(注: ここでは空白でリポジトリを作成します)
  3. git remote set-url origin https://github.com/solio/GitPractice.git(注: ローカル リポジトリ ポイントをリモート リポジトリに設定します。)
  4. vim newfilefromindependentfolder.md(注:新しいファイルを追加してください)
  5. git add --a
  6. git commit -m "test commit from independent folder."
  7. git push origin master(注:この操作が鍵です)

次のエラーが表示されます:(申し訳ありませんが、操作の画像と 10 の評判なしでヒント メッセージをアップロードできません)

これがメッセージの私の理解です:私がこれを行うとき、2つの異なる独立したワークフローがあり、それらには何の関係もありません.したがって、独立したファイルをリモートリポジトリにコミットする場合は、ローカルリポジトリとリモートをマージする必要があります.これを解決する方法は、リモート リポジトリを git clone することです。

于 2013-10-27T15:56:22.803 に答える