Có hướng dẫn nào về việc sử dụng WP SVN với các máy khách IDE không? [đóng cửa]


8

Tài liệu để xử lý kho lưu trữ WP chính thức là về việc sử dụng dòng lệnh. Mặc dù tôi không thiên vị với điều đó, nhưng tôi có ít kinh nghiệm với VCS và hai (hoặc ba) cái khác nhau mà tôi sẽ phải tìm ra và sử dụng trong tương lai gần nhất.

Vì vậy, bây giờ tôi ủng hộ nó với các tính năng tích hợp VCS trong IDE (NetBeans, PHPStorm). Điều này thường khiến tôi bối rối về các chi tiết cụ thể và cách làm việc đúng đắn.

Có bài viết / bài đăng / hướng dẫn tốt nào về việc sử dụng kho lưu trữ SVN chính thức (hoặc ít nhất là SVN nói chung) với IDE hoặc các công cụ dựa trên GUI khác không? Một cái gì đó tập trung vào các khái niệm và quy trình làm việc, thay vì gõ các dòng phức tạp trong bảng điều khiển.


Đây có phải là codex.wordpress.org/ không phải là loại thông tin bạn đang tìm kiếm? Nếu không, bạn có thể giải thích thêm về những gì bạn quan tâm?
Manzabar

@Manzabar Tôi biết cơ bản. Ví dụ, những gì tôi không biết là làm thế nào để cam kết cùng một mã với trung kế, thẻ và kho lưu trữ không liên quan mà không làm cho mọi thứ trở nên lộn xộn.
Rarst

À, có vẻ như bạn cần đọc lên trên svn: externals. Tôi nói "âm thanh như" vì tôi chưa bao giờ gặp may mắn khi thiết lập hoặc tìm ra cách sử dụng svn: externals đúng cách.
Manzabar

Câu hỏi này dường như lạc đề vì nó đang yêu cầu giới thiệu sách / hướng dẫn.
Rarst

Câu trả lời:


7

Tôi sẽ làm cho câu trả lời này trở thành một bài viết trên blog vì nó hơi lạc đề. Trên http://wp.leau.co/2011/02/25/how-to-setup-your-wordpress-php-development-en môi / trong chương 6 Tôi đã đưa ra một số lời giải thích cho SVN trong nhật thực nhưng có lẽ bạn đang tìm kiếm thứ gì khác.

Câu chuyện tôi làm ở đây là về nhận xét của bạn

"Vì vậy, bây giờ tôi ủng hộ nó với các tính năng tích hợp VCS trong IDE (NetBeans, PHPStorm). Điều này thường khiến tôi bối rối về các chi tiết cụ thể và cách thực hiện đúng." và "Một cái gì đó tập trung vào các khái niệm và quy trình công việc, thay vì gõ các dòng phức tạp trong bảng điều khiển."

Tôi đã nghe nói rằng một lần nữa tôi muốn giải thích SVN trong ngữ cảnh rộng hơn, ví dụ như mô tả "ngôn ngữ lập trình" trước rồi giải thích PHP làm cho bạn hiểu PHP tốt hơn và trong trường hợp này là Quản lý cấu hình trước và sau đó là giải pháp SVN trong đó.

Tôi sẽ chỉ gõ một cái gì đó ở đây và nếu nó không có chủ đề hoặc không cần thiết thì tôi sẽ xóa nó:

------------ 8 <----------------

