GNU/Linux >> Belajar Linux >  >> Linux

git:Simpan changelog untuk file saat pindah ke repositori lain

Asumsikan Anda ingin mentransfer riwayat filename.conf dari satu repositori sumber ke repositori penerima lainnya. Saya pikir strategi yang ingin Anda ikuti adalah:

  1. Dalam repositori sumber, buat cabang komit yang ditulis ulang agar hanya berisi filename.conf .
  2. Gabungkan baris komit independen menjadi cabang normal di repositori penerima.

Pasti buat cadangan repositori Anda sebelum Anda melakukan ini!

Di repositori sumber, gunakan cabang-filter untuk membangun kembali riwayat dengan menghapus semuanya kecuali filename.conf .

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

Kemudian, di repositori penerima:

git pull path/to/source/repo

Jika Anda juga perlu memindahkan jalur yang filename.conf ada di dalam repositori, Anda mungkin perlu menggunakan --subdirectory-filter opsi pada git filter-branch .


Linux
  1. Cara mengekstrak file nama file.tar.gz

  2. Izin ditolak saat mengkloning repositori git

  3. bagaimana ar x filename.a ke direktori yang berbeda

  1. Bagaimana install -c berbeda dari cp

  2. Mengapa rsync tidak menggunakan delta-transfer untuk file lokal?

  3. Apakah sebaiknya menggunakan git untuk mengontrol versi file konfigurasi?

  1. Memindahkan file di Linux tanpa mv

  2. Cara Menjaga Kepemilikan Dan Izin File Tetap Utuh Saat Menyalin File Atau Direktori

  3. Script Shell Untuk Memindahkan File Terlama?