it-swarm-vi.tech

Bắt đầu với Subversion, Git hoặc Hệ thống kiểm soát phiên bản tương tự để giữ Lịch sử tệp của tôi?

Tôi nhận ra đây có thể là một câu hỏi lớn trên bề mặt, nhưng tôi đang tìm kiếm các ví dụ cụ thể về thiết lập/quy trình công việc mà mọi người sử dụng để giữ lịch sử phiên bản của các tệp đã chỉnh sửa trên trang web WordPress. Chẳng hạn, khi phát triển một trang web (và thậm chí sau khi nó hoạt động), tôi thường thay đổi các tệp CSS và PHP, nhưng tôi không có cách nào tuyệt vời để trở lại các phiên bản cũ hơn của các tệp đó. Đối với mục đích của tôi, việc thực hiện các thay đổi trên bản cài đặt phát triển cục bộ và sau đó sao chép những thay đổi đó sang trang trực tiếp thường gặp nhiều rắc rối hơn tôi muốn. Bạn có đề xuất nào về cách bắt đầu sử dụng công cụ tạo phiên bản để theo dõi các chỉnh sửa cho các tệp trên một trang web trực tiếp không?

31
Travis Northcutt

Tôi không chắc bạn biết bao nhiêu về việc sử dụng kiểm soát phiên bản, nhưng gần đây tôi đã chuyển từ SVN sang GIT và thấy điều đó thật tuyệt!

Mặc dù tùy thuộc vào máy chủ của trang web trực tiếp của bạn đã cài đặt GIT (hoặc sẽ cho phép bạn). Tôi cũng có một thiết lập GIT trên máy chủ trực tiếp, chạy một nhánh gọi là production. Bất cứ khi nào tôi hoàn thành việc thực hiện/sửa lỗi một cái gì đó cục bộ, tôi hợp nhất nó vào nhánh production, sau đó SSH vào máy chủ của trang web trực tiếp và thực hiện các thay đổi. Nhịp đập kéo tập tin qua FTP khi bạn không bao giờ biết nếu bạn đang ghi đè thay đổi, v.v.

Tôi sẽ khuyên bạn nên dành một chút thời gian để nó được bổ sung bằng GIT (nếu bạn chưa có), tôi thấy nó dễ dàng và ít rắc rối hơn SVN khi thay đổi/thêm tải tệp (và không giống như SVN .svn thư mục ở mọi nơi ).

Vì thế:

Chắc chắn, tôi đang dùng Mac, rất xin lỗi nếu không có cái nào trong số này áp dụng.

Trình chỉnh sửa mã: Coda Đã cài đặt GIT thông qua các cổng (sử dụng Porticus) Git: GitX

Nếu tôi thiết lập mọi thứ mới, tôi sẽ làm:

  1. Cài đặt Coda

  2. Cài đặt Porticus (sẽ yêu cầu bạn cài đặt Cổng, nhưng có thông tin trên trang đó)

  3. Khi bạn đã cài đặt Porticus, hãy mở nó ra, tìm kiếm "git-core" và Cài đặt nó.

  4. Tải xuống và cài đặt GitX 7-5

  5. Có một hướng dẫn tốt về cách thiết lập repo git ở đây , nhưng ở mức cơ bản: 1. Mở Terminal. 2. cd đến nơi bạn muốn trang web của bạn cư trú. $: mkdir mysite && cd mysite 3. $: git init và đó là nó! Nếu bạn thêm tập tin vào thư mục này thì tiếp tục bước tiếp theo

  6. Khi bạn đã thiết lập kho lưu trữ GIT cục bộ (bài viết trên), nếu bạn mở thư mục đó trong GitX, bạn sẽ có thể cam kết công cụ, v.v.

Thiết lập tất cả trên máy chủ có thể hơi khó khăn, tôi có một tài khoản MediaTemple và Dreamhost mà cả hai đều có GIT. Liên kết trong 5. cho bạn biết cách thêm repo từ xa, bạn không phải làm điều đó cho đến khi bạn muốn đưa trang web trực tiếp của mình vào phương trình. Tôi sẽ khuyên bạn nên làm mọi thứ hoạt động cục bộ trước tiên (không giống như SVN, GIT không yêu cầu kho lưu trữ từ xa, vì vậy bạn có thể bo mọi thứ trên máy của mình trong thời gian này)

14
Joe Hoyle

Tôi sử dụng SVN để kiểm soát phiên bản với mọi thứ Tôi làm trong phát triển WordPress. Tôi thực sự bắt đầu theo cách này vì tôi cần SVN để phát triển trình cắm thêm ... khi tôi bắt đầu ở đó, đó là một phần mở rộng tự nhiên để tiếp tục sử dụng SVN cho các chủ đề và tập lệnh tùy chỉnh trên các trang web của khách hàng.

Bổ sung