Nếu bạn cài đặt PDP Eclipse, tôi đã viết điều này: [ http://wp.leau.co/2011/02/25/how-to-setup-your-wordpress-php-development-en môi / ]

Nếu bạn cuộn xuống # 6, tôi sẽ giải thích ngắn gọn về cách cài đặt subclipse trong Eclipse (về cơ bản chỉ cần trỏ đến máy chủ chọn tất cả và cài đặt)

Trong Eclipse với bất kỳ công cụ quản lý phiên bản nào, các lệnh để quản lý phiên bản luôn nằm bên phải, nhấp vào "TEAM". Vì bạn có thể chuyển đổi giữa các dự án, bạn có thể có hỗ trợ cho nhiều công cụ quản lý phiên bản và hầu hết các lệnh đều quen thuộc với các công cụ thông qua GUI.

bổ sung

Như BẠN biết: Đối với dự án plugin WordPress mới, bạn có được vị trí svn từ WordPress.org (trong hộp thư của bạn), họ sử dụng Trunk cho mã mới nhất của bạn và "thẻ" sao chép để phát hành ổn định. (Mẫu CM RẤT cơ bản). Đây là những gì bạn nhìn thấy từ cái nhìn đầu tiên.

Vì vậy, dự án của bạn sẽ được liên kết với TRUNK. và bạn chỉ có thể cam kết với điều đó. Đây là nơi bạn làm việc (nhưng không phải nơi bạn phát hành) (trừ khi bạn chỉ định 'thân cây' trong readme.txt làm vị trí cho mã cuối cùng của bạn).

Hơn nữa, bạn có thể bao gồm WordPress / wp-gộp và / wp-admin trong dự án Eclipse của bạn dưới dạng thư viện để bạn có thể tra cứu các hàm và xem các hàm không dùng nữa. Đây không phải là văn bản và do đó không thuộc quản lý phiên bản (!). Đây là từ phía khách hàng, vì vậy không phải là "bên ngoài" mà thực sự liên kết trong dự án quản lý phiên bản.

Ngay khi bạn có phiên bản ổn định, hãy chọn nội dung và nhấp chuột phải vào "nhóm" và "tạo thẻ / chi nhánh", điều này sẽ mở ra vị trí svn của WordPress và bạn có thể chọn thư mục thẻ và nhập số mới và phiên bản mới của bạn đang hoạt động (có thể được sử dụng cho ai đó đọc này). Lưu ý rằng bạn không nên chọn gốc của dự án của mình mà mọi thứ khác nếu không nó sẽ tạo gốc đó dưới thẻ của bạn / 2.3.4, đây không phải là thứ bạn muốn bạn muốn mọi thứ nằm trong thư mục gốc của bạn.

Xem bài đăng cho một số ảnh chụp màn hình.


http://wp.leau.co/files/2011/02/image_thumb17.png

Bản thân người đóng góp WordPress

Nếu bạn là cộng tác viên, bạn có thể sử dụng tương tự như trên nhưng bạn tạo "bản vá" từ những thay đổi bạn đã thực hiện. "Các bản vá" là một khái niệm trong thế giới CM, ví dụ lật đổ cung cấp RTC này hoặc jazz. Với chuột phải nhấp vào "Áp dụng bản vá", bạn có thể áp dụng bản vá nếu bạn có bản vá chưa được áp dụng cho trung kế WordPress.

Một số người cũng cam kết trực tiếp với thân cây.

Bản thân WordPress "Đọc"

Chỉ cần tạo một dự án 'WordPress' có chứa phần thanh toán của phiên bản / LATEST trong trung kế (của mã lật đổ), một lần nữa, thông qua nhóm> thanh toán.

Cá nhân tôi không làm điều này mà chỉ sử dụng xuất mã mới nhất (có hiệu lực) để chỉ nhận một thư mục với phiên bản WordPress mới nhất (vì vậy không thuộc bất kỳ quản lý phiên bản nào)

Nói chung

Vì bạn có một số kinh nghiệm với VCS và với các câu hỏi xung quanh SVN: Về cơ bản, tất cả các công cụ phiên bản là về khái niệm đặt tên. Hoặc tốt hơn nói có không gian tên tốt nhất. Bạn có thể ánh xạ hầu hết các lệnh từ CVS, Git, RTC, ClearCase, SourceSafe, v.v ... đến khái niệm xung quanh không gian tên này. Vì bạn có một số / ít kinh nghiệm với các công cụ khác, rộng hơn một chút:

Những người mới thường nhìn chằm chằm vào chính họ một số lệnh hoặc một chức năng cụ thể nhưng cung cấp tùy chọn tốt nhất để đặt tất cả các yếu tố cần thiết trong một không gian tên là điều cốt lõi.

Vì vậy, về cơ bản đây là chức năng cốt lõi của các công cụ này, thuật ngữ "quản lý phiên bản" là sai. Nó thực sự là một người quản lý không gian tên.

Vì vậy, nếu bạn có

/ dự án A / bộ phận B / Đội C / Thành viên D / Luồng E / Thành phần F / Thành phần G / Chi nhánh H / Chi nhánh I / Phiên bản J

Bạn có thể tạo một tên duy nhất cho mỗi "điều". Trên đây là việc thực hiện một không gian tên bạn cần cho một mục đích nhất định bằng cách sử dụng một trong các công cụ không gian tên.

Hầu như tất cả các khái niệm trong thế giới này có thể được ánh xạ tới đây, vì vậy cách bạn CÓ THỂ hỗ trợ không gian tên / phân loại tùy chỉnh của bạn phụ thuộc vào khả năng của công cụ của bạn. Vì vậy, ... nó thực sự phụ thuộc vào các khái niệm và lựa chọn mà các nhà thiết kế của hàng trăm công cụ khác nhau đã thực hiện.

Trong một công cụ tốt, bạn có thể nhấp và xem phân loại hoàn chỉnh này trong một cây hoặc phóng to một cây đó.

Đó là cốt lõi: một công cụ có thể giúp bạn quản lý sự phức tạp (xem độ phức tạp trong wikipedia: http://en.wikipedia.org/wiki/Complexity ) bằng cách cung cấp cho bạn các công cụ tốt để quản lý phân loại TÙY CHỈNH CỦA BẠN. Người tạo ra phân loại tư duy làm thế nào để thiết lập nó là người quản lý cấu hình mà anh ta viết một kế hoạch gọi là kế hoạch quản lý cấu hình nghĩ ra điều này trước tiên.

Chỉ cần tưởng tượng ai đó yêu cầu bạn tạo một tập hợp các nguyên tắc phân loại tùy chỉnh trong WordPress đại diện cho TẤT CẢ các đối tượng trong công ty của anh ấy, bao gồm khả năng đưa trạng thái ra khỏi trạng thái như tại bất kỳ thời điểm nào. Bạn có thể đưa ra rất nhiều lựa chọn thiết kế và mọi người sẽ sản xuất một thứ khác dựa trên một số lựa chọn. Một số sẽ chứa nhiều tính năng hơn, một số tính năng đơn giản hơn và những tính năng phức tạp hơn đều đưa ra các quyết định khác nhau. Đây là "những công cụ này". Vì vậy, tôi không bao giờ hiểu các cuộc thảo luận ở cấp độ công cụ về quản lý phiên bản vì điều đó hoàn toàn kỳ lạ.

Trong PHP ngày nay, bạn có thể tạo các không gian tên bạn tạo một hệ thống phân cấp với các thư mục, áp dụng các quy ước đặt tên cho các đối tượng và trong các phương thức của chúng. Nếu bạn lấy một tệp mà bạn đã đặt trong một hệ thống phân cấp, hãy tiến thêm một bước. Bạn thêm một / đằng sau nó và đặt một số phiên bản đằng sau nó. Điều đó thậm chí là không đủ vì bạn sẽ muốn nhóm A làm việc trên phiên bản 4 của tệp và nhóm B làm việc trên phiên bản đó. Vì vậy, bạn thêm cái khác / và thêm id nhánh. Đây là cách bạn xây dựng không gian tên. Tùy thuộc vào công cụ mà bạn có thể phát điên như bạn muốn.

Nhưng nó có nghĩa là: nếu ai đó đến với bạn hỏi "tài liệu Z ở đâu" thì bạn không thể đưa ra câu trả lời. Bởi vì trong một hệ thống quản lý phiên bản "tài liệu Z" không tồn tại. Và ngay cả khi anh ta nói đưa cho tôi "tài liệu Z phiên bản 5", bạn không thể giao nó vì anh ta có thể có nghĩa là "tài liệu Z phiên bản 5" của chi nhánh nhóm 1 hoặc "tài liệu Z phiên bản 5" của chi nhánh nhóm 2. Đó là tất cả về cách đặt tên. "Tài liệu Z phiên bản 5" chỉ đơn giản là một cách tiếp cận đặt tên không chính xác trong không gian tên được xác định.

Trong Subversion bạn chỉ có thể làm điều này giới hạn, do đó làm cho nó dễ hiểu. Một số khái niệm phù hợp với điều này:

"phiên bản"

Một phiên bản là một phiên bản của một yếu tố nhất định. Vì vậy, ví dụ wp-config.php phiên bản 5. Trong một công cụ như ClearCase, bạn cũng có thể thấy các phiên bản riêng lẻ của các phần tử và "cam kết" các tệp riêng lẻ (nhưng cũng thực hiện các cam kết nguyên tử hoặc thay đổi tập hợp hoặc bất cứ điều gì).

Trong các phiên bản xử lý Subversion bị hạn chế hơn:

  • một tập hợp các thay đổi bạn thực hiện cục bộ trong một lần bạn " cam kết ", điều đó có nghĩa là toàn bộ "thay đổi" đó được cam kết và toàn bộ cơ sở có được số phiên bản mới. Đây là số phiên bản bạn thấy trong trang web lật đổ WordPress.
  • do đó, bạn không thể thực hiện nhiều thay đổi cục bộ hơn trên 1 tệp và tất cả chúng đều được coi là phiên bản mới duy nhất như trong mẫu. tất cả các thay đổi bạn thực hiện cục bộ đối với 1 tệp đó hoặc bất kỳ thay đổi nào khác được gửi trong một lần và nhận "tên mới duy nhất" đó.
  • nếu bạn không có quyền truy cập vào kho lưu trữ (quyền), bạn có thể thực hiện một tập hợp các thay đổi và lưu những thay đổi đó trong một "bản vá". Sau đó, bạn có thể gửi bản vá đó cho ai đó như người quản lý tích hợp hoặc thậm chí là người quản lý bản dựng áp dụng nó vào kho lưu trữ. Các công cụ như ví dụ RTC cũng hỗ trợ "bản vá". Vì vậy, một người tạo ra một bản vá và một người khác áp dụng bản vá. Bạn nên xem xét điều này thực sự vì từ này có nghĩa là "một bản vá" để không phải là trường hợp sử dụng phát triển mã mặc định.
  • thay vì / nhánh N / hello.doc / phiên bản 25 cũng có các nhãn như / nhánh N / hello.doc / LATEST hoặc / HEAD. Trong một số hệ thống quản lý phiên bản, bạn có thể áp dụng các nhãn phức tạp và sau đó viết các tập lệnh làm việc trên các nhãn này.

làm việc trên một phiên bản

Trong Subversion, trường hợp sử dụng mặc định là bạn chỉ cần tải tất cả nội dung xuống ổ cứng từ kiểm tra kho lưu trữ , làm việc với nội dung và sau đó xác nhận và sau đó đối mặt với tất cả các thay đổi mà người khác đã thực hiện sau khi bạn giải quyết xung đột. Những khái niệm bạn nhìn thấy trong GUI. NẾU bạn muốn ngăn người khác cũng chỉnh sửa ví dụ hello.doc thì bạn LOCK nó có nghĩa là: không ai khác có thể thay đổi nó.

Tôi thực sự không thích ý tưởng đó :( IMHO là một thực tiễn rất tệ. Để so sánh và hiểu: Trong ClearCase, thanh toán ít nhiều có thể so sánh với khóa và một checkin là một cam kết (trong kiểm tra lật đổ là bí danh cho cam kết) . Đây là trường hợp sử dụng mặc định trong ClearCase nơi nó cũng hỗ trợ hijacks mà là giống như một lật đổ thanh toán nhưng sau đó trên các tập tin được lựa chọn IMHO này là nhiều bụi hơn nữa ngay cả khi bạn làm.. thanh toán trong ClearCase nó cung cấp cho bạn 3 lựa chọn: khác mọi người có thể không làm việc với nó (ví dụ với tài liệu từ), những người khác có thể làm việc với nó nếu thực sự cần thiết và "mọi người có thể làm việc với nó" (ví dụ với các tệp mã nguồn) Vì vậy ... đây là ý nghĩa của việc thanh toán, khóa và cam kết ở SVN.

các thành phần và đường cơ sở

Trong các công cụ như RTC và ClearCase, bạn có thể nhóm các thành phần thành các thành phần. Mạnh mẽ vì các thành phần này là một phần của không gian tên và có được các phiên bản của riêng chúng bằng cách đặt cơ sở cho chúng. Vì vậy, ví dụ thành phần "WordPress" được phát hành cơ bản 4.53. Các đường cơ sở này sau đó là các đối tượng trong chính chúng, sau đó cũng có thể nhận được siêu dữ liệu, chẳng hạn như "trong thử nghiệm". Tuy nhiên SVN không có BẤT K this điều này. Vì thế... :

thẻ

Trong SVN (và trên trang web WordPress), bạn thấy các thư mục có số trong một thư mục tổng thể gọi là 'tags'. Một ý tưởng giải pháp. Bạn chỉ cần lấy một kho lưu trữ nhất định và kết xuất nó (dựa trên tệp) vào thẻ thư mục / 3.2.4. Đó là nó. Nó không có liên quan trong không gian tên quản lý phiên bản, v.v ... chỉ là một thư mục đơn giản .... SIGH ..... IMHO không thể thực hiện bất kỳ quản lý cấu hình nào với loại công cụ này. Vì vậy, nó không phải là một đối tượng siêu dữ liệu nơi bạn có thể viết kịch bản và gán các thuộc tính và thực hiện những thứ điên rồ nhất ... nó chỉ là một thư mục ............. Trong RTC để so sánh, bạn có thể tạo một ' ảnh chụp nhanh 'của một đường cơ sở nhất định để hỗ trợ trường hợp sử dụng này. Trong ClearCase UCM, bạn sẽ tạo một nhánh / luồng mới của một đường cơ sở nhất định và sau đó 'xem nó'.

chi nhánh

Điều này không được sử dụng trong môi trường WordPress theo như tôi biết nhưng có lẽ tôi đã sai và có những đội làm việc này để phát hành WordPress để thay đổi cổng cho các phiên bản cũ hơn. Vì vậy, tôi không biết có thể người khác biết.

Điều này được sử dụng cho cây không gian tên. Để có 2 nhóm làm việc trên cùng một mã, bạn có thể nói "bằng tiếng Anh" \ team 1 \ hello.doc và \ team 2 \ hello.doc. Cả hai đội sau đó sẽ làm việc và sau một thời gian, bạn có \ team 1 \ hello.doc \ phiên bản 51 và \ team 2 \ hello.doc \ phiên bản 23. (vì vậy đội 1 đã tạo ra 51 phiên bản và đội 2 tạo ra 23 phiên bản). Bây giờ bạn có khả năng hợp nhất từ ​​nhóm chi nhánh 1 sang nhóm chi nhánh 2 và bạn sẽ được hợp nhất trong nhóm 2 nhưng ở cuối nhóm 2 sẽ có tất cả các thay đổi của nhóm 1 (phiên bản 24) và các chi nhánh riêng lẻ vẫn hiển thị công việc cho từng nhóm của họ.

Trong RTC và ClearCase, điều này không được sử dụng mà là một đối tượng nâng cao hơn được gọi là "luồng" (để so sánh). Từ góc độ thấp, bạn có thể xem xét những điều này giống nhau NHƯNG ....... khi bạn ở ngoài đời, các chi nhánh của bạn sẽ chứa RẤT NHIỀU thứ. Vì vậy, trong thế giới thực, bạn sẽ phải ghi chú, phát hành ghi chú, tài liệu, v.v ... Để tăng cường luồng này không chỉ chứa "mã" mà còn cả "thay đổi" để bạn biết rằng RFC23 là về phiên bản 34,32 và 56 và bạn có thể giải phóng chúng một cách riêng biệt.

IMHO nếu bạn muốn thiết lập mọi thứ ngay thì bạn cung cấp cho MỌI người một hoặc nhiều luồng / nhánh cá nhân. Vì vậy, họ có thể đăng ký / cam kết và thanh toán từ đó và điều đó làm phiền mọi người. chỉ khi ai đó sẵn sàng, họ mới "phân phối" nội dung của mình để ví dụ luồng nhóm và luồng nhóm phân phối đến luồng tích hợp, v.v ... Trong WP có thể các bản phát hành là các nhánh nhưng đối với người thường: tất cả đều hoạt động trong cùng một nhánh. Một bất lợi vì "các dự án thử nghiệm" sau đó nằm trong c: \ temp và không thuộc quản lý phiên bản và bạn không thể có một nhóm người tạm thời làm việc trên tính năng X sẽ chỉ cần trong 5 lần phát hành.

thế giới lý tưởng và sự đánh đổi

nếu bạn có \ team1 \ hello.doc và ai đó sao chép trong \ team2 \ CSONG hello.doc thì đây là BAaaaaad. Kể từ bây giờ, chúng tôi có 2 yếu tố với các ID khác nhau, nơi người dùng nghĩ rằng chúng giống nhau nhưng hệ thống coi chúng là không giống nhau. Điều này được gọi là "cặp song sinh xấu xa" và bạn không bao giờ nên làm điều này trong môi trường như vậy. Luôn hợp nhất hoặc cơ sở của các chi nhánh. Nếu bạn hiểu cặp song sinh xấu xa, bạn hiểu các nhánh (tại sao điều này là xấu: bởi vì khi hợp nhất, chúng sẽ được coi là 2 thực thể khác nhau trong khi bạn muốn chúng được đối xử như nhau) (hoặc loại hành vi khác nhau trong các hệ thống khác nhau). Nếu một người dùng mới bắt vít mọi thứ, đây chủ yếu là nó. 'Tôi vừa xóa hello.doc và sao chép lại trong' argh

THAY ĐỔI

SVN không cung cấp hỗ trợ cho NHƯNG này, có những công cụ bạn có thể tích hợp với nó để hỗ trợ một số loại quản lý thay đổi tích hợp / ALM. Trong các công cụ như biến thể ClearCase-UCM hoặc RTC, bạn không thể thay đổi 1 chữ cái mà không có lỗi, RFC, vé, v.v ... Trong SVN khi bạn cam kếtbạn có thể gõ một mô tả cho cam kết nguyên tử của bạn. Ý nghĩa: bạn nên cố gắng để bạn thay đổi trong các phần "có thể vá" theo cách khác: thực hiện một cam kết nguyên tử cho mỗi khiếm khuyết / thay đổi để có phần nào hành vi đó. . để trộn nó cùng với không có công cụ thực sự để cung cấp cho anh ta bất kỳ cái nhìn sâu sắc về những gì nó thực sự là).

Vì SVN không hỗ trợ quản lý thay đổi, WordPress đã thiết lập để sử dụng TRAC: http://core.trac.wordpress.org/ như bạn biết vì bạn sống ở đó :)

Tôi cảm thấy TRAC ở đó vì một công cụ thực sự như ClearCase hoặc RTC có các thay đổi được tích hợp dưới dạng đối tượng (vâng, công cụ bạn lập trình chống lại) bị thiếu. Vì vậy, bạn có một công cụ nơi bạn thảo luận và gửi một "loại" thay đổi được đặt thành (trong khi khái niệm đó cũng bị thiếu). Vì vậy, đây là những "bản vá" chỉ là một loạt các tệp mà không có bất kỳ siêu dữ liệu nào mà bạn mong đợi trong một hệ thống tốt (vì vậy bây giờ tôi đang ở trạng thái Grumpy). Số lượng TRAC rất quan trọng vì đó là ID tổng thể trong cây đặt tên được liên kết với một số thay đổi.

Cung cấp thay đổi

Đây là một cái gì đó để viết trong một bài viết blog riêng biệt. Nói tóm lại: trong thế giới lý tưởng, bạn sẽ muốn chọn các thay đổi bạn muốn 'phân phối' (hoặc một khái niệm khác) và sau đó đừng lo lắng về các tệp, thư mục (phiên bản của). Bạn chỉ cần "cung cấp RFC 3 và 5". Đây là cách ClearCase UCM hoặc RTC hoạt động. Trong SVN / cơ sở xóa sổ, bạn 'cam kết' một loạt các tệp mà chúng tôi hy vọng rằng bạn đã đưa ra quyết định đúng đắn. Đó là một sự khác biệt lớn và quan trọng. (đây là lý do tại sao SVN chủ yếu được sử dụng cùng với tích hợp với ví dụ jira / Clearquest / etc ... để đạt được hành vi này). Vá .... không phân phối nó nhiều hơn từ luồng này sang luồng khác dưới dạng 'bản vá' uhm.

Bên ngoài

Trong các công cụ khác, điều này khác với SVN, nó đơn giản hơn: nếu bạn có mã từ một phần không phải của riêng bạn thì bạn có thể coi nó là phiên bản bên ngoài được quản lý và ... quay lại khái niệm cốt lõi: ý bạn là một phần không thuộc về trách nhiệm không gian của bạn vì đó là tất cả về việc đặt tên. NHƯNG mặc dù nó là bên ngoài, nó thuộc trách nhiệm của bạn.

Trong GUI không có luồng công việc trong "chuột phải" thông thường nhưng nó được xác định trong cấu trúc dự án. Vì vậy, nó là một phần của định nghĩa của bạn.

Khái niệm này, nếu được sử dụng, được định nghĩa trong IEEE CMP theo yêu cầu để xác định (Xem bên dưới)

Tích hợp và sáp nhập

Như đã nói. Nghịch lý đằng sau SVN là lấy đồ đạc tại địa phương, thực hiện công việc của bạn và sau đó cam kết và sau đó có s ***. Trong GUI bạn nhận được mặc dù chính xác công cụ giống như hầu hết những người khác. Ở đây bạn nên thực sự hiểu về hợp nhất ba chiều, hợp nhất hai chiều và sự khác biệt giữa các xung đột có thể được giải quyết tự động và các xung đột không thể tự động giải quyết. Lớp cuối cùng này sau đó rơi vào 2 lớp: những lớp mà công cụ có thể đề xuất cho bạn kết quả cuối cùng tốt sẽ là gì và những lớp không biết kết thúc sẽ như thế nào. Bạn đã hỏi về GUI nhưng trên dòng lệnh bạn sẽ nhận được các tệp thông tin về những gì bạn nên sửa / hợp nhất trước khi cam kết.

Nhiều hơn cho một bài viết blog. (ví dụ: Phát triển nguồn mở so với Phát triển doanh nghiệp và xây dựng các bộ trưởng và người quản lý tích hợp vì bạn thực sự phải đưa ra các lựa chọn khác nhau ở đây).

Cuối cùng nhưng không kém phần quan trọng là CMP

Những gì bạn yêu cầu là một Kế hoạch quản lý cấu hình cho WordPress. Đây là một tài liệu của IEEE. Ý nghĩa: bất cứ điều gì trong hàng triệu kế hoạch quản lý cấu hình mà bạn tìm thấy trên Google, tất cả chúng đều hợp lệ đối với quy định của IEEE (một số phiên bản) của CMP.

Giống như (ví dụ HTTP) RFC có IEEE CMP.

Kế hoạch này chứa các phần được xác định như "cách xử lý bên ngoài" và "không gian tên trông như thế nào, cách chúng tôi truy xuất các mục và cách chúng tôi tái tạo các mục", vai trò, trách nhiệm, v.v.

Từ CMP này, sau đó bạn có thể tạo hướng dẫn công việc. Bất cứ ai muốn biết các quy tắc là gì sau đó có thể đọc CMP.

Trong ngữ cảnh nguồn mở, thường không có vai trò 'trình quản lý cấu hình'. Vì vậy, bạn cũng bỏ lỡ Kế hoạch quản lý cấu hình.

Khác với RFC công khai (ví dụ: URI hoặc HTTP) Bạn phải trả tiền cho tài liệu chuẩn của IEEE nhưng ... nếu bạn Google, bạn sẽ tìm thấy nó ở đây và ở đó.

Đường giao hàng

Trong một đường giao hàng, bạn sẽ có một nhóm suy nghĩ về những ý tưởng kinh doanh mới. Bạn có một bộ phận bảo trì nhận được một lỗi sản xuất trong hệ thống của họ. Bạn sẽ có nhiều nhóm làm việc trên cùng một mã. và trong mỗi trạm, bạn sẽ có một nhóm yêu cầu xác định các yêu cầu. Một nhóm kiến ​​trúc được chia thành một nhóm chức năng và một nhóm hoạt động (các trường hợp sử dụng đi đến nhóm chức năng và các chức năng không phải cho nhóm vận hành). Bạn thường có các bản phát hành khác nhau song song sống trong môi trường thử nghiệm đơn vị, môi trường chấp nhận, môi trường tải và phân tầng, môi trường thử nghiệm chức năng, môi trường thử nghiệm tiền sản xuất và môi trường sản xuất.

Trong tất cả chúng là các phiên bản được truy tìm lẫn nhau.

một phiên bản trên môi trường thử nghiệm cụ thể được liên kết với một nhóm phiên bản được liên kết với RFC cụ thể và phiên bản này được liên kết với một phiên bản cụ thể của yêu cầu. Yêu cầu sau đó được liên kết với một phiên bản cụ thể của một testset. TẤT CẢ thuộc quản lý phiên bản.

Trong WP với SVN / TRAC tôi chưa tìm thấy cơ sở dữ liệu yêu cầu và cơ sở dữ liệu phiên bản của các yêu cầu. (để bạn có thể phân tích tác động và xem mã nào thay đổi nếu bạn thay đổi 1 yêu cầu) (và trong bản phát hành mới, bạn có thể in ra những yêu cầu nào đã thay đổi). Tôi đã thấy các mục riêng lẻ trong TRAC nơi các liên kết được tạo cho các mục riêng lẻ khác trong TRAC trong các nhận xét. Tôi cũng chưa thấy truy xuất nguồn gốc giữa các mục TRAC và mã khác ngoài nhận xét. Vì vậy, điều đó có nghĩa là mọi người đang làm rất nhiều thứ trong đầu và nó phụ thuộc rất nhiều vào một cộng đồng tích cực hoặc các nhà phát triển cốt lõi vì họ có nhiều thứ này trong não.

Nhưng điều này sẽ đi xa khỏi chủ đề nụ cười

OSLC cho ALM

Chỉ một lưu ý nữa cho câu chuyện này: sẽ không hay nếu có một gói tiêu chuẩn cho tất cả các công cụ quản lý vòng đời ứng dụng (ALM) này? Ai đó đã nghĩ về điều đó và hiện có các tiêu chuẩn để tất cả các khái niệm được đưa lên mức độ trừu tượng cao hơn và sau đó được thực hiện trong các công cụ. Google: OSLC cho ALM. (để tất cả các công cụ có thể nói chuyện với nhau và cho người dùng: rằng bạn hiểu tất cả chúng bằng cách hiểu lớp trừu tượng).

ĐIỀM TĨNH

Thậm chí còn một bước nữa nếu bạn có thời gian: thế giới hiện đang hướng đến C / ALM, một thế hệ sản phẩm tiếp theo trong đó các quy trình và công cụ là một thứ tích hợp để bạn không phải tự hỏi quá trình đó là gì nữa. Sản phẩm đầu tiên trong thế hệ này là RTC. Vì vậy, nếu bạn hiểu rõ về SVN hoặc hiểu ClearCase hoặc Jira hoặc Trac hoặc ANT hoặc Agile hoặc RUP hoặc iRUP hoặc bất kỳ quy trình, quản lý phiên bản, quản lý thay đổi, quản lý xây dựng, bạn sẽ cần tất cả những điều đó để hiểu RTC trong một điều bởi vì tất cả chúng liên kết với nhau và chính điều này đang giao thoa thông qua OSLC để bất kỳ công cụ cũ nào trong số này có thể "cắm vào".

Nhưng bây giờ tôi thực sự lạc đề.


Tôi đang hướng đến Artamène :)
edelwater 22/03/2016

Đó là một câu trả lời sâu rộng! :) Đã xóa một số thứ cho tôi (như bỏ bản sao vào thẻ mà không cam kết), nhưng các tham chiếu ClearCase và như vậy làm cho nó thậm chí còn khó hiểu hơn về tổng thể. :)
Rarst

