Làm thế nào để bạn di chuyển một tập tin?


219

Tôi đang sử dụng TortoiseSVN để chống lại kho lưu trữ SourceForge SVN. Tôi muốn chuyển một tập tin từ thư mục này sang thư mục khác để duy trì lịch sử sửa đổi của nó. Điều này có thể không? Nếu vậy, làm thế nào để bạn làm điều đó?

(Chiến lược hiện tại của tôi là sao chép tệp vào thư mục mới và kiểm tra tệp rồi xóa tệp khỏi thư mục hiện tại.)

Câu trả lời:


95

Subversion có hỗ trợ riêng cho việc di chuyển các tập tin.

svn move SOURCE DESTINATION

Xem trợ giúp trực tuyến (svn trợ giúp di chuyển) để biết thêm thông tin.


Hoặc một cách khác để nói: svn move <current path/filename> <destination path/filename>
Joe

313

Kiểm tra phần 5.14.2. Di chuyển tệp và thư mục (hoặc kiểm tra "di chuyển" trong Chỉ mục trợ giúp) của trợ giúp TortoiseSVN. Bạn thực hiện một động tác thông qua kéo phải. Nó cũng đề cập rằng bạn cần phải cam kết từ thư mục mẹ để thực hiện sửa đổi "một". Điều này làm việc để thực hiện thay đổi trong một bản sao làm việc.

(Lưu ý rằng các mục SVN trong hình ảnh sau sẽ chỉ hiển thị nếu thư mục đích đã được thêm vào kho lưu trữ.)

thực đơn di chuyển rùa

Bạn cũng có thể thực hiện di chuyển thông qua Trình duyệt Repo (phần 5.23. Trình duyệt kho lưu trữ trợ giúp).


Khi tôi tô sáng tất cả các tệp của mình, được kéo sang phải, menu windows explorer thông thường xuất hiện. Nó cho phép tôi chọn "di chuyển" nhưng đó không phải là một tùy chọn SVN nên tôi không chắc có bất cứ điều gì xảy ra. Khi tôi kiểm tra xem có sửa đổi gì không, nó nói 300 tệp đã bị xóa và 300 tệp không được phiên bản. Điều này dường như không hoạt động chính xác. Tôi sợ phải cam kết mà không biết liệu đây có phải là cách nó hoạt động hay không
Joe Phillips

48
Tôi chỉ nhận ra rằng nó có thể không hoạt động vì tôi chưa thêm / cam kết thư mục mới
Joe Phillips

Tôi biết điều này là nhiều năm sau - nhưng nhận xét của Joe rất quan trọng. tôi cũng vật lộn với điều này - tôi bỏ qua ghi chú nhỏ trong câu trả lời. Thư mục đích phải nằm dưới sự kiểm soát của SVN nếu không điều này sẽ không hoạt động. Rất may SVN cho phép thêm các thư mục trống. Sau khi đặt thư mục dưới điều khiển SVN, Kéo chuột phải sẽ hoạt động như mô tả ở trên. Mặt khác, trình đơn "Sao chép tại đây / di chuyển ở đây / hủy" chung của Windows được trình bày (nghĩa là thiếu các lựa chọn SVN).
ripvlan

Điều này là hoàn hảo. Tôi đã có một số vấn đề di chuyển hơn 1.500 tập tin trong một lần. Di chuyển chúng một thư mục tại một thời điểm dường như để thoát khỏi vấn đề này.
Michael Murphy

80

Với TortoiseSVN tôi chỉ cần di chuyển tệp trên đĩa.

Khi tôi thực hiện các thay đổi của mình, tôi chọn tệp bị thiếu và tệp mới và chọn " Sửa chữa di chuyển " từ menu chuột phải:

nhập mô tả hình ảnh ở đây

Điều này có nghĩa là tôi có thể để IDE của mình di chuyển các tệp tròn và sử dụng các công cụ tái cấu trúc mà không làm mất lịch sử.


3
Đây là cách ưa thích của tôi để di chuyển các tập tin bây giờ. Một cảnh báo; chỉ thực hiện <20 tệp tại một thời điểm giữa các lần xác nhận nếu không có thể rất mất thời gian để tìm các tệp có liên quan với nhau.
DarrenMB

@DarrenMB đã đúng: Tôi sắp chuyển Dự án Android từ Eclipse sang Android Studio. Tất cả các tập tin phải được di chuyển. Cách tiếp cận này không phải là cách tôi muốn sử dụng ở đây.
Bondax

@Bondax có, đối với việc di chuyển toàn bộ dự án, bạn nên thực hiện việc di chuyển từ bên trong SVN - đó là điều bạn thỉnh thoảng làm. Tôi thấy đây là cách tốt hơn cho phần lớn các di chuyển tệp được thực hiện bởi hầu hết các nhà phát triển trong một dự án.
Keith

