Chào mừng trở lại.
Hãy tiếp tục từ video trước của chúng tôi để nói về quy trình làm việc nâng cao hơn và nhận được và GitHub.
Bây giờ, cho đến thời điểm này, cả tôi và Marcy đều đang làm việc ở đây, chủ chi nhánh.
Điều đó nghĩa là gì?
À, nó nói là nhánh, nhưng tôi chỉ thấy chủ nhân ở đây.
Và bạn có thể nhận thấy một vấn đề với cách chúng tôi đang làm mọi việc.
Đó là, nếu đó là ngày đầu tiên tôi đi làm và tôi vừa đổi chức danh.
Nhưng có lẽ chúng tôi thậm chí không muốn sự thay đổi đó.
Có thể điều đó phá vỡ thương hiệu của chúng tôi hoặc phá vỡ ứng dụng của chúng tôi.
Nhưng tôi đã có thể làm điều đó rất dễ dàng để thay đổi nó thành Sư phụ.
Có lẽ Marcy thậm chí còn không biết điều đó.
Tôi đã thêm thay đổi đó.
Và đó là một vấn đề lớn, phải không?
Bạn không muốn đưa những thứ mà chúng tôi gọi là sản xuất, vào những gì người dùng nhìn thấy.
Nếu nó sẽ phá vỡ trang web của chúng tôi, nếu bạn là một công ty lớn như Facebook, điều đó có thể có
nghĩa là doanh thu bị mất hàng triệu đô la, ngay cả khi bạn gặp lỗi kéo dài vài giờ.
Vì vậy, tôi sẽ cho bạn thấy một quy trình làm việc thực tế hơn mà bạn sẽ có, và đó là với tính năng phân nhánh.
Hãy để tôi chỉ cho bạn những gì tôi muốn nói.
Ở đây tôi có một hình dung về những gì Jed thực sự, thực sự giỏi.
Cho đến bây giờ, chúng tôi vẫn đang nghiên cứu về cái mà chúng tôi gọi là bậc thầy.
Đó là nhánh chủ.
Hãy coi chi nhánh chính là cơ quan có thẩm quyền.
Đây là cách phù hợp mà ứng dụng của chúng tôi hoặc trang web của chúng tôi nên nhìn.
Và cho đến bây giờ, khi tôi thêm tiêu đề nền thú vị, tôi đã chuyển từ bộ tạo
nền sang bộ tạo mát.
Và sau đó khi Marcy thay đổi nó thành các chữ cái viết hoa, sau đó chúng tôi đi đến đây và chúng tôi chỉ đi theo
kiểu tuyến tính từ đầu này sang đầu kia sang đầu kia.
Nhưng như tôi đã nói, đó là một chút vấn đề.
Vì vậy, một điều tốt hơn nên làm là những gì chúng tôi gọi là phân nhánh.
Nếu tôi muốn thay đổi tiêu đề, tôi sẽ tạo một nhánh và chỉ gọi nó là một tính năng nhỏ, chẳng hạn.
Và tôi chỉ làm việc trên nhánh đó một mình mà không ảnh hưởng đến nhánh chủ.
Những gì người dùng nhìn thấy.
Và.
Chỉ khi nó hoàn thành, khi Marcy đã xem xét nó, khi chúng tôi đã kiểm tra nó và mọi
người trong đội đều ổn, thì chúng tôi mới đưa nó trở lại Master.
Và bạn có thể thấy ở đây với tính năng lớn, bạn có thể tiếp tục trong một thời gian dài trên chi nhánh của riêng
mình và chỉ khi bạn hoàn thành.
Làm những gì chúng tôi gọi là hợp nhất thành chủ.
Hôm nay tôi sẽ chỉ cho bạn cách hoạt động của nó.
Tôi sắp kết thúc điều này và ghi nhớ ví dụ của chúng tôi.
Chúng tôi có máy tính của Marcy ở đây với tất cả các tệp và chúng tôi có máy tính của tôi ở đây với tất cả các tệp.
Cả hai chúng tôi đều đã thiết lập máy trạm của mình.
Và bây giờ bạn thấy cái chủ trong thiết bị đầu cuối của tôi có ý nghĩa gì khi tôi sẽ chỉ cho bạn trong phần ghi chú sau cách bạn có
thể thiết lập điều này để nó cho bạn biết bạn đang ở nhánh nào.
Nhưng chúng ta có thể thấy rằng cả hai chúng ta đều ở trên Sư phụ.
Đó là máy tính của tôi.
Và máy tính của Marcy cũng ở trên Master.
Chúng tôi muốn đảm bảo rằng cả hai chúng tôi đều cập nhật GitHub mới nhất.
Vì vậy, Marcy sẽ kéo và tôi cũng sẽ kéo.
Và giả sử rằng bây giờ tôi đang làm việc trên một tính năng mới, và bởi vì đó là một quy trình làm việc tốt hơn không phải làm
việc trên bản chính và đây là một mẹo hay thường không hoạt động trên bản chính luôn rẽ nhánh.
Nếu tôi có được Chi nhánh, họ sẽ cho tôi thấy điều đó.
À, tôi chỉ có một nhánh và đó là chủ.
Nhưng chúng ta có thể thêm vào nó.
Chúng tôi có thể nói chi nhánh có được tính năng mới hoặc ít tính năng.
Và bây giờ nếu tôi nhận được chi nhánh.
Tôi thấy rằng tôi có ít tính năng, nhưng master được đánh dấu bởi vì tôi hiện đang là master.
Vì vậy, theo cách tôi sẽ đi đến nhánh tính năng nhỏ, tôi sẽ nói Nhận thanh toán.
Tính năng nhỏ.
Và ở đó bạn chuyển sang chi nhánh tính năng nhỏ và bây giờ tôi đang ở chi nhánh tính năng nhỏ.
Vì vậy, những gì tôi đã làm là tôi đã phân nhánh Master và bây giờ tạo ra một tính năng nhỏ.
Hãy tạo ra một chút thay đổi.
Tôi sẽ nói trong một tính năng nhỏ, chúng ta sẽ thay đổi tiêu đề nền CSS hiện tại
để nói rằng đây là nền.
Tôi sẽ an toàn ở đây.
Và một lần nữa, tôi thực hiện quy trình công việc đơn giản của mình mà chúng tôi đã làm trong video cuối cùng về trạng thái.
Tôi thấy điều đó.
Vâng, chúng tôi có chỉ mục. thay đổi html.
Nó sẽ rõ ràng để chúng ta có thể thấy.
Vì vậy, bây giờ chúng tôi đã thực hiện thay đổi này, hãy bắt đầu thêm.
Và một lần nữa, chỉ cần nhận trạng thái để đảm bảo mọi thứ đã diễn ra.
Ừ.
Chúng tôi đã sẵn sàng để cam kết chỉ mục. html nên chúng ta sẽ nhận được thông báo cam kết cam kết sẽ thay đổi văn bản.
Hoàn hảo.
Hãy xóa nó đi.
Và bây giờ, một lần nữa, để cho GitHub biết về những thay đổi chúng ta cần thực hiện, hãy đẩy mạnh.
Vì vậy, chúng tôi sẽ thực hiện thúc đẩy.
Được rồi.
Hãy vào GitHub và xem điều gì đã xảy ra.
Chúng tôi thấy rằng bây giờ chúng tôi có thanh màu vàng này vừa xuất hiện và cho biết, gần đây bạn đã đẩy các nhánh.
Vì vậy, nếu tôi nhấp vào nút màn hình ở đây, so sánh, kéo, yêu cầu.
Nó cho tôi biết tôi có những thay đổi gì, đó là tôi đã thay đổi tiêu đề và ở đây tôi có
thể cho Marcy biết rằng, Marcy, tôi đã thay đổi văn bản.
Bạn nghĩ sao?
Và tôi nhấp vào Tạo yêu cầu kéo.
Và bây giờ tôi có PR của mình và bạn thấy ở đây nó nói các yêu cầu kéo hợp nhất như thế nào.
Nếu chúng ta quay lại sơ đồ của mình, tôi đã tạo ra tính năng nhỏ này và bây giờ tôi đang nói,
Này Marcy, tôi vừa thực hiện thay đổi mới này.
Bạn nghĩ sao?
Tôi có thể hợp nhất nó vào Master được không?
Và điều gì sẽ xảy ra ở đây rất có thể là Marcy sẽ đến gặp yêu cầu kéo này.
Bạn có thể thấy rằng chúng tôi đang ở trên các tab yêu cầu kéo.
Vì vậy, cô ấy sẽ có thể nhìn thấy chúng và thấy, Ồ, Andre vừa thực hiện sự thay đổi này.
Cô ấy sẽ xem xét các thay đổi.
Và cô ấy sẽ nói, Hmm, tốt, nếu cô ấy thích điều này, cô ấy có thể thích, Trông ổn.
Cô ấy có thể nhấp vào để bắt đầu đánh giá.
Và bạn biết những gì?
Cô ấy thích điều này hoặc cô ấy sẽ chấp thuận.
Bây giờ, Marci hoặc chính tôi.
Thông thường, bạn không muốn hợp nhất các yêu cầu nhóm của riêng mình.
Ai đó trong nhóm làm điều đó.
Bây giờ chỉ có thể nói hợp nhất.
Sự lôi kéo.
Yêu cầu, xác nhận.
Hợp nhất.
Và ở đó bạn đi.
Một số đội muốn xóa nhánh sau đó, vì vậy bạn chỉ cần nhấp vào xóa tại đây.
Nếu tôi quay lại mã.
À, tôi không có nhánh nữa vì tôi vừa xóa nó.
Nhưng trong chủ của tôi nếu tôi đi đến chỉ mục. html Tôi thấy đây là nền.
Vì vậy, bây giờ Marci có thể đi đến dự án của cô ấy và nói, Hãy kéo.
Và một lần nữa.
Cô ấy có bản cập nhật mới nhất.
Bây giờ chúng ta hãy nói về một số xung đột có thể phát sinh.
Bây giờ, giả sử Marcy muốn thay đổi điều gì đó, và tôi cũng thay đổi điều tương tự và chúng tôi xảy ra xung
đột hợp nhất.
Hãy xem điều gì sẽ xảy ra.
Vì vậy, giả sử Marcy muốn thay đổi, tạo một tính năng mới và chúng tôi sẽ gọi đây là một tính năng lớn.
Và cô ấy sẽ nói hãy trả phòng hoặc đến chi nhánh.
Tính năng lớn.
Cô ấy sẽ nói, hãy kiểm tra lớn.
Tính năng.
Và nếu tôi có được chi nhánh, chúng tôi thấy rằng có một chi nhánh mới ở đây.
Hãy xóa nó đi.
Và cô ấy sẽ nói ở đây rằng cô ấy muốn thay đổi điều này trở lại màu nền hoặc trình tạo nền, bởi vì tất cả
người dùng đang phàn nàn rằng tiêu đề đã thay đổi và họ thích tiêu đề cũ.
Vì vậy, cô ấy đã thay đổi điều đó.
Cô ấy đã hoàn thành việc bổ sung.
Nhận cam kết.
Hoàn nguyên về tiêu đề cũ.
Hoàn hảo.
Và sau đó cô ấy sẽ thực hiện thúc đẩy.
Ồ, thực ra, hãy làm rõ điều đó trước.
Và chúng tôi nhận được sự thúc đẩy.
Lần đầu tiên bạn gặp phải điều này, bạn có thể gặp lỗi này nói rằng không có ngược dòng.
Bạn chỉ cần sao chép mã mà họ cung cấp cho bạn ở đây.
Hoàn hảo.
Bây giờ, nếu tôi quay trở lại.
Quay lại máy phát điện.
Tôi thấy yêu cầu kéo tính năng lớn ở đây.
Và chỉ để cho bạn thấy rằng bạn có thể có nhiều cam kết, giả sử Marcy quyết định, ồ, đây là
tôi.
Marcy quyết định thêm một dấu chấm than vào đây.
Cô ấy chỉ có thể nói một lần nữa, cô ấy tiết kiệm điều này.
Đó là rõ ràng.
Cô ấy sẽ nói nhận được thêm.
Nhận cam kết.
Bạn làm điều này rất nhiều vì vậy bạn sẽ thực sự rất, rất giỏi sau
khi làm việc trong công ty một thời gian và cô ấy sẽ nói Thêm X cảm thán.
Ối.
Vì vậy, những gì tôi muốn làm, nhận được cam kết.
Làm.
Thêm dấu chấm than.
Và cô ấy sẽ lại bị đẩy.
Và hãy quay lại để được trợ giúp.
Nếu chúng tôi xem xét yêu cầu kém, họ sẽ thực sự đưa cả hai yêu cầu này trở lại tiêu đề cũ và thêm
vào nó dấu chấm than.
Và chúng ta thấy ở đây cả hai thay đổi tạo ra yêu cầu kéo cần thay đổi.
Andre.
Vì vậy, trong khi yêu cầu thăm dò này là ra khỏi đó.
Tôi quyết định thành lập một chi nhánh mới có tên là Hãy tạm gọi nó là xung đột.
Và tôi sẽ kiểm tra xung đột.
Và bây giờ trong nhánh xung đột.
Tôi quyết định thay đổi.
Điều này chỉ để loại bỏ hoàn toàn bộ tạo mát.
Tôi tiết kiệm đó?
Lại.
Tôi kiểm tra trạng thái và chỉ mục của mình. tệp html đã được thay đổi.
Vì vậy, trong khi điều này đang xảy ra, tôi nhận được marci hợp nhất để kéo yêu cầu.
Vì vậy, cô ấy đã nhập nó vào chủ.
Yêu cầu kéo của cô ấy là trong.
Và bây giờ nếu tôi quay lại cuộc xung đột của mình và tôi có được trạng thái.
Và chúng ta phải thêm những thứ này.
Vì vậy, nhận được thêm, sau đó nhận được cam kết.
Tôi chỉ viết một tin nhắn ngắn ở đây.
Chỉ kiểm tra thôi.
Và bây giờ nếu tôi quay lại với Sư phụ.
Ồ, tôi phải làm.
Nhận thanh toán ra, làm chủ một lần nữa.
Trước khi thực hiện các thay đổi của mình, tôi muốn đảm bảo rằng mình có phiên bản chính mới nhất.
Vì vậy, tôi không thay đổi bất cứ điều gì.
Tôi sẽ không có bất kỳ xung đột nào.
Vì vậy, tôi sẽ kéo để có được thông tin mới nhất.
Và bây giờ tôi đi để trả phòng.
Nhánh xung đột.
Và tôi có thể làm lệnh này nhận được.
Hợp nhất chủ.
Vì vậy, tôi đang nói rằng hợp nhất bất cứ điều gì là chủ vào xung đột.
Marci đã làm việc trên một tính năng lớn và cô ấy đã hợp nhất nó.
Vì vậy, bây giờ Master có nhánh tính năng lớn.
Tôi cũng đã tạo một nhánh khác và tôi đang tự làm việc trên nhánh xung đột.
Và nhánh xung đột không biết gì về chủ nhân.
Vì vậy, tôi đang nói, này, bất cứ thứ gì có trong Master ngay bây giờ, bao gồm tính năng lớn mà Marci
đã làm việc, hãy kéo nó vào và đảm bảo rằng không có xung đột.
Vì vậy, tôi làm điều đó.
Và ồ tôi nhận được xung đột hợp nhất xung đột và chỉ mục. tệp html.
Bây giờ nếu tôi thực sự nhấp vào văn bản siêu phàm, hãy để tôi mở nó ra để bạn có thể nhìn thấy nó rõ hơn.
Oh Boy.
Tôi nhận được cú pháp nhỏ kỳ lạ này.
Thoạt đầu thật choáng ngợp, nhưng thật dễ dàng để xem điều gì đang xảy ra.
Head là nơi chi nhánh của tôi đang ở và nó cho tôi thấy rằng ở đây cho đến cuối cùng tôi không còn H nữa.
Nhưng trong nhánh chính, chúng ta có trình tạo nền.
Bây giờ tôi có thể nói chuyện với Marcy và nói, Này, Marcy, bạn có muốn giữ tiêu đề trình tạo nền không?
Và cô ấy sẽ nói, Vâng, đó là điều đúng đắn nên làm.
Không thay đổi nền.
Vâng, trong trường hợp đó, tôi chỉ cần loại bỏ những dòng này.
Và loại bỏ điều này.
Và lưu.
Bây giờ, nếu tôi nhận được.
Tình trạng bây giờ.
Được chứ.
Chúng tôi có trạng thái sửa đổi ở đây.
Hãy để tôi chỉ làm cho điều này nhỏ hơn một lần nữa để bạn có thể thấy.
Vì vậy, hãy để tôi làm rõ điều này.
Những gì chúng tôi làm bây giờ là chúng tôi phải làm thêm một lần nữa vì chúng tôi đã thực hiện những thay
đổi đó và chúng tôi phải thực hiện cam kết sửa chữa, vấn đề hợp nhất.
Và tôi đã quên.
Hãy thử lại lần nữa.
Và.
Xung đột khắc phục sự cố hợp nhất.
Hãy xóa ở đây và nhận trạng thái.
Không có gì để cam kết, làm việc để làm sạch.
Và nếu tôi bị đẩy, thì, một lần nữa, tôi lại gặp lỗi này.
Nhưng tôi muốn cho bạn thấy lần này, nếu tôi nhận được xung đột nguồn gốc đẩy.
Bây giờ nó hoạt động.
Hãy quay lại GitHub.
Xem chúng tôi có những thứ gì.
Chúng ta có nhánh xung đột và nếu chúng ta nhìn vào nhánh xung đột bây giờ, tốt, không có gì thay đổi bởi vì tôi chỉ
hoàn nguyên tất cả các thay đổi của mình.
Vì vậy, nó hoàn toàn trống rỗng.
Không có thay đổi nào bây giờ.
Vì vậy, Marcy sẽ nói, Này, bạn có phải là, để thực hiện PR này, nó trống rỗng.
Vì vậy, tôi sẽ thấy thông điệp này trên PR của mình và tôi có thể tiếp tục.
Và đó là phần lớn quy trình làm việc mà bạn sẽ thấy trong GET.
Tôi sẽ để lại các lệnh cho bạn sau này.
Nhưng bạn thấy đấy, rất rất rất rất là rất tuyệt khi được làm việc với bạn, học một vài
lệnh và miễn là bạn có mô hình trực quan này mỗi khi bạn làm việc gì đó, bạn luôn tạo ra một nhánh.
Bạn đặt tiêu đề cho nó với bất kỳ tính năng nào bạn đang làm việc.
Và thỉnh thoảng, bạn muốn kéo master và hợp nhất master vào nhánh của mình để đảm bảo rằng bạn không bỏ lỡ bất kỳ bản cập nhật
nào mà các nhà phát triển hoặc đồng đội khác đã thực hiện.
Khi bạn đã hoàn tất tính năng của mình, bạn thực hiện yêu cầu kéo bằng cách thực hiện nhận đẩy và yêu cầu kéo đó bạn sẽ thêm
nhận xét và mọi người sẽ xem xét các thay đổi tệp của bạn.
Và nếu họ muốn bạn thực hiện một vài thay đổi, thì bạn có thể thực hiện lại, lấy, thêm, nhận cam kết.
Cuối cùng thực hiện các thay đổi của bạn và sau đó bạn có thể hợp nhất, kéo, yêu cầu.
Và một khi điều đó hoàn thành thì tất cả những người khác trong đội, giờ sẽ có một bậc thầy mới.
Vì vậy, tất cả những người khác trong nhóm cũng nên kéo.
Phải mất một chút thời gian để làm quen, nhưng đây là một quy trình làm việc thực sự, rất
tốt để đảm bảo rằng mọi người trong nhóm làm việc trên cùng một tệp, cùng một dự án, mà không gây ra bất kỳ lỗi nào
và đảm bảo rằng mọi người cộng tác tốt.
Và đó là nó.
Tôi hy vọng bạn thấy điều này hữu ích.
Hẹn gặp lại các bạn trong phần tiếp theo.
Tạm biệt.