2012-02-07 13 views
1

ここでのSVNの移行の質問のいくつかとは異なり、私はGitに「自分のマシン上のフォルダの束」からソース管理(またはその欠如;私はQAエンジニア、開発チームは私はzipファイルを毎回繰り返し、あまりにも激しく笑っていない:)。Gitで遡及タグを追加する?

私は最新のコードをコミットしましたが、私はたくさんの「タグ」も持っています。つまり、プロダクションに配備した直後にプロジェクトのコピーを別のルートフォルダに作成しました。

これらのタグフォルダの内容は必ずしも一貫した形式ではありません(各タグ内のフォルダにはさまざまな内部バージョン番号が付けられていますが、バイナリのバックアップがありますが、

DuckProject 
    DuckProject 1.2 
    R1 
    R2 
    R3  
    DuckProject 1.3 
    R1 
    R2 
    DuckProject 1.4 
    R1 
    R2 
    R3 <- copied elsewhere as '../GitHub/DuckProject' and uploaded to GitHub 

    Tags 
    DuckProject 1.2 tag <- want to upload and mark as a tag 
     R3 
     R3_BINARY.TAR 
    DuckProject 1.3 tag <- want to upload and mark as a tag 
     R2 
     archived_binaries 
     r2_debugbinary.zip 
     r2_releasebinary.zip 

だから、基本的に私はGitHubの1.2タグと1.3タグフォルダをアップロードしたいのですが、実際に変更を追跡する気にしない:時間など)が

すべては、このようなビット(やや簡略化)が見えますタグバージョン間で、またはHEADからの相対的なものであってもよい。しかし、私は1.4 R3以降の変更を追跡し、最終的には '1.4 R7'などのタグ付けが必要になります。理想的には、「遡及的」タグと合理的に一致します。

Gitでこれを行うにはどうすればいいですか?

答えて

1

親を持たないコミットとして作成し、git tagを使用してタグ付けすることができます。これは、git tagを使用して作成された新しいバージョンのタグと一貫しています。アーカイブからファイルをコミット

  1. なし親

    git checkout --orphan tmp 
    
  2. で一時的なブランチを作成:のようなものはない、それを指すタグを持っていない親とのコミットを作成するには

    一時的なブランチに移動します(これを行う前に、前のブランチの後に、git rm -fを使用してクリーンアップする必要があります)。

  3. タグ戻っmasterブランチにコミット

    git tag v1.2 
    
  4. 移動

    git checkout master 
    
  5. git branch -D tmp 
    
一時的なブランチを削除します
関連する問題