Di chuyển kho lưu trữ Git sang kho lưu trữ khác

Khi tạo một kho lưu trữ mới đến từ mã trong kho lưu trữ hiện có, sẽ rất hữu ích nếu có thể duy trì lịch sử git vì nó đóng vai trò là tài liệu và ngữ cảnh bổ sung. Nó cũng đảm bảo tác giả ban đầu của mã được ghi có

Đây là cách bạn có thể đạt được nó trong một vài lệnh. O

Tạo repo mới của bạn

mkdir new-repo

Sao chép repo nguồn

git clone //github.com/johno/a-repo

Lọc tất cả các cam kết ngoài thư mục bạn quan tâm trong repo nguồn

git filter-branch --subdirectory-filter my-dir -- -- all

**Thêm một "điều khiển từ xa cục bộ" vào kho lưu trữ nguồn"

git remote add source-repo ../a-repo

Sau đó tìm nạp "điều khiển từ xa cục bộ"

git fetch source-repo

Tạo một nhánh từ chủ của nguồn

git branch source-repo remotes/source-repo/master

Sau đó hợp nhất trong repo nguồn

git merge source-repo --allow-unrelated-histories

Cuối cùng, dọn dẹp repo nguồn

git remote rm source-repo
git branch -d source-repo

Và cam kết

________số 8

Có liên quan

Nếu bạn có dự án LookML được kết nối với kho lưu trữ Git, bạn có thể muốn di chuyển LookML của dự án đó sang kho lưu trữ mới

Có hai cách tiếp cận khả thi cho vấn đề này, cả hai đều được mô tả trong các phần sau

  • Đặt lại kết nối Git. Giải pháp đơn giản này bảo tồn tất cả các nhánh cá nhân và chia sẻ trong Looker và phù hợp với phần lớn các trường hợp sử dụng
  • Sao chép kho lưu trữ Git. Giải pháp nâng cao này được ưu tiên khi điều quan trọng là có thể xem ngay toàn bộ lịch sử của tất cả các nhánh từng được sử dụng thông qua giao diện người dùng của nhà cung cấp Git của bạn

giải pháp đơn giản. Đặt lại kết nối Git

Nếu bạn đặt lại kết nối Git và nhập URL kho lưu trữ Git mới, thì LookML sẽ được chuyển sang kho lưu trữ đó. Tất cả các thay đổi đã lưu trong các nhánh cá nhân và chia sẻ sẽ được duy trì và có thể sử dụng được trong Looker. Lúc đầu, giao diện người dùng của nhà cung cấp Git của bạn sẽ chỉ hiển thị nhánh chính và lịch sử của nó. Các nhánh khác và lịch sử của chúng sẽ xuất hiện vào lần tiếp theo một cam kết được thực hiện cho nhánh đó. Để di chuyển sang kho lưu trữ mới bằng phương pháp này, hãy làm theo các bước sau

  1. Điều hướng đến trang Cài đặt dự án cho dự án đó
  2. Trên tab Cấu hình của trang Cài đặt dự án, chọn nút Đặt lại kết nối Git
  3. Trên trang Định cấu hình Git, nhập URL Git mới [URL Git cho kho lưu trữ mà bạn muốn di chuyển đến], sau đó chọn Tiếp tục
  4. Nếu bạn đang sử dụng SSH để kết nối, hãy nhớ chọn Reset Key. Mặt khác, cùng một khóa SSH sẽ được sử dụng, điều này có thể gây ra xung đột nếu cả hai kho lưu trữ được lưu trữ bởi cùng một dịch vụ [trong trường hợp này là GitHub]
  5. Đối với các kết nối SSH, hãy thêm khóa triển khai mới vào repo Git của bạn và đảm bảo cấp quyền truy cập ghi trong cài đặt khóa triển khai repo Git. Nếu bạn đang sử dụng HTTPS, hãy nhập thông tin đăng nhập cho repo Git của bạn. Xem trang tài liệu Thiết lập và thử nghiệm kết nối Git để biết hướng dẫn đầy đủ về cách thiết lập Git

Khi bạn đã làm theo các bước này, dự án của bạn sẽ được kết nối với kho lưu trữ mới

Ghi chú. LookML dự án của bạn sẽ không xuất hiện trong nhánh chính của kho lưu trữ mới cho đến khi bạn triển khai dự án của mình vào sản xuất. Trừ khi bạn triển khai vào sản xuất, mã LookML của bạn sẽ chỉ xuất hiện trên nhánh phát triển của bạn trong kho lưu trữ mới sau khi bạn chuyển giao mã hoặc đẩy mã đó vào điều khiển từ xa [lệnh Git có sẵn trong bảng Tác vụ Git]

Giải pháp nâng cao. Nhân bản kho lưu trữ

Giải pháp đơn giản được mô tả trước đây sẽ lưu giữ lịch sử của tất cả các nhánh, nhưng ban đầu chỉ có nhánh chính và lịch sử của nhánh đó mới hiển thị trong Giao diện người dùng GitHub. Khi một cam kết được thực hiện trên một nhánh cá nhân hoặc chia sẻ trong Looker, nhánh đó và lịch sử của nhánh đó sẽ xuất hiện trong giao diện người dùng GitHub. Một giải pháp nâng cao hơn là cần thiết để xem ngay tất cả các nhánh và lịch sử của chúng thông qua giao diện người dùng GitHub

Trước tiên, bạn cần có quyền truy cập vào kho lưu trữ gốc trong GitHub [hoặc nhà cung cấp Git khác]. Bạn có thể tìm thấy URL kho lưu trữ ở cuối trang cài đặt dự án hoặc trang cấu hình dự án

Đối với ví dụ này, giả sử rằng

git clone //github.com/johno/a-repo
3 là repo ban đầu và
git clone //github.com/johno/a-repo
4 là repo mới

  1. Sao chép kho lưu trữ ban đầu vào máy tính của bạn và kéo xuống các nhánh bạn muốn giữ lại

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Đặt lại URL từ xa của repo. Xem tài liệu GitHub để biết thêm thông tin

    git clone //github.com/johno/a-repo
    
    0

    Điều này cho bạn thấy [các] điều khiển từ xa mà repo của bạn hiện đang trỏ tới. Kết quả sẽ giống như thế này

    git clone //github.com/johno/a-repo
    
    1
  3. Tiếp theo, đặt điều khiển từ xa gốc thành repo mới

    git clone //github.com/johno/a-repo
    
    2
  4. Bây giờ, để đưa vào lịch sử và tệp cho các nhánh nhà phát triển, bạn cần thực hiện

    git clone //github.com/johno/a-repo
    
    5 và
    git clone //github.com/johno/a-repo
    
    6 cho mỗi nhánh nhà phát triển. Điều này có thể được thực hiện thủ công hoặc trong một vòng lặp trong tập lệnh, chẳng hạn như trong ví dụ sau

Chủ Đề