Kệ trong TFS là gì?


317

Có phải giá đỡ trong TFS chỉ là một bản đăng ký mềm để các thành viên khác trong nhóm có thể xem mã nguồn?

tức là mã kệ sẽ không được biên dịch đúng không?

Câu trả lời:


453

Kệ có nhiều công dụng. Những cái chính là:

  1. Chuyển đổi bối cảnh : Lưu công việc vào nhiệm vụ hiện tại của bạn để bạn có thể chuyển sang một nhiệm vụ ưu tiên cao khác. Giả sử bạn đang làm việc trên một tính năng mới, quan tâm đến việc kinh doanh của riêng bạn, khi sếp của bạn chạy vào và nói "Ahhh! Bug Bug Bug!" và bạn phải bỏ các thay đổi hiện tại của mình vào tính năng và đi sửa lỗi. Bạn có thể tạm gác công việc của mình trên tính năng, sửa lỗi, sau đó quay lại và hủy kết nối để thay đổi sau này.
  2. Chia sẻ thay đổi : Nếu bạn muốn chia sẻ một bộ thay đổi mã mà không cần kiểm tra nó, bạn có thể giúp người khác dễ dàng truy cập bằng cách đặt nó. Điều này có thể được sử dụng khi bạn chuyển một nhiệm vụ chưa hoàn thành cho người khác (tâm hồn tội nghiệp) hoặc nếu bạn có một loại mã kiểm tra nào đó, bạn sẽ không bao giờ kiểm tra xem ai đó cần phải chạy. h / t cho các phản hồi khác về việc sử dụng này để đánh giá, đó là một ý tưởng rất tốt.
  3. Lưu tiến trình của bạn : Trong khi bạn đang làm việc trên một tính năng phức tạp, bạn có thể thấy mình ở 'điểm tốt' nơi bạn muốn lưu tiến trình của mình. Đây là thời điểm lý tưởng để gác mã của bạn. Giả sử bạn đang hack một số CSS / HTML để sửa lỗi kết xuất. Thông thường bạn đập vào nó, lặp đi lặp lại mọi loại bùn có thể bạn có thể nghĩ ra cho đến khi nó trông ổn. Tuy nhiên, một khi nó có vẻ đúng, bạn có thể muốn thử và quay lại để dọn dẹp đánh dấu của mình để người khác có thể hiểu những gì bạn đã làm trước khi bạn kiểm tra nó. Trong trường hợp này, bạn có thể tạm dừng mã khi mọi thứ hiển thị đúng , sau đó bạn có thể tự do đi lại và đánh dấu lại đánh dấu của mình, biết rằng nếu bạn vô tình phá vỡ nó một lần nữa, bạn luôn có thể quay lại và lấy bộ thay đổi của mình.

Bất kỳ công dụng khác?


16
Khi đặt một bộ thay đổi, người ta có thể bảo toàn các thay đổi đang chờ xử lý cục bộ (hữu ích cho 2 hoặc 3) hoặc không (hữu ích cho 1)
dumbledad

2
Các Studio tài liệu hướng dẫn trực quan trên kệ có một số bối cảnh bổ sung và làm thế nào để thông tin.
Nhà phát triển toàn diện

1
Nó cũng được sử dụng bởi bản dựng Gated để lưu trữ các thay đổi cho đến khi cam kết cuối cùng có thể được thực hiện.
Xé stergaard

Một điều tôi nhận thấy là Thay đổi giá không nhất thiết phải hoàn nguyên mã, cũng không thay đổi trạng thái của các tệp để kiểm tra. Vì vậy, trong khi bạn đang làm việc với những thay đổi này, ví dụ như làm thế nào để tránh phạm lỗi thay đổi mã cùng với mã kệ của bạn?
Jacques

Chỉ nhận ra các tệp vẫn được kiểm tra khi bạn chọn tùy chọn để bảo vệ bộ thay đổi cục bộ.
Jacques

105

Kệ là một cách lưu tất cả các thay đổi trên hộp của bạn mà không cần đăng nhập. Các thay đổi vẫn được duy trì trên máy chủ. Bất cứ lúc nào bạn hoặc bất kỳ đồng đội nào của bạn cũng có thể "hủy kết nối" chúng lại với bất kỳ máy nào của bạn.

Nó cũng tuyệt vời cho mục đích xem xét. Trong nhóm của tôi để kiểm tra, chúng tôi tạm gác các thay đổi của chúng tôi và gửi email với mô tả thay đổi và tên của bộ thay đổi. Mọi người trong nhóm sau đó có thể xem các thay đổi và đưa ra phản hồi.

FYI: Cách tốt nhất để xem lại một kệ là bằng lệnh sau

xem xét tfpt / shelfet: shelfetName; userName

tfpt là một phần của Team Foundation Power Tools


6
cần lưu ý rằng ngày nay sẽ không có lý do gì để tự thay đổi các thay đổi và thông tin email. Quy trình hiện đại là yêu cầu xem lại mã.
ChiefTwoP Pencil

34

Đúng rồi. Nếu bạn tạo một giá, những người khác làm mới nhất sẽ không thấy mã của bạn.

Nó đặt các thay đổi mã của bạn lên máy chủ, có thể được sao lưu tốt hơn so với PC làm việc của bạn.