Vì các plugin đã được lưu trữ trên máy chủ của WordPress, tôi chỉ cần kiểm tra một trình cắm trực tiếp vào thư mục /wp-content/plugins/ của bản cài đặt WordPress cục bộ của tôi (tôi chạy WAMP trên hộp phát triển của mình). Sau đó, tôi thực hiện các thay đổi đối với bản sao cục bộ của mình và khi nó sẵn sàng cho thời gian chiếu, hãy cam kết với kho lưu trữ. Đó là một quá trình trơn tru ở đó, không tải lên/tải xuống và xác minh ngay lập tức rằng những thay đổi của tôi đã hoạt động.

Chủ đề

Chủ đề là một chút khác nhau, đặc biệt là khi xây dựng cho một khách hàng. Tôi tạo một kho lưu trữ cục bộ (tôi có phân vùng R trên ổ cứng dành riêng cho mục đích này) và kiểm tra kho lưu trữ trống trực tiếp vào thư mục /wp-content/themes của tôi. Sau đó, tôi thực hiện các thay đổi khi cần thiết và phát triển cho đến khi nó sẵn sàng, cam kết sửa đổi khi tôi đi.

Khi tôi sẵn sàng xuất bản chủ đề lên máy chủ sản xuất của khách hàng, tôi xuất kho lưu trữ, Zip và sử dụng Chủ đề gốc >> Thêm chức năng mới trong WordPress. Điều này cũng hoạt động với các plugin tùy chỉnh (không được lưu trữ bởi WordPress).

Công cụ

Như tôi đã nói, tôi sử dụng WAMP trên máy cục bộ của mình để chạy cài đặt phát triển WordPress. Nó hoạt động hoàn hảo trên hộp của tôi và cho phép tôi chạy nhiều phiên bản WordPress như tôi cần cho một dự án cụ thể.

Đối với SVN, tôi sử dụng Rùa SVN . Nó miễn phí, rất dễ sử dụng và tích hợp với cấu trúc tệp và lệnh của Windows. Cập nhật, cam kết và xuất tất cả đều đơn giản là nhấp chuột phải, chọn các thao tác lệnh. Sử dụng "Xuất" cho phép bạn gửi toàn bộ thư mục (không có các thư mục .svn gây phiền nhiễu) trực tiếp đến bất kỳ vị trí nào bạn chọn - Tôi thường xuất ra máy tính để bàn. Nén thư mục cũng là một thao tác nhấp chuột phải và WordPress xử lý việc tải lên.

Chuyển tập tin theo cách thủ công có thể là một rắc rối, đặc biệt nếu bạn tiếp tục thay đổi một tập tin nhưng không phải tất cả chúng. Nếu bạn thay thế FTP trên toàn bộ thư mục với "ghi đè tất cả" được chọn, việc thay thế các tệp cũ sẽ dễ dàng hơn nhiều (và bạn không phải theo dõi những thay đổi nào và không thay đổi). Nó giống như bản cài đặt cũ 5 phút mà WordPress từng có - chỉ cần thay thế mọi thứ bằng phiên bản mới.

8
EAMann

Cá nhân, tôi nghĩ rằng đây là một bài tập thú vị để cài đặt SVN/GIT và quản lý nó, nhưng nếu bạn có thể kiếm được 15 đô la mỗi tháng, Beanstalk đáng giá từng xu. Họ quản lý toàn bộ máy chủ cho bạn. http://beanstalkapp.com/ Các công cụ triển khai FTP thật tuyệt vời. Mine tự động triển khai phiên bản cho máy chủ dàn của tôi khi tôi cam kết chẳng hạn

Một cách khác để có được một số phiên bản tệp cá nhân là sử dụng hộp thả. Mỗi khi bạn lưu tệp vào hộp thả xuống, nó sẽ theo dõi phiên bản và bạn có thể khôi phục lại bất kỳ phiên bản nào trước đó sau này .. Bạn và một nhà phát triển hoặc nhóm khác có thể chia sẻ thư mục hộp thả. Cấp điều này không làm thân, sáp nhập, vv, nhưng nó làm cho một nhóm phân phối làm việc trên một trang web rất dễ dàng. Bạn chỉ không thể thực sự làm việc trên cùng một tệp chính xác cùng một lúc.

Chúng tôi giữ bản sao SVN hoạt động trong dropbox, sau đó tôi cam kết các tệp khi thời gian được ghi. Các nhà thiết kế của tôi sẽ không cam kết các tệp hoặc giao dịch với SVN, vì vậy đây là điều đáng khen ngợi.

Tôi thích SVN hơn vì tôi không cần tất cả các trung kế mà GIT rất tuyệt vời và có các công cụ GUI tốt hơn có sẵn của SVN.

3
Andrew

Tôi thích Aptana rất nhiều, nó có Subversion được tích hợp và bạn có thể dễ dàng kết nối với máy chủ của mình bằng ftp/sftp và đẩy các tập tin lên, một tính năng tuyệt vời khác là nếu bạn tạo dự án php mới và bao gồm "Toàn bộ" thư mục WordPress (với wp-admin, wp-gộp) bạn có thể hoàn tất mã trong các tệp chủ đề của mình.

