2008-09-18 31 views
43

Đối với công việc của trường, tôi thực hiện rất nhiều máy tính chuyển đổi (từ phòng thí nghiệm sang máy tính xách tay của tôi đến thư viện). Tôi muốn loại mã này dưới một số loại điều khiển phiên bản. Tất nhiên vấn đề là tôi không thể luôn luôn cài đặt phần mềm bổ sung trên các máy tính tôi sử dụng. Có bất kỳ loại hệ thống điều khiển phiên bản nào mà tôi có thể giữ trên một ổ USB không? Tôi có một ổ đĩa 2 GB để đưa vào, nhưng tôi có thể có được một lớn hơn nếu cần thiết.Điều khiển phiên bản trên ổ USB 2GB

Các dự án tôi đang làm không phải là vấn đề lớn nhất.

EDIT: Điều này cần phải hoạt động trong cửa sổ.

CHỈNH SỬA II: Bazaar đã kết thúc bằng những gì tôi đã chọn. Nó thậm chí còn tốt hơn nếu bạn đi với TortoiseBzr.

Trả lời

13

Bạn có thể sử dụng Portable PythonBazaar (Bazaar là một ứng dụng Python). Tôi thích sử dụng Bazaar cho các dự án cá nhân của riêng tôi vì sự đơn giản cực kỳ của nó. Ngoài ra, nó có thể được di động bởi vì Python có thể được di động. Bạn sẽ chỉ cần cài đặt các phụ thuộc của nó trong bản cài đặt Python Portable của bạn.

10

Câu trả lời tốt nhất cho bạn là một số loại DVCS (những người nổi tiếng là Git, Mercurial, Darcs, Bazaar ...). Lý do là bạn có một bản sao đầy đủ của toàn bộ kho lưu trữ trên bất kỳ máy nào bạn đang sử dụng. Tôi đã không sử dụng các hệ thống này một cách cá nhân, vì vậy những người khác sẽ đề xuất một DVCS với một dấu chân nhỏ và khả năng tương thích nền tảng tốt.

8

Tôi muốn sử dụng git. Git repos rất nhỏ và không yêu cầu daemon. Bạn có thể cài đặt cygwin hoặc msysgit trên flashdrive của mình.

Edit: here are some instructions for installing cygwin on a flash drive

+1

git trên cửa sổ là nhiều rắc rối trong com parison với Mercurial hoặc Bazaar. Tôi sử dụng git khi trên Linux và Mercurial khi trên cửa sổ. – Valentin

+1