Tốt, sau đó tôi sẽ rời khỏi nó. Bằng cách nào đó mọi người luôn thấy CM khó hiểu. Đó là lý do tại sao các nhà quản lý CM luôn gắt gỏng (liên quan đến lý do tại sao các DBA luôn tức giận). GRIN. Đây cũng là một diễn đàn tốt nếu bạn quan tâm: cmcrossroads.com/forums
edelwater 22/03/2016

2

Hiện tại tôi không sử dụng (được khuyến nghị rộng rãi) TortoiseSVN, nhưng hóa ra nó có hướng dẫn sử dụng rất rộng rãi, có sẵn trực tuyến và để tải xuống bằng nhiều ngôn ngữ .

Nói cách riêng của nó:

Cuốn sách này được viết cho dân gian biết chữ máy tính, những người muốn sử dụng Subversion để quản lý dữ liệu của họ, nhưng không thoải mái khi sử dụng máy khách dòng lệnh để làm như vậy. ( Lời nói đầu )

Tài liệu này mô tả việc sử dụng hàng ngày của ứng dụng khách TortoiseSVN. Đây không phải là giới thiệu về các hệ thống kiểm soát phiên bản và không phải là giới thiệu về Subversion (SVN). Nó giống như một nơi bạn có thể hướng đến khi bạn biết khoảng những gì bạn muốn làm, nhưng đừng nhớ làm thế nào để làm điều đó. ( Chương 4. Hướng dẫn sử dụng hàng ngày )