Trong thiết lập của tôi, repo là cục bộ.

2
Amit

Bạn yêu cầu "nhưng tôi đang tìm kiếm các ví dụ cụ thể về thiết lập/quy trình công việc mà mọi người sử dụng để giữ lịch sử phiên bản của các tệp đã chỉnh sửa trên trang web WordPress" nhưng bạn cũng đề cập đến các sản phẩm :)

Bạn nhận được ở trên như trả lời một danh sách các công cụ và một số thực tiễn tốt nhất nhưng tôi sẽ tập trung ở đây vào quy trình công việc: HỌ KHÔNG PHẢI LÀ CÔNG CỤ:

Nhưng đối với các ví dụ chung/thiết lập/quy trình công việc:

Đối với người mới bắt đầu: có các mẫu CM, vì vậy độc lập với công cụ. Google trên CM Forms, rất nhiều sách ngoài đó, thậm chí các cộng đồng của wiki, ví dụ: http://www.cmcrossroads.com/forums .

Ngoài ra còn có hướng dẫn về cách thiết lập chiến lược luồng hợp lệ (chiến lược luồng google), v.v ...

Tôi không nghĩ có gì đặc biệt về việc triển khai WordPress so với CM Management bao gồm phát triển song song phân tán trên các nhà máy lớn Siebel, SAP, Informatica, Java, v.v. Nó thực sự gần như mặc định.

Điều còn thiếu, tôi nghĩ, là không ai đã viết một CMplan để phát triển WordPress (chưa) (IEEE). Một khi ai đó đã làm điều đó (công cụ độc lập). Các yêu cầu có thể được điền vào, tôi nghĩ, với bất kỳ công cụ nào.

Tôi nghĩ lý do mà kế hoạch chưa được viết là vì hầu hết tất cả các triển khai WordPress vẫn được thực hiện bởi 1 người với thiết lập sản xuất phát triển đơn giản để không có nhiều nhà phát triển/nhà thiết kế trong giai đoạn xây dựng phải triển khai các phiên bản khác nhau đang chạy trong môi trường thử nghiệm, ví dụ.

kế hoạch CMP bắt đầu bằng việc xác định tất cả các CI theo cách khác: lập danh sách tất cả các loại CI hiện diện trong triển khai WordPress bao gồm các ứng dụng, plugin, cơ sở dữ liệu, tài liệu, trợ giúp, nội dung, tệp cấu hình, ghi chú phát hành (!), v.v. ..). Đó là một khởi đầu tốt. Sau đó quyết định những gì bạn muốn mang theo CM.

Tiếp theo quyết định nguyên nhân gây ra thay đổi trên các CI này, ví dụ: một khách hàng gọi cho một lỗi, hoặc một bản nâng cấp cần thiết. Nếu được thực hiện đúng, điều này dẫn đến một tình huống mà bạn có cảm giác mọi thứ đang được kiểm soát.

Các quyết định như hợp nhất trở lại từ sản xuất đến phát triển và cách xử lý đó là một phần của chương đó (2 mẫu chính ở đây) (mặc dù vậy, bạn nên cố gắng giảm thiểu các hotfix này).

Chỉ sau này mới tìm kiếm một công cụ để thực hiện CM ở một bên (bao gồm quản lý phiên bản là một trong những công cụ) và thay đổi công cụ quản lý ở phía bên kia (giúp bạn tỉnh táo).

Tôi nghĩ rằng đó là quy trình làm việc tốt nhất để bắt đầu kể từ khi tôi googled, chưa có ai làm. Tôi nghĩ rằng một khi người đầu tiên đã viết Kế hoạch CM WordPress (theo IEEE), mọi người WordPress khác trên thế giới có thể sao chép kế hoạch đó và thực hiện các điều chỉnh cũng như thực hiện các mẫu trong công cụ của họ.

Không phải là quá nhiều công việc/quá nặng: phụ thuộc vào việc bạn có công ty hay không: nó có thể tiết kiệm thời gian lớn của bạn một ngày để có kế hoạch CM tốt.

1
edelwater

Tôi đang sử dụng Máy chủ được chia sẻ vì vậy tôi không thể cài đặt SVN hoặc bất cứ thứ gì tương tự. Tôi sử dụng Mercurial để kiểm soát phiên bản trên máy chủ của mình. Tôi sử dụng đồng bộ hóa FTP của Beyond So sánh để giữ cho các thư mục cục bộ và từ xa được đồng bộ hóa.

0
CAD bloke

tôi đang sử dụng git. nó đơn giản bạn phải hiểu lệnh đơn giản như clone, comit, Push, pull và bạn đã sẵn sàng để đi. đó là cơ bản.

mặc dù, nếu bạn sử dụng git nó nhiều hơn như phối hợp một nhóm để làm việc trên một sản phẩm, thì đó là một cấp độ khác. nhưng cuối cùng, nó đáng để sử dụng git hoặc bất kỳ điều khiển phiên bản nào. có thể nhận ra khi shit xảy ra.

0
justjoe