2009-06-03 55 views
6

Bất cứ ai có thể cho tôi biết lệnh cập nhật tệp trong kho lưu trữ SVN. Tệp đã được nhập, tôi chỉ muốn sửa đổi các thay đổi.Làm cách nào để cập nhật tệp trong SVN?

Tệp là main.css và filepath /home/weblab/public_html/cake_1_2/app/webroot/css.

Ai đó có thể cho tôi lệnh chính xác không?

Trả lời

8

Tôi đoán rằng bạn đã sử dụng "nhập khẩu svn" để đưa tệp vào kho lưu trữ. Nếu đúng như vậy, thì tệp cục bộ của bạn trên đĩa là không phải là một phần của bản sao làm việc và bạn sẽ không thể "svn cam kết" nó.

Để xác minh điều này, hãy chạy svn info từ thư mục mã của bạn. Nếu có: svn: '.' is not a working copy, thư mục hiện tại của bạn không phải là bản sao làm việc.

gì sau đó bạn cần phải làm là:

  1. svn checkout dự án của bạn từ kho đến một bản sao hoạt động địa phương (thư mục tạm thời).
  2. sao chép thay đổi của bạn vào các tệp hiện có qua bản sao làm việc
  3. svn commit những thay đổi đó.

Sau khi bạn đã làm điều đó, hãy đổi tên vị trí ban đầu của dự án (nơi bạn đang làm việc ngay bây giờ) và di chuyển bản sao làm việc vào vị trí của nó. Giờ đây, bạn có thể svn commit như bình thường từ bản sao làm việc của mình.

Nếu thư mục bạn sử dụng bây giờ được gọi là: /home/username/myproject và bản sao làm việc được gọi là /tmp/workingcopy. Sau đó, bạn có thể gõ như sau:

  1. mv /home/username/myproject /home/username/myproject.old
  2. mv /tmp/workingcopy /home/username/myproject

Giờ hãy tiếp tục công việc của bạn trong /home/username/myproject, bạn có thể xóa myproject.old nếu bạn chắc chắn tất cả các mã của bạn là trong kho svn

+0

Bạn hoàn toàn chính xác. Bây giờ tôi có thể cập nhật trong svn. Nhưng tôi không hiểu phần thứ hai. Làm thế nào để làm cho vị trí dự án của tôi như là vị trí làm việc? Tôi đang làm việc trong cakephpnow. Làm thế nào để di chuyển bản sao làm việc vào thư mục cakephp của tôi và sử dụng nó? – Angeline

+0

Vui lòng xem phần bổ sung của tôi cho câu trả lời ở trên để biết cách thay thế thư mục của bạn bằng bản sao làm việc svn. –

1

svn ci filename

+0

Tôi nhận được lỗi không phải là bản sao làm việc hoặc Không thể mở tệp '/.svn/entries': Không có tệp hoặc thư mục như vậy – Angeline

1

câu trả lời nhanh: Sử dụng 'Commit'

Vâng, mà hệ điều hành, trong đó khách hàng?

Nếu trên cửa sổ, TortoiseSVN là tốt nhất.

+0

ubuntu của nó .. và cam kết đã hoạt động hoặc tôi không đề cập đến đường dẫn chính xác tôi giả sử .. – Angeline

5

Có ba cách để giải thích câu hỏi của bạn:

  1. Bạn chỉ có các tập tin trong một kho lưu trữ lật đổ, và bạn muốn thay đổi nội dung của nó
  2. Bạn có tập tin cả trong một kho lưu trữ và trên đĩa, chưa có thay đổi nào được thực hiện và bạn muốn sửa đổi nội dung của cả hai nơi
  3. Bạn có tệp trong kho và trên đĩa, tệp trên đĩa chứa các thay đổi và bạn muốn cập nhật phiên bản kho lưu trữ với những thay đổi đó

Nếu lần đầu tiên, trước hết bạn cần kiểm tra tệp đó bằng bản sao đang hoạt động trên đĩa, sau đó chuyển sang trường hợp 2.

Nếu thứ hai, bạn cần phải sửa đổi tệp trên đĩa với các thay đổi và sau đó chuyển sang trường hợp 3.

Nếu thứ ba, bạn cần phải cam kết các thay đổi đối với kho lưu trữ.

Bạn thực hiện việc này với ứng dụng Subversion đã chọn của mình. Nếu đây là dòng lệnh, một lệnh điển hình trông giống như sau:

svn ci -m "Text that describes the changes that were done" 

Vấn đề thực sự ở đây là bạn không biết cách sử dụng Subversion. Tôi sẽ tìm thấy một hướng dẫn Subversion và chơi xung quanh với nó, tạo ra một kho lưu trữ tạm thời và đưa các tập tin vào nó, chơi xung quanh với các cam kết, thanh toán, hoàn nguyên, đăng nhập, vv lệnh để có được một cảm giác về cách thức hoạt động của hệ thống.

+0

Mỏ là c thứ ba ase.Is không cần phải đề cập đến tên tập tin? – Angeline

+0

Theo mặc định, Subversion sẽ cam kết bất kỳ tệp đã sửa đổi nào trong thư mục làm việc. Nếu bạn chỉ muốn cam kết một tệp, bạn có thể thêm đường dẫn của nó làm tham số bổ sung cho lệnh cam kết. –

+1

Về hướng dẫn Subversion: http://svnbook.red-bean.com/ là một cuốn sách điện tử miễn phí tuyệt vời để giới thiệu về kiểm soát phiên bản nói chung và svn nói riêng. – balpha

0

Sử dụng Mac OS và có liên kết Url tới SVN. Làm theo các bước

-Mở đầu cuối.

thay đổi thư mục sang đường dẫn cần thiết (ví dụ: cd Desktop /).

-Loại lệnh: svn checkout url

$MacBook-Pro:~ worktpg$ svn checkout http://stackoverflow.com/questions/ 

tên người dùng và mật khẩu -Nhập nếu được nhắc và chờ cho quá trình hoàn thành

-Đối nhật svn từ thiết bị đầu cuối, cd vào con đường và gõ lệnh: svn update

Các vấn đề liên quan