Gần như những gì tôi đang tìm kiếm, đọc nó bây giờ.


1

Nếu bạn đang sử dụng Windows, bạn có thể dùng thử TortoiseSVN (http://tortoisesvn.tigris.org/). Nó không tích hợp với IDE nhưng nó tích hợp với Windows Explorer để bạn có thể nhấp chuột phải vào quá đăng ký / kiểm tra mã của mình.


Đúng, tôi đã cài đặt và chơi với cái này ngày hôm nay. Tuy nhiên tôi không quan tâm đến các công cụ (mà tôi đã có) như cách sử dụng chúng trong bối cảnh hệ thống kho lưu trữ WP của các thân cây / thẻ / nhánh và như vậy, cũng như tung hứng nó với các repos khác cùng một lúc.
Rarst

0

GUI tốt nhất tôi từng thấy là http://blog.ftwr.co.uk/archives/2005/11/03/windows-wordpress-toolbox/

Có một hướng dẫn trực quan tuyệt vời ở đây dựa trên http://hginit.com/

Rất nhiều điều này phụ thuộc vào việc IDE của bạn có tích hợp svn và git tốt như thế nào để giúp mọi việc trở nên dễ dàng hơn, ví dụ, Eclipse có rất nhiều công cụ nhưng một cái gì đó như ultraedit (mà tôi thường sử dụng) có một phiên bản và hệ thống kiểm soát phiên bản lạ.

Chủ đề bị hội chứng nhàm chán, ít nhất là đối với tôi thật khó để tìm hiểu các chi tiết do điều này, tôi thấy việc xem video youtube về chủ đề này thực sự giúp ích cho việc học x100.

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.