@Valentin: Tôi sẽ không đồng ý. Git hoạt động tốt trên Windows mà không cần cài đặt (ví dụ: từ ổ USB). Cũng lưu ý rằng msys Git gần đây đã bắt đầu bao gồm xây dựng "PortableGit" trên trang web Google Code của họ (http://code.google.com/p/msysgit/). –

3

Bạn có thể đặt các tệp nhị phân lật đổ trên đó - chúng chỉ có 16 megabyte, vì vậy bạn sẽ có nhiều chỗ cho một số kho lưu trữ. Bạn có thể sử dụng các tệp nhị phân chính thức từ dòng lệnh hoặc trỏ một công cụ đồ họa (như TortoiseSVN) vào thư mục kho lưu trữ. Nếu bạn cảm thấy thích thú thì bạn có thể sử dụng ổ cứng để tự động chạy ứng dụng SVNSERVE, biến bất kỳ máy tính nào thành một máy chủ lật đổ nhẹ vào phút bạn cắm vào ổ đĩa.

Tôi đã tìm thấy một số hướng dẫn cho quá trình này here.

21

Tôi làm điều này với Git. Đơn giản chỉ cần, tạo ra một kho lưu trữ Git của thư mục của bạn:

git-init 
git add . 
git commit -m "Done" 

Chèn thanh, cd vào thư mục trên đó (Tôi có một tập tin ext2 lớn, tôi gắn kết với -o loop), và làm:

git-clone --bare /path/to/my/dir 

Sau đó, tôi cầm thanh này vào máy tính khác (nhà, v.v.). Tôi có thể làm việc trực tiếp trên cây gậy, hoặc nhân bản một lần nữa. Tới một số dir trên đĩa cứng và:

git-clone /path/to/stick/repos 

Khi tôi đang thực hiện với sự thay đổi, tôi làm 'git push' trở lại dính, và khi tôi trở lại tại nơi làm việc, tôi git push 'một lần một lần nữa để di chuyển các thay đổi từ dính vào máy tính làm việc. Khi bạn thiết lập điều này, bạn có thể sử dụng 'git pull' để chỉ tìm nạp các thay đổi (bạn không cần sao chép nữa, chỉ lần đầu tiên) và 'git push' để đẩy các thay đổi theo cách khác.

Vẻ đẹp của điều này là bạn có thể xem tất cả các thay đổi với 'git log' và thậm chí giữ một số công việc không liên quan đồng bộ khi nó thay đổi ở cả hai nơi trong thời gian chờ đợi.

Nếu bạn không thích dòng lệnh, bạn có thể sử dụng các công cụ đồ họa như gitk và git-gui.

+0

Tôi đang sử dụng Windows không may. Tôi đặt nó vào các thẻ, nhưng tôi cho rằng tôi cũng nên đặt nó vào câu hỏi. –

+7

Git hoạt động trên Windows khá tốt, thậm chí các công cụ đồ họa như Git-GUI và Gitk hoạt động tốt như trên Linux. Tôi khuyên bạn nên sử dụng cổng msysgit từ http://code.google.com/p/msysgit/ –

+0

Cảm ơn Milan đã đưa ra các bước ngắn gọn nhưng có ý nghĩa. –

1

Subversion sẽ hoạt động tốt. Xem thread

Cá nhân, tôi muốn giữ mọi thứ trên một máy tính duy nhất và Máy tính từ xa vào máy.

18

Darcs thật tuyệt vời cho mục đích này.

  • tôi không thể xác minh cho các nền tảng khác, nhưng trên Windows nó chỉ là một tập tin thực thi duy nhất mà bạn có thể giữ trên ổ đĩa.
  • Quan trọng nhất, giao diện dòng lệnh tương tác của nó là tuyệt vời và rất nhanh chóng trở nên trực quan (Tôi bây giờ thực sự bỏ lỡ tương tác cam kết trong bất kỳ VCS mà thiếu chúng) - bạn không cần phải ghi nhớ nhiều lệnh như phần của quy trình làm việc bình thường của bạn. Điều này là lý do chính tôi sử dụng nó trên git cho dự án cá nhân.

Thiết lập:

darcs init 
darcs add -r * 
darcs record -am "Initial commit" 

Tạo một kho lưu trữ trên máy tính của phòng thí nghiệm của bạn:

darcs get E:\path\to\repos 

Kiểm tra những gì bạn đã thay đổi:

darcs whatsnew  # Show all changed hunks of code 
darcs whatsnew -ls # List all modified & new files 

tương tác tạo ra một bản vá mới từ các thay đổi của bạn:

darcs record 

tương tác đẩy bản vá lỗi để kho trên ổ đĩa:

darcs push 

Nó được biết đến là chậm đối với các dự án lớn, nhưng tôi chưa bao giờ có bất kỳ vấn đề hiệu suất với nhỏ cho các dự án cá nhân trung bình tôi đã sử dụng nó trên.

Vì không cần cài đặt, bạn thậm chí có thể thoát khỏi ổ đĩa và chỉ cần lấy mã nhị phân từ web - nếu tôi quên ổ đĩa, tôi kéo một bản sao lưu trữ mà tôi muốn làm việc trên gương. tiếp tục webspace của tôi, sau đó tạo ra các bản vá lỗi và email đến bản thân mình như tập tin:

darcs get http://example.com/repos/forum/ 
# Make changes and record patches 
darcs send -o C:\changes.patch 
3

tôi sử dụng subversion trên ổ USB của tôi, những chương trình chính thức sẽ làm việc ngay ra khỏi ổ đĩa. Vấn đề với thủ thuật này là bạn cần phải truy cập vào một dòng lệnh để làm việc này hoặc có thể chạy các tập tin batch. Tất nhiên, tôi đồng bộ các tệp trên ổ USB của tôi với máy chủ mà tôi thanh toán. Bạn luôn có thể lưu trữ kho lưu trữ trên máy tính để bàn (sử dụng tệp: /// protocol) nếu bạn không muốn nhận không gian lưu trữ trên web.

+0

Trong khi việc tích hợp tra tấn sẽ không hoạt động nếu không được cài đặt. Bạn có thể sử dụng giao diện người dùng tắt của một thumbdrive. Không cố gắng này bản thân mình nhưng nó có thể được dễ dàng hơn sau đó dòng lệnh SVN. –

3

Tôi sẽ bị lynched khi nói câu trả lời này, nhưng nó hoạt động trong Windows: RCS.

Bạn chỉ cần tạo một thư mục RCS trong mỗi thư mục có mã của bạn. Khi đến lúc kiểm tra mọi thứ, ci -u $FILE. (Tập tin nhị phân cũng yêu cầu bạn phải chạy rcs -i -kb $FILE trước khi checkin đầu tiên.)

Bên trong thư mục RCS là một loạt các ,v file, đó là tương thích với CVS, nếu bạn muốn "nâng cấp" để một ngày nào đó (và từ có bất kỳ hệ thống VCS nào khác áp phích được đề cập). :-)

0

lật đổ bitnami ngăn xếp dễ dàng cài đặt. Bạn có thể thử cài đặt quá xampp với portableapps.com và lật đổ.

5

Chỉ cần thêm tài nguyên bổ sung Subversion on a Stick. Tôi vừa thiết lập điều này trên ổ USB 4GB của tôi, khá đơn giản và không đau.

Tôi nghĩ rằng bây giờ tôi rất muốn thử Bazaar.

Cập nhật: Tôi đã thiết lập PortablePython trên ổ USB của mình, đơn giản, nhưng nhận được chợ trên đó ... Tôi đã từ bỏ, một sự phụ thuộc khác, và như tôi đã có svn làm việc.
Nếu có ai biết về một trình cài đặt di động dễ dàng, tôi sẽ rất tuyệt vời.

1

Bộ nhớ flash và kiểm soát phiên bản dường như không phải là ý tưởng hay đối với tai của tôi. Tôi e rằng bộ nhớ sẽ sớm bị hao mòn, đặc biệt nếu bạn sử dụng rộng rãi các hoạt động điều khiển phiên bản khác nhau để tạo ra nhiều hoạt động đĩa nhỏ (hợp nhất, hoàn nguyên và chuyển đổi, v.v ...).

Ít nhất, hãy đảm bảo rằng bạn sao lưu kho lưu trữ thường xuyên nhất có thể, trong trường hợp ổ đĩa bị lỗi.

+0

Bạn sẽ nghĩ như vậy. Tuy nhiên kể từ khi kiểm soát phiên bản xảy ra trên quy mô của con người (tôi không kiểm tra nhiều lần trong một giây), đây không phải là một vấn đề trong thực tế. –

+0

Tôi đã không đề cập đến hiệu suất, nhưng tuổi thọ và chất lượng của một số bộ nhớ Flash kém. –

+0

Đây không phải là năm 1985. Trình điều khiển flash mới hơn sẽ di chuyển dữ liệu xung quanh để nhận được nhiều chu kỳ hơn cho mỗi ô macro. Ngoài ra mỗi tế bào thường có nhiều hơn 10k chu kỳ. Tôi không nghĩ rằng một kho lưu trữ đơn giản cho bài tập về nhà gây ra nhiều vấn đề. –

4

Tôi khuyên bạn nên Fossil http://www.fossil-scm.org/

bao gồm

  • dòng lệnh
  • dvcs
  • nền tảng chéo (và dễ dàng để biên dịch)
  • lệnh 'AutoSync' làm nhiệm vụ thiết yếu của đồng bộ với một bản sao lưu dễ dàng.
  • cấu hình máy chủ sao lưu là một doddle.
  • dễ học/sử dụng
  • rất hữu ích cộng đồng
  • web ui với wiki và bugtracker bao gồm.
  • 3.5Mb, đơn thực thi
  • cơ sở dữ liệu
  • một sqlite như kho
1

Tôi đang sử dụng GIT theo Milan Babuškov của câu trả lời:

(1) tạo kho lưu trữ và cam kết (trên máy tính văn phòng)

mkdir/home/Yoda/dự án & & cd/home/Yoda/dự án

git init

git add.

git commit -m "Done"

(2) chèn USB và thực hiện một bản sao của kho

cat/proc/phân vùng

gắn -t ext3/dev/sdc1/mnt/usb

git clone --bare/home/Yoda/dự án/mnt/usb/dự án

(3) lấy USB về nhà và thực hiện một bản sao của kho ở nhà

cat/proc/phân vùng

gắn -t ext3/dev/sdc1/mnt/usb

git clone/mnt/usb/dự án/home/Yoda/dự án

(4) đẩy cam kết từ máy tính gia đình trở lại USB

gắn -t ext3/dev/sdc1/mnt/usb

cd/home/Yoda/dự án

git push

(5) mất USB đến văn phòng và đẩy cam kết từ thẻ sang máy tính văn phòng

gắn -t ext3/dev/sdc1/mnt/usb

cd/mnt/usb/dự án

git push

(6) kéo cam kết từ máy tính văn phòng để USB

gắn -t ext3/dev/sdc1/mnt/usb

cd/mnt/usb/dự án

git pull

(7) kéo cam kết từ USB vào máy tính của nhà

gắn -t ext3/dev/sdc1/mnt/usb

cd/home/Yoda/dự án

git pull

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