1
Tôi cũng không có Repair Move, sử dụng rùa SVN 1.9.4
Mark Patterson

@Mark Patterson: Tôi thấy tùy chọn này và tôi cũng đang ở 1.9.4 (TortoiseSVN 1.9.4, Build 27285 và Subversion 1.9.4, -release). Tôi không nghĩ vấn đề của bạn liên quan đến phiên bản ... Đây là tài liệu chính thức của tính năng này: tortoisesvn.net/repairmove.html
Yosko 16/11/17

37

Trong TortoiseSVN, nhấp chuột phải vào một nơi nào đó và vào TortoiseSVN> Trình duyệt Repo mở kho lưu trữ.

Tất cả những gì bạn phải làm là kéo và thả tệp từ một thư mục đến nơi bạn muốn. Nó sẽ yêu cầu bạn thêm một thông điệp cam kết và nó mặc định nó là "Đã di chuyển tệp / thư mục từ xa"


22

Sử dụng TortoiseSVN Tôi chỉ cần nhấp chuột phải và kéo thư mục từ vị trí này sang vị trí khác. Khi bạn nhả chuột phải, bạn sẽ có tùy chọn "SVN Move Phiên bản tệp." Tuy nhiên, tôi tin rằng SVN không làm bất cứ điều gì "ưa thích" ở đó, mà chỉ xóa tệp ở vị trí trước đó và thêm nó vào vị trí mới.


18

Đối với khách hàng TortoiseSVN:

  1. Chọn các tập tin bạn muốn di chuyển,
  2. Nhấp chuột phải và kéo các tệp vào thư mục bạn muốn di chuyển chúng đến,
  3. Một cửa sổ sẽ bật lên sau khi bạn giải phóng kéo và thả trên một thư mục. Nhấp vào "SVN Move (các) mục được phiên bản tại đây" ,
  4. Sau khi bạn nhấp vào bên trên, hộp thông báo cửa sổ cam kết sẽ xuất hiện. Nhập tin nhắn và gửi.

Bây giờ bạn đã hoàn tất.


8

Cắt tập tin qua menu ngữ cảnh của hệ điều hành như bạn vẫn thường làm, sau đó thay vì thực hiện dán thông thường, nhấp chuột phải để đưa menu ngữ cảnh, sau đó chọn TortoiseSVN -> Paste(đảm bảo bạn cam kết từ gốc để bao gồm cả tệp cũ và tệp mới trong cam kết).


4

Tôi nghĩ rằng trong trình duyệt svn trong tortoisesvn, bạn có thể chỉ cần kéo nó từ nơi này sang nơi khác.


2

Vì bạn đang sử dụng Rùa, bạn có thể muốn xem liên kết này trên LosTechies. Nó phải gần như chính xác những gì bạn đang tìm kiếm.

http://www.lostechies.com/bloss/joshua_lockwood/archive/2007/09/12/subversion-tip-of-the-day-moving-files.aspx


3
Vì liên kết đó có thể bị hỏng, bạn có thể muốn sao chép thông tin liên quan vào câu trả lời của mình.
Cees Timmerman

3
... Và liên kết đó đã bị hỏng. Điểm và trường hợp.
Stuart.Sklinar

1

Nếu tôi không bắt đầu từ phiên bản 1.5 SVN có thể theo dõi các tệp \ thư mục đã di chuyển. Trong TortoiseSVN, sử dụng có thể di chuyển tệp qua kéo và thả.


1

Cũng có thể được gọi là "đổi tên" bởi rùa, nhưng svn di chuyển, là lệnh trong máy khách svn barebones.


Câu trả lời đơn giản và chính xác nhất là câu trả lời! sử dụng các tệp di chuyển TortoiseSVN được thực hiện bằng cách nhấp chuột phải> đổi tên. đó là nó.
RoeeK

1

Truyền tệp bằng TortoiseSVN:

Bước: 1 Vui lòng Chọn các tệp bạn muốn di chuyển, Nhấp chuột phải và kéo các tệp vào thư mục mà bạn di chuyển chúng đến, Một cửa sổ sẽ bật lên sau khi làm theo hướng dẫn bên dưới

Tùy chọn SVN

Bước 2: Sau khi bạn nhấp vào bên trên, cam kết tệp như dưới đây đề cập

Cam kết SVN


0

Nếu bạn đang di chuyển các thư mục thông qua Trình duyệt kho lưu trữ, thì không có tùy chọn Di chuyển khi nhấp chuột phải; cách duy nhất là kéo và thả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.