GNU/Linux >> Linux の 問題 >  >> Linux

git:別のリポジトリに移動するときにファイルの変更ログを保持する

filename.conf の履歴を転送したいとします。 あるソース リポジトリから別の受信リポジトリへ。あなたがたどりたい戦略は次のとおりだと思います:

<オール>
  • ソース リポジトリで、filename.conf のみを含むように書き換えられたコミットのブランチを作成します。 .
  • コミットの独立した行を受信リポジトリの通常のブランチにマージします。
  • これを行う前に、必ずリポジトリのバックアップを作成してください!

    ソース リポジトリで、filter-branch を使用して履歴を再構築し、filename.conf 以外をすべて削除します。 .

    git checkout -b filtered-commits
    git filter-branch -f --prune-empty --tree-filter 'find . -not -name filename.conf -exec rm {} \;' filtered-commits
    

    次に、受信リポジトリで:

    git pull path/to/source/repo
    

    filename.conf というパスも移動する必要がある場合 リポジトリ内にあり、おそらく --subdirectory-filter を使用する必要があります git filter-branch のオプション .


    Linux
    1. Linuxでmvなしでファイルを移動する

    2. ファイルまたはディレクトリをコピーするときに所有権とファイルのアクセス許可をそのまま維持する方法

    3. ファイルはいつ作成されましたか?

    1. ファイル名に / を使用できますか?

    2. C で Linux 上のファイルを移動する

    3. Git リポジトリを削除しますが、すべてのファイルを保持します

    1. CentOs 7 の Beanstalkd

    2. install -c は cp とどう違うのですか

    3. テキスト ファイルに対するすべての変更の履歴を保持する