Nó cho phép bạn nhận các thay đổi của mình trên một máy khác, nếu bạn cảm thấy thôi thúc làm việc ở nhà.

Những người khác có thể thấy kệ của bạn (mặc dù tôi nghĩ rằng điều này có thể là tùy chọn) để họ có thể xem lại mã của bạn trước khi đăng ký.


Đúng rồi. Nếu bạn tạo một giá, những người khác làm mới nhất sẽ không thấy mã của bạn. Nó có nghĩa là 1) khi tôi sẽ kiểm tra mã trong TFS thì thành viên trong nhóm của tôi sẽ thấy mã trong hệ thống của anh ta nếu anh ta nhận được mới nhất? 2) Vậy có nghĩa là tài khoản nào chúng ta đã tạm giữ mã, từ cùng một tài khoản, chúng ta sẽ thấy mã bị tạm giữ? xin vui lòng sửa chữa cho tôi nếu tôi sai
Krish

Bạn có thể thấy kệ của người khác nếu bạn muốn.
teedyay

3
Nói chính xác hơn, "những người khác làm mới nhất sẽ không tải xuống mã của bạn"
sergiol

18

Một điểm bị bỏ lỡ trong rất nhiều cuộc thảo luận này là cách bạn quay trở lại máy CÙNG mà bạn tạm gác những thay đổi của mình. Có lẽ rõ ràng với hầu hết, nhưng không phải với tôi. Tôi tin rằng bạn thực hiện Hoàn tác thay đổi đang chờ xử lý - có đúng không?

Tôi hiểu quy trình như sau:

  1. Để tạm dừng các thay đổi đang chờ xử lý của bạn, nhấp chuột phải vào dự án, Kệ, thêm tên kệ
  2. Điều này sẽ lưu (hoặc Kệ) các thay đổi cho máy chủ (không ai sẽ thấy chúng)
  3. Sau đó, bạn thực hiện Hoàn tác các thay đổi đang chờ xử lý để hoàn nguyên mã của bạn về điểm đăng ký cuối cùng
  4. Sau đó, bạn có thể làm những gì bạn cần làm với đường cơ sở mã được hoàn nguyên
  5. Bạn có thể Hủy bỏ các thay đổi bất cứ lúc nào (có thể yêu cầu một số xung đột hợp nhất)

Vì vậy, nếu bạn muốn bắt đầu một số công việc mà bạn có thể cần phải Gác lại, hãy đảm bảo bạn đăng ký trước khi bắt đầu, vì điểm đăng ký là nơi bạn sẽ quay lại khi thực hiện bước Thay đổi đang chờ xử lý ở trên.


8
Bạn có thể bỏ qua bước hoàn tác đang chờ xử lý nếu bạn xóa hộp kiểm "Giữ nguyên các thay đổi đang chờ xử lý cục bộ" khi tạo bộ giá.
Michael J.

14

Tôi bắt gặp điều này mọi lúc, vì vậy thông tin bổ sung liên quan đến các chi nhánh:

Nếu bạn đang làm việc với nhiều chi nhánh, các giá được gắn với chi nhánh cụ thể mà bạn đã tạo chúng. Vì vậy, nếu bạn để một thay đổi rỉ sét trên kệ quá lâu và phải chuyển sang một nhánh khác, thì bạn phải làm điều đó với việc phát hành các công cụ điện vào tháng 7.

tfpt unshelve /migrate

Không có chủ đề, nhưng sự thật :-)
Xé stergaard

2
Nhận xét này quá cũ nên đã được thêm vào trước khi câu trả lời tràn ngăn xếp
ettiquete

2

Giá đỡ giống như các thay đổi của bạn đã được lưu trữ trong kiểm soát nguồn mà không ảnh hưởng đến các thay đổi hiện có. Có nghĩa là nếu bạn kiểm tra một tệp trong kiểm soát nguồn, nó sẽ sửa đổi tệp hiện có nhưng việc lưu trữ giống như lưu trữ các thay đổi của bạn trong kiểm soát nguồn nhưng không sửa đổi các thay đổi thực tế.


1

@JaredPar: Có, bạn có thể sử dụng Kệ để đánh giá nhưng hãy nhớ rằng giá có thể bị ghi đè bởi chính bạn / người khác và do đó không ổn định lâu dài. Do đó, đối với các đánh giá có liên quan theo quy định, bạn không bao giờ nên sử dụng Shelveset làm cơ sở mà thay vào đó là đăng ký (Changeet). Đối với đánh giá không chính thức thì không sao nhưng không phải là đánh giá chính thức (ví dụ FTA có liên quan)!


0

Nếu bạn đang sử dụng các bản dựng Gated, khi một bản dựng được kích hoạt, nó sẽ tạo ra một kệ của không gian làm việc của bạn được gửi để xây dựng. Nếu việc xây dựng thất bại, kệ bị từ chối. Nếu quá trình xây dựng thành công, một bộ thay đổi sẽ được tạo và cam kết với TFS. Trong cả hai trường hợp, người thực hiện đăng ký / xây dựng đó sẽ phải điều hòa không gian làm việc, điều này đơn giản như thực hiện Nhận mới nhất.

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.