2012-01-19 14 views
4

私は[1,2,3]という名前の3つのzipフォルダを持っていますが、それぞれが同じプロジェクト1を含み、最も早く、3が最新です。私はこれらを3つのgitコミットにマージする方法を探していて、3つのほとんどのコミットはフォルダの内容です。バージョン管理:zipからgitへ

私は次の操作を行うことができたとします

  1. 解凍1.
  2. は、新しいフォルダに1位からそれを中身を取ります。
  3. git init
  4. git add -A
  5. git commit -m "first commit
  6. 解凍2
  7. 内容を置き換える
  8. 解凍2 2
  9. git add -A
  10. git commit -m "second commit
  11. から内容を新しいフォルダから内容を置き換えますからこれは、これを行うための最善の方法であれば3
  12. git add -A
  13. git commit -m "third commit

から内容を新しいフォルダが誰でも教えてもらえますか?

+0

git initの手順は、最初の手順を除いて不要に見えます。 –

+0

余分なgit initのどこにコピーと貼り付けエラーがありがとう! – ThomasReggi

答えて

2

git initを実行するたびに、空のリポジトリが作成されます。

フォルダが3つしかなく、一度だけ実行している場合は、これが機能します(git initを省略した場合)。 .gitフォルダを消去しないようにしてください。

3つのフォルダを解凍して.gitフォルダをそれぞれ連続して移動し、それぞれの別のフォルダにコミットして、最終フォルダを新しいリポジトリの開始場所にすることもできます。ここで

+0

余分なgit initのどこにコピーと貼り付けエラーがありがとう! – ThomasReggi

0

はい。内容を完全に置き換えて、追加または削除されたファイルをすべてキャッチしてください。

4

が、私はこの

はバージョン1をゲットアプローチだろうかだ

mkdir MyProj 
cd MyProj 
git init 
# unzip version1 into MyProj 
git add -A 
git commit -m "Version 1" 

をコミットバージョン2を入手

# delete everything but the .git directory in MyProject 
# unzip version2 into MyProj 
git add -A 
git commit -m "Version 2" 

を犯しバージョン3をゲット

はのバージョン3のために上記を繰り返し約束zipファイル

5

3つの異なるディレクトリに3つのzipファイルを解凍します。

第4のディレクトリでgit repoを初期化します。

その後、あなたはgitのレポからのgitコマンドを実行することを可能にする、--work-tree optionを利用するが、の外に位置してコンテンツをGitのレポ言った:つまり

cd /your/git/repo 
git add --work-tree=/path/to/zip1 -A . 
git commit -m "Add v1" 
git add --work-tree=/path/to/zip2 -A . 
git commit -m "Add v1" 
git add --work-tree=/path/to/zip3 -A . 
git commit -m "Add v3" 

、することができますあなたのgitディレクトリから移動せずに別の内容を追加してください!

関連する問題